github.com/Onther-Tech/plasma-evm@v0.0.0-rc7.7/contracts/plasma/wton/wton.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 wton 5 6 import ( 7 "math/big" 8 "strings" 9 10 "github.com/Onther-Tech/plasma-evm" 11 "github.com/Onther-Tech/plasma-evm/accounts/abi" 12 "github.com/Onther-Tech/plasma-evm/accounts/abi/bind" 13 "github.com/Onther-Tech/plasma-evm/common" 14 "github.com/Onther-Tech/plasma-evm/core/types" 15 "github.com/Onther-Tech/plasma-evm/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = abi.U256 24 _ = bind.Bind 25 _ = common.Big1 26 _ = types.BloomLookup 27 _ = event.NewSubscription 28 ) 29 30 // AddressABI is the input ABI used to generate the binding from. 31 const AddressABI = "[]" 32 33 // AddressBin is the compiled bytecode used for deploying new contracts. 34 var AddressBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820caa83848f6f3a88a061ce398577e989d5da9a19232f9e00175de410a704b86e164736f6c634300050c0032" 35 36 // DeployAddress deploys a new Ethereum contract, binding an instance of Address to it. 37 func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { 38 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 39 if err != nil { 40 return common.Address{}, nil, nil, err 41 } 42 43 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(AddressBin), backend) 44 if err != nil { 45 return common.Address{}, nil, nil, err 46 } 47 return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 48 } 49 50 // Address is an auto generated Go binding around an Ethereum contract. 51 type Address struct { 52 AddressCaller // Read-only binding to the contract 53 AddressTransactor // Write-only binding to the contract 54 AddressFilterer // Log filterer for contract events 55 } 56 57 // AddressCaller is an auto generated read-only Go binding around an Ethereum contract. 58 type AddressCaller struct { 59 contract *bind.BoundContract // Generic contract wrapper for the low level calls 60 } 61 62 // AddressTransactor is an auto generated write-only Go binding around an Ethereum contract. 63 type AddressTransactor struct { 64 contract *bind.BoundContract // Generic contract wrapper for the low level calls 65 } 66 67 // AddressFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 68 type AddressFilterer struct { 69 contract *bind.BoundContract // Generic contract wrapper for the low level calls 70 } 71 72 // AddressSession is an auto generated Go binding around an Ethereum contract, 73 // with pre-set call and transact options. 74 type AddressSession struct { 75 Contract *Address // Generic contract binding to set the session for 76 CallOpts bind.CallOpts // Call options to use throughout this session 77 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 78 } 79 80 // AddressCallerSession is an auto generated read-only Go binding around an Ethereum contract, 81 // with pre-set call options. 82 type AddressCallerSession struct { 83 Contract *AddressCaller // Generic contract caller binding to set the session for 84 CallOpts bind.CallOpts // Call options to use throughout this session 85 } 86 87 // AddressTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 88 // with pre-set transact options. 89 type AddressTransactorSession struct { 90 Contract *AddressTransactor // Generic contract transactor binding to set the session for 91 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 92 } 93 94 // AddressRaw is an auto generated low-level Go binding around an Ethereum contract. 95 type AddressRaw struct { 96 Contract *Address // Generic contract binding to access the raw methods on 97 } 98 99 // AddressCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 100 type AddressCallerRaw struct { 101 Contract *AddressCaller // Generic read-only contract binding to access the raw methods on 102 } 103 104 // AddressTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 105 type AddressTransactorRaw struct { 106 Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on 107 } 108 109 // NewAddress creates a new instance of Address, bound to a specific deployed contract. 110 func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { 111 contract, err := bindAddress(address, backend, backend, backend) 112 if err != nil { 113 return nil, err 114 } 115 return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 116 } 117 118 // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. 119 func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { 120 contract, err := bindAddress(address, caller, nil, nil) 121 if err != nil { 122 return nil, err 123 } 124 return &AddressCaller{contract: contract}, nil 125 } 126 127 // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. 128 func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { 129 contract, err := bindAddress(address, nil, transactor, nil) 130 if err != nil { 131 return nil, err 132 } 133 return &AddressTransactor{contract: contract}, nil 134 } 135 136 // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. 137 func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { 138 contract, err := bindAddress(address, nil, nil, filterer) 139 if err != nil { 140 return nil, err 141 } 142 return &AddressFilterer{contract: contract}, nil 143 } 144 145 // bindAddress binds a generic wrapper to an already deployed contract. 146 func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 147 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 148 if err != nil { 149 return nil, err 150 } 151 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 152 } 153 154 // Call invokes the (constant) contract method with params as input values and 155 // sets the output to result. The result type might be a single field for simple 156 // returns, a slice of interfaces for anonymous returns and a struct for named 157 // returns. 158 func (_Address *AddressRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 159 return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) 160 } 161 162 // Transfer initiates a plain transaction to move funds to the contract, calling 163 // its default method if one is available. 164 func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 165 return _Address.Contract.AddressTransactor.contract.Transfer(opts) 166 } 167 168 // Transact invokes the (paid) contract method with params as input values. 169 func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 170 return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) 171 } 172 173 // Call invokes the (constant) contract method with params as input values and 174 // sets the output to result. The result type might be a single field for simple 175 // returns, a slice of interfaces for anonymous returns and a struct for named 176 // returns. 177 func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 178 return _Address.Contract.contract.Call(opts, result, method, params...) 179 } 180 181 // Transfer initiates a plain transaction to move funds to the contract, calling 182 // its default method if one is available. 183 func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 184 return _Address.Contract.contract.Transfer(opts) 185 } 186 187 // Transact invokes the (paid) contract method with params as input values. 188 func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 189 return _Address.Contract.contract.Transact(opts, method, params...) 190 } 191 192 // AuthControllerABI is the input ABI used to generate the binding from. 193 const AuthControllerABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 194 195 // AuthControllerFuncSigs maps the 4-byte function signature to its string representation. 196 var AuthControllerFuncSigs = map[string]string{ 197 "8f32d59b": "isOwner()", 198 "8da5cb5b": "owner()", 199 "5f112c68": "renounceMinter(address)", 200 "715018a6": "renounceOwnership()", 201 "38bf3cfa": "renounceOwnership(address)", 202 "41eb24bb": "renouncePauser(address)", 203 "f2fde38b": "transferOwnership(address)", 204 "6d435421": "transferOwnership(address,address)", 205 } 206 207 // AuthControllerBin is the compiled bytecode used for deploying new contracts. 208 var AuthControllerBin = "0x608060405260006100176001600160e01b0361006616565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006a565b3390565b61062f806100796000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063715018a61161005b578063715018a61461012f5780638da5cb5b146101375780638f32d59b1461015b578063f2fde38b1461017757610088565b806338bf3cfa1461008d57806341eb24bb146100b55780635f112c68146100db5780636d43542114610101575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b031661019d565b005b6100b3600480360360208110156100cb57600080fd5b50356001600160a01b031661023a565b6100b3600480360360208110156100f157600080fd5b50356001600160a01b03166102bc565b6100b36004803603604081101561011757600080fd5b506001600160a01b038135811691602001351661033e565b6100b36103f9565b61013f61048a565b604080516001600160a01b039092168252519081900360200190f35b610163610499565b604080519115158252519081900360200190f35b6100b36004803603602081101561018d57600080fd5b50356001600160a01b03166104bd565b6101a5610499565b6101e4576040805162461bcd60e51b815260206004820181905260248201526000805160206105db833981519152604482015290519081900360640190fd5b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561021f57600080fd5b505af1158015610233573d6000803e3d6000fd5b5050505050565b610242610499565b610281576040805162461bcd60e51b815260206004820181905260248201526000805160206105db833981519152604482015290519081900360640190fd5b806001600160a01b0316636ef8d66d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561021f57600080fd5b6102c4610499565b610303576040805162461bcd60e51b815260206004820181905260248201526000805160206105db833981519152604482015290519081900360640190fd5b806001600160a01b031663986502756040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561021f57600080fd5b610346610499565b610385576040805162461bcd60e51b815260206004820181905260248201526000805160206105db833981519152604482015290519081900360640190fd5b816001600160a01b031663f2fde38b826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156103dd57600080fd5b505af11580156103f1573d6000803e3d6000fd5b505050505050565b610401610499565b610440576040805162461bcd60e51b815260206004820181905260248201526000805160206105db833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600080546001600160a01b03166104ae610510565b6001600160a01b031614905090565b6104c5610499565b610504576040805162461bcd60e51b815260206004820181905260248201526000805160206105db833981519152604482015290519081900360640190fd5b61050d81610514565b50565b3390565b6001600160a01b0381166105595760405162461bcd60e51b81526004018080602001828103825260268152602001806105b56026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a72315820f5dbf027aa9fb336aafe169eae7ece5653dd467fdb8b8d677f8775fa7b10105264736f6c634300050c0032" 209 210 // DeployAuthController deploys a new Ethereum contract, binding an instance of AuthController to it. 211 func DeployAuthController(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *AuthController, error) { 212 parsed, err := abi.JSON(strings.NewReader(AuthControllerABI)) 213 if err != nil { 214 return common.Address{}, nil, nil, err 215 } 216 217 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(AuthControllerBin), backend) 218 if err != nil { 219 return common.Address{}, nil, nil, err 220 } 221 return address, tx, &AuthController{AuthControllerCaller: AuthControllerCaller{contract: contract}, AuthControllerTransactor: AuthControllerTransactor{contract: contract}, AuthControllerFilterer: AuthControllerFilterer{contract: contract}}, nil 222 } 223 224 // AuthController is an auto generated Go binding around an Ethereum contract. 225 type AuthController struct { 226 AuthControllerCaller // Read-only binding to the contract 227 AuthControllerTransactor // Write-only binding to the contract 228 AuthControllerFilterer // Log filterer for contract events 229 } 230 231 // AuthControllerCaller is an auto generated read-only Go binding around an Ethereum contract. 232 type AuthControllerCaller struct { 233 contract *bind.BoundContract // Generic contract wrapper for the low level calls 234 } 235 236 // AuthControllerTransactor is an auto generated write-only Go binding around an Ethereum contract. 237 type AuthControllerTransactor struct { 238 contract *bind.BoundContract // Generic contract wrapper for the low level calls 239 } 240 241 // AuthControllerFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 242 type AuthControllerFilterer struct { 243 contract *bind.BoundContract // Generic contract wrapper for the low level calls 244 } 245 246 // AuthControllerSession is an auto generated Go binding around an Ethereum contract, 247 // with pre-set call and transact options. 248 type AuthControllerSession struct { 249 Contract *AuthController // Generic contract binding to set the session for 250 CallOpts bind.CallOpts // Call options to use throughout this session 251 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 252 } 253 254 // AuthControllerCallerSession is an auto generated read-only Go binding around an Ethereum contract, 255 // with pre-set call options. 256 type AuthControllerCallerSession struct { 257 Contract *AuthControllerCaller // Generic contract caller binding to set the session for 258 CallOpts bind.CallOpts // Call options to use throughout this session 259 } 260 261 // AuthControllerTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 262 // with pre-set transact options. 263 type AuthControllerTransactorSession struct { 264 Contract *AuthControllerTransactor // Generic contract transactor binding to set the session for 265 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 266 } 267 268 // AuthControllerRaw is an auto generated low-level Go binding around an Ethereum contract. 269 type AuthControllerRaw struct { 270 Contract *AuthController // Generic contract binding to access the raw methods on 271 } 272 273 // AuthControllerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 274 type AuthControllerCallerRaw struct { 275 Contract *AuthControllerCaller // Generic read-only contract binding to access the raw methods on 276 } 277 278 // AuthControllerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 279 type AuthControllerTransactorRaw struct { 280 Contract *AuthControllerTransactor // Generic write-only contract binding to access the raw methods on 281 } 282 283 // NewAuthController creates a new instance of AuthController, bound to a specific deployed contract. 284 func NewAuthController(address common.Address, backend bind.ContractBackend) (*AuthController, error) { 285 contract, err := bindAuthController(address, backend, backend, backend) 286 if err != nil { 287 return nil, err 288 } 289 return &AuthController{AuthControllerCaller: AuthControllerCaller{contract: contract}, AuthControllerTransactor: AuthControllerTransactor{contract: contract}, AuthControllerFilterer: AuthControllerFilterer{contract: contract}}, nil 290 } 291 292 // NewAuthControllerCaller creates a new read-only instance of AuthController, bound to a specific deployed contract. 293 func NewAuthControllerCaller(address common.Address, caller bind.ContractCaller) (*AuthControllerCaller, error) { 294 contract, err := bindAuthController(address, caller, nil, nil) 295 if err != nil { 296 return nil, err 297 } 298 return &AuthControllerCaller{contract: contract}, nil 299 } 300 301 // NewAuthControllerTransactor creates a new write-only instance of AuthController, bound to a specific deployed contract. 302 func NewAuthControllerTransactor(address common.Address, transactor bind.ContractTransactor) (*AuthControllerTransactor, error) { 303 contract, err := bindAuthController(address, nil, transactor, nil) 304 if err != nil { 305 return nil, err 306 } 307 return &AuthControllerTransactor{contract: contract}, nil 308 } 309 310 // NewAuthControllerFilterer creates a new log filterer instance of AuthController, bound to a specific deployed contract. 311 func NewAuthControllerFilterer(address common.Address, filterer bind.ContractFilterer) (*AuthControllerFilterer, error) { 312 contract, err := bindAuthController(address, nil, nil, filterer) 313 if err != nil { 314 return nil, err 315 } 316 return &AuthControllerFilterer{contract: contract}, nil 317 } 318 319 // bindAuthController binds a generic wrapper to an already deployed contract. 320 func bindAuthController(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 321 parsed, err := abi.JSON(strings.NewReader(AuthControllerABI)) 322 if err != nil { 323 return nil, err 324 } 325 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 326 } 327 328 // Call invokes the (constant) contract method with params as input values and 329 // sets the output to result. The result type might be a single field for simple 330 // returns, a slice of interfaces for anonymous returns and a struct for named 331 // returns. 332 func (_AuthController *AuthControllerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 333 return _AuthController.Contract.AuthControllerCaller.contract.Call(opts, result, method, params...) 334 } 335 336 // Transfer initiates a plain transaction to move funds to the contract, calling 337 // its default method if one is available. 338 func (_AuthController *AuthControllerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 339 return _AuthController.Contract.AuthControllerTransactor.contract.Transfer(opts) 340 } 341 342 // Transact invokes the (paid) contract method with params as input values. 343 func (_AuthController *AuthControllerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 344 return _AuthController.Contract.AuthControllerTransactor.contract.Transact(opts, method, params...) 345 } 346 347 // Call invokes the (constant) contract method with params as input values and 348 // sets the output to result. The result type might be a single field for simple 349 // returns, a slice of interfaces for anonymous returns and a struct for named 350 // returns. 351 func (_AuthController *AuthControllerCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 352 return _AuthController.Contract.contract.Call(opts, result, method, params...) 353 } 354 355 // Transfer initiates a plain transaction to move funds to the contract, calling 356 // its default method if one is available. 357 func (_AuthController *AuthControllerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 358 return _AuthController.Contract.contract.Transfer(opts) 359 } 360 361 // Transact invokes the (paid) contract method with params as input values. 362 func (_AuthController *AuthControllerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 363 return _AuthController.Contract.contract.Transact(opts, method, params...) 364 } 365 366 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 367 // 368 // Solidity: function isOwner() constant returns(bool) 369 func (_AuthController *AuthControllerCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 370 var ( 371 ret0 = new(bool) 372 ) 373 out := ret0 374 err := _AuthController.contract.Call(opts, out, "isOwner") 375 return *ret0, err 376 } 377 378 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 379 // 380 // Solidity: function isOwner() constant returns(bool) 381 func (_AuthController *AuthControllerSession) IsOwner() (bool, error) { 382 return _AuthController.Contract.IsOwner(&_AuthController.CallOpts) 383 } 384 385 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 386 // 387 // Solidity: function isOwner() constant returns(bool) 388 func (_AuthController *AuthControllerCallerSession) IsOwner() (bool, error) { 389 return _AuthController.Contract.IsOwner(&_AuthController.CallOpts) 390 } 391 392 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 393 // 394 // Solidity: function owner() constant returns(address) 395 func (_AuthController *AuthControllerCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 396 var ( 397 ret0 = new(common.Address) 398 ) 399 out := ret0 400 err := _AuthController.contract.Call(opts, out, "owner") 401 return *ret0, err 402 } 403 404 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 405 // 406 // Solidity: function owner() constant returns(address) 407 func (_AuthController *AuthControllerSession) Owner() (common.Address, error) { 408 return _AuthController.Contract.Owner(&_AuthController.CallOpts) 409 } 410 411 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 412 // 413 // Solidity: function owner() constant returns(address) 414 func (_AuthController *AuthControllerCallerSession) Owner() (common.Address, error) { 415 return _AuthController.Contract.Owner(&_AuthController.CallOpts) 416 } 417 418 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 419 // 420 // Solidity: function renounceMinter(address target) returns() 421 func (_AuthController *AuthControllerTransactor) RenounceMinter(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 422 return _AuthController.contract.Transact(opts, "renounceMinter", target) 423 } 424 425 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 426 // 427 // Solidity: function renounceMinter(address target) returns() 428 func (_AuthController *AuthControllerSession) RenounceMinter(target common.Address) (*types.Transaction, error) { 429 return _AuthController.Contract.RenounceMinter(&_AuthController.TransactOpts, target) 430 } 431 432 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 433 // 434 // Solidity: function renounceMinter(address target) returns() 435 func (_AuthController *AuthControllerTransactorSession) RenounceMinter(target common.Address) (*types.Transaction, error) { 436 return _AuthController.Contract.RenounceMinter(&_AuthController.TransactOpts, target) 437 } 438 439 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 440 // 441 // Solidity: function renounceOwnership(address target) returns() 442 func (_AuthController *AuthControllerTransactor) RenounceOwnership(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 443 return _AuthController.contract.Transact(opts, "renounceOwnership", target) 444 } 445 446 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 447 // 448 // Solidity: function renounceOwnership(address target) returns() 449 func (_AuthController *AuthControllerSession) RenounceOwnership(target common.Address) (*types.Transaction, error) { 450 return _AuthController.Contract.RenounceOwnership(&_AuthController.TransactOpts, target) 451 } 452 453 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 454 // 455 // Solidity: function renounceOwnership(address target) returns() 456 func (_AuthController *AuthControllerTransactorSession) RenounceOwnership(target common.Address) (*types.Transaction, error) { 457 return _AuthController.Contract.RenounceOwnership(&_AuthController.TransactOpts, target) 458 } 459 460 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 461 // 462 // Solidity: function renounceOwnership() returns() 463 func (_AuthController *AuthControllerTransactor) RenounceOwnership0(opts *bind.TransactOpts) (*types.Transaction, error) { 464 return _AuthController.contract.Transact(opts, "renounceOwnership0") 465 } 466 467 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 468 // 469 // Solidity: function renounceOwnership() returns() 470 func (_AuthController *AuthControllerSession) RenounceOwnership0() (*types.Transaction, error) { 471 return _AuthController.Contract.RenounceOwnership0(&_AuthController.TransactOpts) 472 } 473 474 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 475 // 476 // Solidity: function renounceOwnership() returns() 477 func (_AuthController *AuthControllerTransactorSession) RenounceOwnership0() (*types.Transaction, error) { 478 return _AuthController.Contract.RenounceOwnership0(&_AuthController.TransactOpts) 479 } 480 481 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 482 // 483 // Solidity: function renouncePauser(address target) returns() 484 func (_AuthController *AuthControllerTransactor) RenouncePauser(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 485 return _AuthController.contract.Transact(opts, "renouncePauser", target) 486 } 487 488 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 489 // 490 // Solidity: function renouncePauser(address target) returns() 491 func (_AuthController *AuthControllerSession) RenouncePauser(target common.Address) (*types.Transaction, error) { 492 return _AuthController.Contract.RenouncePauser(&_AuthController.TransactOpts, target) 493 } 494 495 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 496 // 497 // Solidity: function renouncePauser(address target) returns() 498 func (_AuthController *AuthControllerTransactorSession) RenouncePauser(target common.Address) (*types.Transaction, error) { 499 return _AuthController.Contract.RenouncePauser(&_AuthController.TransactOpts, target) 500 } 501 502 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 503 // 504 // Solidity: function transferOwnership(address target, address newOwner) returns() 505 func (_AuthController *AuthControllerTransactor) TransferOwnership(opts *bind.TransactOpts, target common.Address, newOwner common.Address) (*types.Transaction, error) { 506 return _AuthController.contract.Transact(opts, "transferOwnership", target, newOwner) 507 } 508 509 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 510 // 511 // Solidity: function transferOwnership(address target, address newOwner) returns() 512 func (_AuthController *AuthControllerSession) TransferOwnership(target common.Address, newOwner common.Address) (*types.Transaction, error) { 513 return _AuthController.Contract.TransferOwnership(&_AuthController.TransactOpts, target, newOwner) 514 } 515 516 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 517 // 518 // Solidity: function transferOwnership(address target, address newOwner) returns() 519 func (_AuthController *AuthControllerTransactorSession) TransferOwnership(target common.Address, newOwner common.Address) (*types.Transaction, error) { 520 return _AuthController.Contract.TransferOwnership(&_AuthController.TransactOpts, target, newOwner) 521 } 522 523 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 524 // 525 // Solidity: function transferOwnership(address newOwner) returns() 526 func (_AuthController *AuthControllerTransactor) TransferOwnership0(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 527 return _AuthController.contract.Transact(opts, "transferOwnership0", newOwner) 528 } 529 530 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 531 // 532 // Solidity: function transferOwnership(address newOwner) returns() 533 func (_AuthController *AuthControllerSession) TransferOwnership0(newOwner common.Address) (*types.Transaction, error) { 534 return _AuthController.Contract.TransferOwnership0(&_AuthController.TransactOpts, newOwner) 535 } 536 537 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 538 // 539 // Solidity: function transferOwnership(address newOwner) returns() 540 func (_AuthController *AuthControllerTransactorSession) TransferOwnership0(newOwner common.Address) (*types.Transaction, error) { 541 return _AuthController.Contract.TransferOwnership0(&_AuthController.TransactOpts, newOwner) 542 } 543 544 // AuthControllerOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the AuthController contract. 545 type AuthControllerOwnershipTransferredIterator struct { 546 Event *AuthControllerOwnershipTransferred // Event containing the contract specifics and raw log 547 548 contract *bind.BoundContract // Generic contract to use for unpacking event data 549 event string // Event name to use for unpacking event data 550 551 logs chan types.Log // Log channel receiving the found contract events 552 sub ethereum.Subscription // Subscription for errors, completion and termination 553 done bool // Whether the subscription completed delivering logs 554 fail error // Occurred error to stop iteration 555 } 556 557 // Next advances the iterator to the subsequent event, returning whether there 558 // are any more events found. In case of a retrieval or parsing error, false is 559 // returned and Error() can be queried for the exact failure. 560 func (it *AuthControllerOwnershipTransferredIterator) Next() bool { 561 // If the iterator failed, stop iterating 562 if it.fail != nil { 563 return false 564 } 565 // If the iterator completed, deliver directly whatever's available 566 if it.done { 567 select { 568 case log := <-it.logs: 569 it.Event = new(AuthControllerOwnershipTransferred) 570 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 571 it.fail = err 572 return false 573 } 574 it.Event.Raw = log 575 return true 576 577 default: 578 return false 579 } 580 } 581 // Iterator still in progress, wait for either a data or an error event 582 select { 583 case log := <-it.logs: 584 it.Event = new(AuthControllerOwnershipTransferred) 585 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 586 it.fail = err 587 return false 588 } 589 it.Event.Raw = log 590 return true 591 592 case err := <-it.sub.Err(): 593 it.done = true 594 it.fail = err 595 return it.Next() 596 } 597 } 598 599 // Error returns any retrieval or parsing error occurred during filtering. 600 func (it *AuthControllerOwnershipTransferredIterator) Error() error { 601 return it.fail 602 } 603 604 // Close terminates the iteration process, releasing any pending underlying 605 // resources. 606 func (it *AuthControllerOwnershipTransferredIterator) Close() error { 607 it.sub.Unsubscribe() 608 return nil 609 } 610 611 // AuthControllerOwnershipTransferred represents a OwnershipTransferred event raised by the AuthController contract. 612 type AuthControllerOwnershipTransferred struct { 613 PreviousOwner common.Address 614 NewOwner common.Address 615 Raw types.Log // Blockchain specific contextual infos 616 } 617 618 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 619 // 620 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 621 func (_AuthController *AuthControllerFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*AuthControllerOwnershipTransferredIterator, error) { 622 623 var previousOwnerRule []interface{} 624 for _, previousOwnerItem := range previousOwner { 625 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 626 } 627 var newOwnerRule []interface{} 628 for _, newOwnerItem := range newOwner { 629 newOwnerRule = append(newOwnerRule, newOwnerItem) 630 } 631 632 logs, sub, err := _AuthController.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 633 if err != nil { 634 return nil, err 635 } 636 return &AuthControllerOwnershipTransferredIterator{contract: _AuthController.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 637 } 638 639 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 640 // 641 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 642 func (_AuthController *AuthControllerFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *AuthControllerOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 643 644 var previousOwnerRule []interface{} 645 for _, previousOwnerItem := range previousOwner { 646 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 647 } 648 var newOwnerRule []interface{} 649 for _, newOwnerItem := range newOwner { 650 newOwnerRule = append(newOwnerRule, newOwnerItem) 651 } 652 653 logs, sub, err := _AuthController.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 654 if err != nil { 655 return nil, err 656 } 657 return event.NewSubscription(func(quit <-chan struct{}) error { 658 defer sub.Unsubscribe() 659 for { 660 select { 661 case log := <-logs: 662 // New log arrived, parse the event and forward to the user 663 event := new(AuthControllerOwnershipTransferred) 664 if err := _AuthController.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 665 return err 666 } 667 event.Raw = log 668 669 select { 670 case sink <- event: 671 case err := <-sub.Err(): 672 return err 673 case <-quit: 674 return nil 675 } 676 case err := <-sub.Err(): 677 return err 678 case <-quit: 679 return nil 680 } 681 } 682 }), nil 683 } 684 685 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 686 // 687 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 688 func (_AuthController *AuthControllerFilterer) ParseOwnershipTransferred(log types.Log) (*AuthControllerOwnershipTransferred, error) { 689 event := new(AuthControllerOwnershipTransferred) 690 if err := _AuthController.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 691 return nil, err 692 } 693 return event, nil 694 } 695 696 // ContextABI is the input ABI used to generate the binding from. 697 const ContextABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" 698 699 // Context is an auto generated Go binding around an Ethereum contract. 700 type Context struct { 701 ContextCaller // Read-only binding to the contract 702 ContextTransactor // Write-only binding to the contract 703 ContextFilterer // Log filterer for contract events 704 } 705 706 // ContextCaller is an auto generated read-only Go binding around an Ethereum contract. 707 type ContextCaller struct { 708 contract *bind.BoundContract // Generic contract wrapper for the low level calls 709 } 710 711 // ContextTransactor is an auto generated write-only Go binding around an Ethereum contract. 712 type ContextTransactor struct { 713 contract *bind.BoundContract // Generic contract wrapper for the low level calls 714 } 715 716 // ContextFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 717 type ContextFilterer struct { 718 contract *bind.BoundContract // Generic contract wrapper for the low level calls 719 } 720 721 // ContextSession is an auto generated Go binding around an Ethereum contract, 722 // with pre-set call and transact options. 723 type ContextSession struct { 724 Contract *Context // Generic contract binding to set the session for 725 CallOpts bind.CallOpts // Call options to use throughout this session 726 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 727 } 728 729 // ContextCallerSession is an auto generated read-only Go binding around an Ethereum contract, 730 // with pre-set call options. 731 type ContextCallerSession struct { 732 Contract *ContextCaller // Generic contract caller binding to set the session for 733 CallOpts bind.CallOpts // Call options to use throughout this session 734 } 735 736 // ContextTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 737 // with pre-set transact options. 738 type ContextTransactorSession struct { 739 Contract *ContextTransactor // Generic contract transactor binding to set the session for 740 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 741 } 742 743 // ContextRaw is an auto generated low-level Go binding around an Ethereum contract. 744 type ContextRaw struct { 745 Contract *Context // Generic contract binding to access the raw methods on 746 } 747 748 // ContextCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 749 type ContextCallerRaw struct { 750 Contract *ContextCaller // Generic read-only contract binding to access the raw methods on 751 } 752 753 // ContextTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 754 type ContextTransactorRaw struct { 755 Contract *ContextTransactor // Generic write-only contract binding to access the raw methods on 756 } 757 758 // NewContext creates a new instance of Context, bound to a specific deployed contract. 759 func NewContext(address common.Address, backend bind.ContractBackend) (*Context, error) { 760 contract, err := bindContext(address, backend, backend, backend) 761 if err != nil { 762 return nil, err 763 } 764 return &Context{ContextCaller: ContextCaller{contract: contract}, ContextTransactor: ContextTransactor{contract: contract}, ContextFilterer: ContextFilterer{contract: contract}}, nil 765 } 766 767 // NewContextCaller creates a new read-only instance of Context, bound to a specific deployed contract. 768 func NewContextCaller(address common.Address, caller bind.ContractCaller) (*ContextCaller, error) { 769 contract, err := bindContext(address, caller, nil, nil) 770 if err != nil { 771 return nil, err 772 } 773 return &ContextCaller{contract: contract}, nil 774 } 775 776 // NewContextTransactor creates a new write-only instance of Context, bound to a specific deployed contract. 777 func NewContextTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextTransactor, error) { 778 contract, err := bindContext(address, nil, transactor, nil) 779 if err != nil { 780 return nil, err 781 } 782 return &ContextTransactor{contract: contract}, nil 783 } 784 785 // NewContextFilterer creates a new log filterer instance of Context, bound to a specific deployed contract. 786 func NewContextFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextFilterer, error) { 787 contract, err := bindContext(address, nil, nil, filterer) 788 if err != nil { 789 return nil, err 790 } 791 return &ContextFilterer{contract: contract}, nil 792 } 793 794 // bindContext binds a generic wrapper to an already deployed contract. 795 func bindContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 796 parsed, err := abi.JSON(strings.NewReader(ContextABI)) 797 if err != nil { 798 return nil, err 799 } 800 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 801 } 802 803 // Call invokes the (constant) contract method with params as input values and 804 // sets the output to result. The result type might be a single field for simple 805 // returns, a slice of interfaces for anonymous returns and a struct for named 806 // returns. 807 func (_Context *ContextRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 808 return _Context.Contract.ContextCaller.contract.Call(opts, result, method, params...) 809 } 810 811 // Transfer initiates a plain transaction to move funds to the contract, calling 812 // its default method if one is available. 813 func (_Context *ContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 814 return _Context.Contract.ContextTransactor.contract.Transfer(opts) 815 } 816 817 // Transact invokes the (paid) contract method with params as input values. 818 func (_Context *ContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 819 return _Context.Contract.ContextTransactor.contract.Transact(opts, method, params...) 820 } 821 822 // Call invokes the (constant) contract method with params as input values and 823 // sets the output to result. The result type might be a single field for simple 824 // returns, a slice of interfaces for anonymous returns and a struct for named 825 // returns. 826 func (_Context *ContextCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 827 return _Context.Contract.contract.Call(opts, result, method, params...) 828 } 829 830 // Transfer initiates a plain transaction to move funds to the contract, calling 831 // its default method if one is available. 832 func (_Context *ContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 833 return _Context.Contract.contract.Transfer(opts) 834 } 835 836 // Transact invokes the (paid) contract method with params as input values. 837 func (_Context *ContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 838 return _Context.Contract.contract.Transact(opts, method, params...) 839 } 840 841 // DSMathABI is the input ABI used to generate the binding from. 842 const DSMathABI = "[]" 843 844 // DSMathBin is the compiled bytecode used for deploying new contracts. 845 var DSMathBin = "0x6080604052348015600f57600080fd5b50603e80601d6000396000f3fe6080604052600080fdfea265627a7a723158201d3383a4efea7d4c911511edcc2240f991199f32cf3b3c855dd9ffb45f3f45a164736f6c634300050c0032" 846 847 // DeployDSMath deploys a new Ethereum contract, binding an instance of DSMath to it. 848 func DeployDSMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *DSMath, error) { 849 parsed, err := abi.JSON(strings.NewReader(DSMathABI)) 850 if err != nil { 851 return common.Address{}, nil, nil, err 852 } 853 854 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(DSMathBin), backend) 855 if err != nil { 856 return common.Address{}, nil, nil, err 857 } 858 return address, tx, &DSMath{DSMathCaller: DSMathCaller{contract: contract}, DSMathTransactor: DSMathTransactor{contract: contract}, DSMathFilterer: DSMathFilterer{contract: contract}}, nil 859 } 860 861 // DSMath is an auto generated Go binding around an Ethereum contract. 862 type DSMath struct { 863 DSMathCaller // Read-only binding to the contract 864 DSMathTransactor // Write-only binding to the contract 865 DSMathFilterer // Log filterer for contract events 866 } 867 868 // DSMathCaller is an auto generated read-only Go binding around an Ethereum contract. 869 type DSMathCaller struct { 870 contract *bind.BoundContract // Generic contract wrapper for the low level calls 871 } 872 873 // DSMathTransactor is an auto generated write-only Go binding around an Ethereum contract. 874 type DSMathTransactor struct { 875 contract *bind.BoundContract // Generic contract wrapper for the low level calls 876 } 877 878 // DSMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 879 type DSMathFilterer struct { 880 contract *bind.BoundContract // Generic contract wrapper for the low level calls 881 } 882 883 // DSMathSession is an auto generated Go binding around an Ethereum contract, 884 // with pre-set call and transact options. 885 type DSMathSession struct { 886 Contract *DSMath // Generic contract binding to set the session for 887 CallOpts bind.CallOpts // Call options to use throughout this session 888 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 889 } 890 891 // DSMathCallerSession is an auto generated read-only Go binding around an Ethereum contract, 892 // with pre-set call options. 893 type DSMathCallerSession struct { 894 Contract *DSMathCaller // Generic contract caller binding to set the session for 895 CallOpts bind.CallOpts // Call options to use throughout this session 896 } 897 898 // DSMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 899 // with pre-set transact options. 900 type DSMathTransactorSession struct { 901 Contract *DSMathTransactor // Generic contract transactor binding to set the session for 902 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 903 } 904 905 // DSMathRaw is an auto generated low-level Go binding around an Ethereum contract. 906 type DSMathRaw struct { 907 Contract *DSMath // Generic contract binding to access the raw methods on 908 } 909 910 // DSMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 911 type DSMathCallerRaw struct { 912 Contract *DSMathCaller // Generic read-only contract binding to access the raw methods on 913 } 914 915 // DSMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 916 type DSMathTransactorRaw struct { 917 Contract *DSMathTransactor // Generic write-only contract binding to access the raw methods on 918 } 919 920 // NewDSMath creates a new instance of DSMath, bound to a specific deployed contract. 921 func NewDSMath(address common.Address, backend bind.ContractBackend) (*DSMath, error) { 922 contract, err := bindDSMath(address, backend, backend, backend) 923 if err != nil { 924 return nil, err 925 } 926 return &DSMath{DSMathCaller: DSMathCaller{contract: contract}, DSMathTransactor: DSMathTransactor{contract: contract}, DSMathFilterer: DSMathFilterer{contract: contract}}, nil 927 } 928 929 // NewDSMathCaller creates a new read-only instance of DSMath, bound to a specific deployed contract. 930 func NewDSMathCaller(address common.Address, caller bind.ContractCaller) (*DSMathCaller, error) { 931 contract, err := bindDSMath(address, caller, nil, nil) 932 if err != nil { 933 return nil, err 934 } 935 return &DSMathCaller{contract: contract}, nil 936 } 937 938 // NewDSMathTransactor creates a new write-only instance of DSMath, bound to a specific deployed contract. 939 func NewDSMathTransactor(address common.Address, transactor bind.ContractTransactor) (*DSMathTransactor, error) { 940 contract, err := bindDSMath(address, nil, transactor, nil) 941 if err != nil { 942 return nil, err 943 } 944 return &DSMathTransactor{contract: contract}, nil 945 } 946 947 // NewDSMathFilterer creates a new log filterer instance of DSMath, bound to a specific deployed contract. 948 func NewDSMathFilterer(address common.Address, filterer bind.ContractFilterer) (*DSMathFilterer, error) { 949 contract, err := bindDSMath(address, nil, nil, filterer) 950 if err != nil { 951 return nil, err 952 } 953 return &DSMathFilterer{contract: contract}, nil 954 } 955 956 // bindDSMath binds a generic wrapper to an already deployed contract. 957 func bindDSMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 958 parsed, err := abi.JSON(strings.NewReader(DSMathABI)) 959 if err != nil { 960 return nil, err 961 } 962 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 963 } 964 965 // Call invokes the (constant) contract method with params as input values and 966 // sets the output to result. The result type might be a single field for simple 967 // returns, a slice of interfaces for anonymous returns and a struct for named 968 // returns. 969 func (_DSMath *DSMathRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 970 return _DSMath.Contract.DSMathCaller.contract.Call(opts, result, method, params...) 971 } 972 973 // Transfer initiates a plain transaction to move funds to the contract, calling 974 // its default method if one is available. 975 func (_DSMath *DSMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 976 return _DSMath.Contract.DSMathTransactor.contract.Transfer(opts) 977 } 978 979 // Transact invokes the (paid) contract method with params as input values. 980 func (_DSMath *DSMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 981 return _DSMath.Contract.DSMathTransactor.contract.Transact(opts, method, params...) 982 } 983 984 // Call invokes the (constant) contract method with params as input values and 985 // sets the output to result. The result type might be a single field for simple 986 // returns, a slice of interfaces for anonymous returns and a struct for named 987 // returns. 988 func (_DSMath *DSMathCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 989 return _DSMath.Contract.contract.Call(opts, result, method, params...) 990 } 991 992 // Transfer initiates a plain transaction to move funds to the contract, calling 993 // its default method if one is available. 994 func (_DSMath *DSMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 995 return _DSMath.Contract.contract.Transfer(opts) 996 } 997 998 // Transact invokes the (paid) contract method with params as input values. 999 func (_DSMath *DSMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1000 return _DSMath.Contract.contract.Transact(opts, method, params...) 1001 } 1002 1003 // ERC165ABI is the input ABI used to generate the binding from. 1004 const ERC165ABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 1005 1006 // ERC165FuncSigs maps the 4-byte function signature to its string representation. 1007 var ERC165FuncSigs = map[string]string{ 1008 "01ffc9a7": "supportsInterface(bytes4)", 1009 } 1010 1011 // ERC165 is an auto generated Go binding around an Ethereum contract. 1012 type ERC165 struct { 1013 ERC165Caller // Read-only binding to the contract 1014 ERC165Transactor // Write-only binding to the contract 1015 ERC165Filterer // Log filterer for contract events 1016 } 1017 1018 // ERC165Caller is an auto generated read-only Go binding around an Ethereum contract. 1019 type ERC165Caller struct { 1020 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1021 } 1022 1023 // ERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. 1024 type ERC165Transactor struct { 1025 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1026 } 1027 1028 // ERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 1029 type ERC165Filterer struct { 1030 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1031 } 1032 1033 // ERC165Session is an auto generated Go binding around an Ethereum contract, 1034 // with pre-set call and transact options. 1035 type ERC165Session struct { 1036 Contract *ERC165 // Generic contract binding to set the session for 1037 CallOpts bind.CallOpts // Call options to use throughout this session 1038 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1039 } 1040 1041 // ERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, 1042 // with pre-set call options. 1043 type ERC165CallerSession struct { 1044 Contract *ERC165Caller // Generic contract caller binding to set the session for 1045 CallOpts bind.CallOpts // Call options to use throughout this session 1046 } 1047 1048 // ERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1049 // with pre-set transact options. 1050 type ERC165TransactorSession struct { 1051 Contract *ERC165Transactor // Generic contract transactor binding to set the session for 1052 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1053 } 1054 1055 // ERC165Raw is an auto generated low-level Go binding around an Ethereum contract. 1056 type ERC165Raw struct { 1057 Contract *ERC165 // Generic contract binding to access the raw methods on 1058 } 1059 1060 // ERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1061 type ERC165CallerRaw struct { 1062 Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on 1063 } 1064 1065 // ERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1066 type ERC165TransactorRaw struct { 1067 Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on 1068 } 1069 1070 // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. 1071 func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { 1072 contract, err := bindERC165(address, backend, backend, backend) 1073 if err != nil { 1074 return nil, err 1075 } 1076 return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil 1077 } 1078 1079 // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. 1080 func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { 1081 contract, err := bindERC165(address, caller, nil, nil) 1082 if err != nil { 1083 return nil, err 1084 } 1085 return &ERC165Caller{contract: contract}, nil 1086 } 1087 1088 // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. 1089 func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { 1090 contract, err := bindERC165(address, nil, transactor, nil) 1091 if err != nil { 1092 return nil, err 1093 } 1094 return &ERC165Transactor{contract: contract}, nil 1095 } 1096 1097 // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. 1098 func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { 1099 contract, err := bindERC165(address, nil, nil, filterer) 1100 if err != nil { 1101 return nil, err 1102 } 1103 return &ERC165Filterer{contract: contract}, nil 1104 } 1105 1106 // bindERC165 binds a generic wrapper to an already deployed contract. 1107 func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1108 parsed, err := abi.JSON(strings.NewReader(ERC165ABI)) 1109 if err != nil { 1110 return nil, err 1111 } 1112 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1113 } 1114 1115 // Call invokes the (constant) contract method with params as input values and 1116 // sets the output to result. The result type might be a single field for simple 1117 // returns, a slice of interfaces for anonymous returns and a struct for named 1118 // returns. 1119 func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1120 return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...) 1121 } 1122 1123 // Transfer initiates a plain transaction to move funds to the contract, calling 1124 // its default method if one is available. 1125 func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1126 return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) 1127 } 1128 1129 // Transact invokes the (paid) contract method with params as input values. 1130 func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1131 return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...) 1132 } 1133 1134 // Call invokes the (constant) contract method with params as input values and 1135 // sets the output to result. The result type might be a single field for simple 1136 // returns, a slice of interfaces for anonymous returns and a struct for named 1137 // returns. 1138 func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1139 return _ERC165.Contract.contract.Call(opts, result, method, params...) 1140 } 1141 1142 // Transfer initiates a plain transaction to move funds to the contract, calling 1143 // its default method if one is available. 1144 func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1145 return _ERC165.Contract.contract.Transfer(opts) 1146 } 1147 1148 // Transact invokes the (paid) contract method with params as input values. 1149 func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1150 return _ERC165.Contract.contract.Transact(opts, method, params...) 1151 } 1152 1153 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1154 // 1155 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 1156 func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 1157 var ( 1158 ret0 = new(bool) 1159 ) 1160 out := ret0 1161 err := _ERC165.contract.Call(opts, out, "supportsInterface", interfaceId) 1162 return *ret0, err 1163 } 1164 1165 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1166 // 1167 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 1168 func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 1169 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 1170 } 1171 1172 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 1173 // 1174 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 1175 func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 1176 return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) 1177 } 1178 1179 // ERC165CheckerABI is the input ABI used to generate the binding from. 1180 const ERC165CheckerABI = "[]" 1181 1182 // ERC165CheckerBin is the compiled bytecode used for deploying new contracts. 1183 var ERC165CheckerBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ea851d268567a3ed8f55b193eb1a6f3028b7565ea2152c791833f991fbaa44e864736f6c634300050c0032" 1184 1185 // DeployERC165Checker deploys a new Ethereum contract, binding an instance of ERC165Checker to it. 1186 func DeployERC165Checker(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC165Checker, error) { 1187 parsed, err := abi.JSON(strings.NewReader(ERC165CheckerABI)) 1188 if err != nil { 1189 return common.Address{}, nil, nil, err 1190 } 1191 1192 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC165CheckerBin), backend) 1193 if err != nil { 1194 return common.Address{}, nil, nil, err 1195 } 1196 return address, tx, &ERC165Checker{ERC165CheckerCaller: ERC165CheckerCaller{contract: contract}, ERC165CheckerTransactor: ERC165CheckerTransactor{contract: contract}, ERC165CheckerFilterer: ERC165CheckerFilterer{contract: contract}}, nil 1197 } 1198 1199 // ERC165Checker is an auto generated Go binding around an Ethereum contract. 1200 type ERC165Checker struct { 1201 ERC165CheckerCaller // Read-only binding to the contract 1202 ERC165CheckerTransactor // Write-only binding to the contract 1203 ERC165CheckerFilterer // Log filterer for contract events 1204 } 1205 1206 // ERC165CheckerCaller is an auto generated read-only Go binding around an Ethereum contract. 1207 type ERC165CheckerCaller struct { 1208 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1209 } 1210 1211 // ERC165CheckerTransactor is an auto generated write-only Go binding around an Ethereum contract. 1212 type ERC165CheckerTransactor struct { 1213 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1214 } 1215 1216 // ERC165CheckerFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1217 type ERC165CheckerFilterer struct { 1218 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1219 } 1220 1221 // ERC165CheckerSession is an auto generated Go binding around an Ethereum contract, 1222 // with pre-set call and transact options. 1223 type ERC165CheckerSession struct { 1224 Contract *ERC165Checker // Generic contract binding to set the session for 1225 CallOpts bind.CallOpts // Call options to use throughout this session 1226 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1227 } 1228 1229 // ERC165CheckerCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1230 // with pre-set call options. 1231 type ERC165CheckerCallerSession struct { 1232 Contract *ERC165CheckerCaller // Generic contract caller binding to set the session for 1233 CallOpts bind.CallOpts // Call options to use throughout this session 1234 } 1235 1236 // ERC165CheckerTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1237 // with pre-set transact options. 1238 type ERC165CheckerTransactorSession struct { 1239 Contract *ERC165CheckerTransactor // Generic contract transactor binding to set the session for 1240 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1241 } 1242 1243 // ERC165CheckerRaw is an auto generated low-level Go binding around an Ethereum contract. 1244 type ERC165CheckerRaw struct { 1245 Contract *ERC165Checker // Generic contract binding to access the raw methods on 1246 } 1247 1248 // ERC165CheckerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1249 type ERC165CheckerCallerRaw struct { 1250 Contract *ERC165CheckerCaller // Generic read-only contract binding to access the raw methods on 1251 } 1252 1253 // ERC165CheckerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1254 type ERC165CheckerTransactorRaw struct { 1255 Contract *ERC165CheckerTransactor // Generic write-only contract binding to access the raw methods on 1256 } 1257 1258 // NewERC165Checker creates a new instance of ERC165Checker, bound to a specific deployed contract. 1259 func NewERC165Checker(address common.Address, backend bind.ContractBackend) (*ERC165Checker, error) { 1260 contract, err := bindERC165Checker(address, backend, backend, backend) 1261 if err != nil { 1262 return nil, err 1263 } 1264 return &ERC165Checker{ERC165CheckerCaller: ERC165CheckerCaller{contract: contract}, ERC165CheckerTransactor: ERC165CheckerTransactor{contract: contract}, ERC165CheckerFilterer: ERC165CheckerFilterer{contract: contract}}, nil 1265 } 1266 1267 // NewERC165CheckerCaller creates a new read-only instance of ERC165Checker, bound to a specific deployed contract. 1268 func NewERC165CheckerCaller(address common.Address, caller bind.ContractCaller) (*ERC165CheckerCaller, error) { 1269 contract, err := bindERC165Checker(address, caller, nil, nil) 1270 if err != nil { 1271 return nil, err 1272 } 1273 return &ERC165CheckerCaller{contract: contract}, nil 1274 } 1275 1276 // NewERC165CheckerTransactor creates a new write-only instance of ERC165Checker, bound to a specific deployed contract. 1277 func NewERC165CheckerTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC165CheckerTransactor, error) { 1278 contract, err := bindERC165Checker(address, nil, transactor, nil) 1279 if err != nil { 1280 return nil, err 1281 } 1282 return &ERC165CheckerTransactor{contract: contract}, nil 1283 } 1284 1285 // NewERC165CheckerFilterer creates a new log filterer instance of ERC165Checker, bound to a specific deployed contract. 1286 func NewERC165CheckerFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC165CheckerFilterer, error) { 1287 contract, err := bindERC165Checker(address, nil, nil, filterer) 1288 if err != nil { 1289 return nil, err 1290 } 1291 return &ERC165CheckerFilterer{contract: contract}, nil 1292 } 1293 1294 // bindERC165Checker binds a generic wrapper to an already deployed contract. 1295 func bindERC165Checker(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1296 parsed, err := abi.JSON(strings.NewReader(ERC165CheckerABI)) 1297 if err != nil { 1298 return nil, err 1299 } 1300 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1301 } 1302 1303 // Call invokes the (constant) contract method with params as input values and 1304 // sets the output to result. The result type might be a single field for simple 1305 // returns, a slice of interfaces for anonymous returns and a struct for named 1306 // returns. 1307 func (_ERC165Checker *ERC165CheckerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1308 return _ERC165Checker.Contract.ERC165CheckerCaller.contract.Call(opts, result, method, params...) 1309 } 1310 1311 // Transfer initiates a plain transaction to move funds to the contract, calling 1312 // its default method if one is available. 1313 func (_ERC165Checker *ERC165CheckerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1314 return _ERC165Checker.Contract.ERC165CheckerTransactor.contract.Transfer(opts) 1315 } 1316 1317 // Transact invokes the (paid) contract method with params as input values. 1318 func (_ERC165Checker *ERC165CheckerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1319 return _ERC165Checker.Contract.ERC165CheckerTransactor.contract.Transact(opts, method, params...) 1320 } 1321 1322 // Call invokes the (constant) contract method with params as input values and 1323 // sets the output to result. The result type might be a single field for simple 1324 // returns, a slice of interfaces for anonymous returns and a struct for named 1325 // returns. 1326 func (_ERC165Checker *ERC165CheckerCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1327 return _ERC165Checker.Contract.contract.Call(opts, result, method, params...) 1328 } 1329 1330 // Transfer initiates a plain transaction to move funds to the contract, calling 1331 // its default method if one is available. 1332 func (_ERC165Checker *ERC165CheckerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1333 return _ERC165Checker.Contract.contract.Transfer(opts) 1334 } 1335 1336 // Transact invokes the (paid) contract method with params as input values. 1337 func (_ERC165Checker *ERC165CheckerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1338 return _ERC165Checker.Contract.contract.Transact(opts, method, params...) 1339 } 1340 1341 // ERC20ABI is the input ABI used to generate the binding from. 1342 const ERC20ABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 1343 1344 // ERC20FuncSigs maps the 4-byte function signature to its string representation. 1345 var ERC20FuncSigs = map[string]string{ 1346 "dd62ed3e": "allowance(address,address)", 1347 "095ea7b3": "approve(address,uint256)", 1348 "70a08231": "balanceOf(address)", 1349 "a457c2d7": "decreaseAllowance(address,uint256)", 1350 "39509351": "increaseAllowance(address,uint256)", 1351 "18160ddd": "totalSupply()", 1352 "a9059cbb": "transfer(address,uint256)", 1353 "23b872dd": "transferFrom(address,address,uint256)", 1354 } 1355 1356 // ERC20Bin is the compiled bytecode used for deploying new contracts. 1357 var ERC20Bin = "0x608060405261083b806100136000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d5610212565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610218565b6100b96004803603604081101561013357600080fd5b506001600160a01b0381351690602001356102a5565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102f9565b6100b96004803603604081101561018557600080fd5b506001600160a01b038135169060200135610314565b6100b9600480360360408110156101b157600080fd5b506001600160a01b038135169060200135610382565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610396565b60006102096102026103c1565b84846103c5565b50600192915050565b60025490565b60006102258484846104b1565b61029b846102316103c1565b61029685604051806060016040528060288152602001610771602891396001600160a01b038a1660009081526001602052604081209061026f6103c1565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61060d16565b6103c5565b5060019392505050565b60006102096102b26103c1565b8461029685600160006102c36103c1565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6106a416565b6001600160a01b031660009081526020819052604090205490565b60006102096103216103c1565b84610296856040518060600160405280602581526020016107e2602591396001600061034b6103c1565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61060d16565b600061020961038f6103c1565b84846104b1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661040a5760405162461bcd60e51b81526004018080602001828103825260248152602001806107be6024913960400191505060405180910390fd5b6001600160a01b03821661044f5760405162461bcd60e51b81526004018080602001828103825260228152602001806107296022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104f65760405162461bcd60e51b81526004018080602001828103825260258152602001806107996025913960400191505060405180910390fd5b6001600160a01b03821661053b5760405162461bcd60e51b81526004018080602001828103825260238152602001806107066023913960400191505060405180910390fd5b61057e8160405180606001604052806026815260200161074b602691396001600160a01b038616600090815260208190526040902054919063ffffffff61060d16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546105b3908263ffffffff6106a416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561069c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610661578181015183820152602001610649565b50505050905090810190601f16801561068e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156106fe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582008ca9864b08faad547b35ef43549788be26de128b59e0167fefa4ac97cd6733964736f6c634300050c0032" 1358 1359 // DeployERC20 deploys a new Ethereum contract, binding an instance of ERC20 to it. 1360 func DeployERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20, error) { 1361 parsed, err := abi.JSON(strings.NewReader(ERC20ABI)) 1362 if err != nil { 1363 return common.Address{}, nil, nil, err 1364 } 1365 1366 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC20Bin), backend) 1367 if err != nil { 1368 return common.Address{}, nil, nil, err 1369 } 1370 return address, tx, &ERC20{ERC20Caller: ERC20Caller{contract: contract}, ERC20Transactor: ERC20Transactor{contract: contract}, ERC20Filterer: ERC20Filterer{contract: contract}}, nil 1371 } 1372 1373 // ERC20 is an auto generated Go binding around an Ethereum contract. 1374 type ERC20 struct { 1375 ERC20Caller // Read-only binding to the contract 1376 ERC20Transactor // Write-only binding to the contract 1377 ERC20Filterer // Log filterer for contract events 1378 } 1379 1380 // ERC20Caller is an auto generated read-only Go binding around an Ethereum contract. 1381 type ERC20Caller struct { 1382 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1383 } 1384 1385 // ERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. 1386 type ERC20Transactor struct { 1387 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1388 } 1389 1390 // ERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 1391 type ERC20Filterer struct { 1392 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1393 } 1394 1395 // ERC20Session is an auto generated Go binding around an Ethereum contract, 1396 // with pre-set call and transact options. 1397 type ERC20Session struct { 1398 Contract *ERC20 // Generic contract binding to set the session for 1399 CallOpts bind.CallOpts // Call options to use throughout this session 1400 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1401 } 1402 1403 // ERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, 1404 // with pre-set call options. 1405 type ERC20CallerSession struct { 1406 Contract *ERC20Caller // Generic contract caller binding to set the session for 1407 CallOpts bind.CallOpts // Call options to use throughout this session 1408 } 1409 1410 // ERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1411 // with pre-set transact options. 1412 type ERC20TransactorSession struct { 1413 Contract *ERC20Transactor // Generic contract transactor binding to set the session for 1414 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1415 } 1416 1417 // ERC20Raw is an auto generated low-level Go binding around an Ethereum contract. 1418 type ERC20Raw struct { 1419 Contract *ERC20 // Generic contract binding to access the raw methods on 1420 } 1421 1422 // ERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1423 type ERC20CallerRaw struct { 1424 Contract *ERC20Caller // Generic read-only contract binding to access the raw methods on 1425 } 1426 1427 // ERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1428 type ERC20TransactorRaw struct { 1429 Contract *ERC20Transactor // Generic write-only contract binding to access the raw methods on 1430 } 1431 1432 // NewERC20 creates a new instance of ERC20, bound to a specific deployed contract. 1433 func NewERC20(address common.Address, backend bind.ContractBackend) (*ERC20, error) { 1434 contract, err := bindERC20(address, backend, backend, backend) 1435 if err != nil { 1436 return nil, err 1437 } 1438 return &ERC20{ERC20Caller: ERC20Caller{contract: contract}, ERC20Transactor: ERC20Transactor{contract: contract}, ERC20Filterer: ERC20Filterer{contract: contract}}, nil 1439 } 1440 1441 // NewERC20Caller creates a new read-only instance of ERC20, bound to a specific deployed contract. 1442 func NewERC20Caller(address common.Address, caller bind.ContractCaller) (*ERC20Caller, error) { 1443 contract, err := bindERC20(address, caller, nil, nil) 1444 if err != nil { 1445 return nil, err 1446 } 1447 return &ERC20Caller{contract: contract}, nil 1448 } 1449 1450 // NewERC20Transactor creates a new write-only instance of ERC20, bound to a specific deployed contract. 1451 func NewERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC20Transactor, error) { 1452 contract, err := bindERC20(address, nil, transactor, nil) 1453 if err != nil { 1454 return nil, err 1455 } 1456 return &ERC20Transactor{contract: contract}, nil 1457 } 1458 1459 // NewERC20Filterer creates a new log filterer instance of ERC20, bound to a specific deployed contract. 1460 func NewERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC20Filterer, error) { 1461 contract, err := bindERC20(address, nil, nil, filterer) 1462 if err != nil { 1463 return nil, err 1464 } 1465 return &ERC20Filterer{contract: contract}, nil 1466 } 1467 1468 // bindERC20 binds a generic wrapper to an already deployed contract. 1469 func bindERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1470 parsed, err := abi.JSON(strings.NewReader(ERC20ABI)) 1471 if err != nil { 1472 return nil, err 1473 } 1474 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1475 } 1476 1477 // Call invokes the (constant) contract method with params as input values and 1478 // sets the output to result. The result type might be a single field for simple 1479 // returns, a slice of interfaces for anonymous returns and a struct for named 1480 // returns. 1481 func (_ERC20 *ERC20Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1482 return _ERC20.Contract.ERC20Caller.contract.Call(opts, result, method, params...) 1483 } 1484 1485 // Transfer initiates a plain transaction to move funds to the contract, calling 1486 // its default method if one is available. 1487 func (_ERC20 *ERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1488 return _ERC20.Contract.ERC20Transactor.contract.Transfer(opts) 1489 } 1490 1491 // Transact invokes the (paid) contract method with params as input values. 1492 func (_ERC20 *ERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1493 return _ERC20.Contract.ERC20Transactor.contract.Transact(opts, method, params...) 1494 } 1495 1496 // Call invokes the (constant) contract method with params as input values and 1497 // sets the output to result. The result type might be a single field for simple 1498 // returns, a slice of interfaces for anonymous returns and a struct for named 1499 // returns. 1500 func (_ERC20 *ERC20CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1501 return _ERC20.Contract.contract.Call(opts, result, method, params...) 1502 } 1503 1504 // Transfer initiates a plain transaction to move funds to the contract, calling 1505 // its default method if one is available. 1506 func (_ERC20 *ERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1507 return _ERC20.Contract.contract.Transfer(opts) 1508 } 1509 1510 // Transact invokes the (paid) contract method with params as input values. 1511 func (_ERC20 *ERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1512 return _ERC20.Contract.contract.Transact(opts, method, params...) 1513 } 1514 1515 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1516 // 1517 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 1518 func (_ERC20 *ERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 1519 var ( 1520 ret0 = new(*big.Int) 1521 ) 1522 out := ret0 1523 err := _ERC20.contract.Call(opts, out, "allowance", owner, spender) 1524 return *ret0, err 1525 } 1526 1527 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1528 // 1529 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 1530 func (_ERC20 *ERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 1531 return _ERC20.Contract.Allowance(&_ERC20.CallOpts, owner, spender) 1532 } 1533 1534 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1535 // 1536 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 1537 func (_ERC20 *ERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 1538 return _ERC20.Contract.Allowance(&_ERC20.CallOpts, owner, spender) 1539 } 1540 1541 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1542 // 1543 // Solidity: function balanceOf(address account) constant returns(uint256) 1544 func (_ERC20 *ERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 1545 var ( 1546 ret0 = new(*big.Int) 1547 ) 1548 out := ret0 1549 err := _ERC20.contract.Call(opts, out, "balanceOf", account) 1550 return *ret0, err 1551 } 1552 1553 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1554 // 1555 // Solidity: function balanceOf(address account) constant returns(uint256) 1556 func (_ERC20 *ERC20Session) BalanceOf(account common.Address) (*big.Int, error) { 1557 return _ERC20.Contract.BalanceOf(&_ERC20.CallOpts, account) 1558 } 1559 1560 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1561 // 1562 // Solidity: function balanceOf(address account) constant returns(uint256) 1563 func (_ERC20 *ERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error) { 1564 return _ERC20.Contract.BalanceOf(&_ERC20.CallOpts, account) 1565 } 1566 1567 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1568 // 1569 // Solidity: function totalSupply() constant returns(uint256) 1570 func (_ERC20 *ERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 1571 var ( 1572 ret0 = new(*big.Int) 1573 ) 1574 out := ret0 1575 err := _ERC20.contract.Call(opts, out, "totalSupply") 1576 return *ret0, err 1577 } 1578 1579 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1580 // 1581 // Solidity: function totalSupply() constant returns(uint256) 1582 func (_ERC20 *ERC20Session) TotalSupply() (*big.Int, error) { 1583 return _ERC20.Contract.TotalSupply(&_ERC20.CallOpts) 1584 } 1585 1586 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1587 // 1588 // Solidity: function totalSupply() constant returns(uint256) 1589 func (_ERC20 *ERC20CallerSession) TotalSupply() (*big.Int, error) { 1590 return _ERC20.Contract.TotalSupply(&_ERC20.CallOpts) 1591 } 1592 1593 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1594 // 1595 // Solidity: function approve(address spender, uint256 amount) returns(bool) 1596 func (_ERC20 *ERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 1597 return _ERC20.contract.Transact(opts, "approve", spender, amount) 1598 } 1599 1600 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1601 // 1602 // Solidity: function approve(address spender, uint256 amount) returns(bool) 1603 func (_ERC20 *ERC20Session) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 1604 return _ERC20.Contract.Approve(&_ERC20.TransactOpts, spender, amount) 1605 } 1606 1607 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1608 // 1609 // Solidity: function approve(address spender, uint256 amount) returns(bool) 1610 func (_ERC20 *ERC20TransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 1611 return _ERC20.Contract.Approve(&_ERC20.TransactOpts, spender, amount) 1612 } 1613 1614 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 1615 // 1616 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 1617 func (_ERC20 *ERC20Transactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 1618 return _ERC20.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 1619 } 1620 1621 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 1622 // 1623 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 1624 func (_ERC20 *ERC20Session) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 1625 return _ERC20.Contract.DecreaseAllowance(&_ERC20.TransactOpts, spender, subtractedValue) 1626 } 1627 1628 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 1629 // 1630 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 1631 func (_ERC20 *ERC20TransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 1632 return _ERC20.Contract.DecreaseAllowance(&_ERC20.TransactOpts, spender, subtractedValue) 1633 } 1634 1635 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 1636 // 1637 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 1638 func (_ERC20 *ERC20Transactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 1639 return _ERC20.contract.Transact(opts, "increaseAllowance", spender, addedValue) 1640 } 1641 1642 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 1643 // 1644 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 1645 func (_ERC20 *ERC20Session) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 1646 return _ERC20.Contract.IncreaseAllowance(&_ERC20.TransactOpts, spender, addedValue) 1647 } 1648 1649 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 1650 // 1651 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 1652 func (_ERC20 *ERC20TransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 1653 return _ERC20.Contract.IncreaseAllowance(&_ERC20.TransactOpts, spender, addedValue) 1654 } 1655 1656 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1657 // 1658 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 1659 func (_ERC20 *ERC20Transactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1660 return _ERC20.contract.Transact(opts, "transfer", recipient, amount) 1661 } 1662 1663 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1664 // 1665 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 1666 func (_ERC20 *ERC20Session) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1667 return _ERC20.Contract.Transfer(&_ERC20.TransactOpts, recipient, amount) 1668 } 1669 1670 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1671 // 1672 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 1673 func (_ERC20 *ERC20TransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1674 return _ERC20.Contract.Transfer(&_ERC20.TransactOpts, recipient, amount) 1675 } 1676 1677 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1678 // 1679 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 1680 func (_ERC20 *ERC20Transactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1681 return _ERC20.contract.Transact(opts, "transferFrom", sender, recipient, amount) 1682 } 1683 1684 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1685 // 1686 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 1687 func (_ERC20 *ERC20Session) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1688 return _ERC20.Contract.TransferFrom(&_ERC20.TransactOpts, sender, recipient, amount) 1689 } 1690 1691 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1692 // 1693 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 1694 func (_ERC20 *ERC20TransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1695 return _ERC20.Contract.TransferFrom(&_ERC20.TransactOpts, sender, recipient, amount) 1696 } 1697 1698 // ERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC20 contract. 1699 type ERC20ApprovalIterator struct { 1700 Event *ERC20Approval // Event containing the contract specifics and raw log 1701 1702 contract *bind.BoundContract // Generic contract to use for unpacking event data 1703 event string // Event name to use for unpacking event data 1704 1705 logs chan types.Log // Log channel receiving the found contract events 1706 sub ethereum.Subscription // Subscription for errors, completion and termination 1707 done bool // Whether the subscription completed delivering logs 1708 fail error // Occurred error to stop iteration 1709 } 1710 1711 // Next advances the iterator to the subsequent event, returning whether there 1712 // are any more events found. In case of a retrieval or parsing error, false is 1713 // returned and Error() can be queried for the exact failure. 1714 func (it *ERC20ApprovalIterator) Next() bool { 1715 // If the iterator failed, stop iterating 1716 if it.fail != nil { 1717 return false 1718 } 1719 // If the iterator completed, deliver directly whatever's available 1720 if it.done { 1721 select { 1722 case log := <-it.logs: 1723 it.Event = new(ERC20Approval) 1724 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1725 it.fail = err 1726 return false 1727 } 1728 it.Event.Raw = log 1729 return true 1730 1731 default: 1732 return false 1733 } 1734 } 1735 // Iterator still in progress, wait for either a data or an error event 1736 select { 1737 case log := <-it.logs: 1738 it.Event = new(ERC20Approval) 1739 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1740 it.fail = err 1741 return false 1742 } 1743 it.Event.Raw = log 1744 return true 1745 1746 case err := <-it.sub.Err(): 1747 it.done = true 1748 it.fail = err 1749 return it.Next() 1750 } 1751 } 1752 1753 // Error returns any retrieval or parsing error occurred during filtering. 1754 func (it *ERC20ApprovalIterator) Error() error { 1755 return it.fail 1756 } 1757 1758 // Close terminates the iteration process, releasing any pending underlying 1759 // resources. 1760 func (it *ERC20ApprovalIterator) Close() error { 1761 it.sub.Unsubscribe() 1762 return nil 1763 } 1764 1765 // ERC20Approval represents a Approval event raised by the ERC20 contract. 1766 type ERC20Approval struct { 1767 Owner common.Address 1768 Spender common.Address 1769 Value *big.Int 1770 Raw types.Log // Blockchain specific contextual infos 1771 } 1772 1773 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1774 // 1775 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1776 func (_ERC20 *ERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20ApprovalIterator, error) { 1777 1778 var ownerRule []interface{} 1779 for _, ownerItem := range owner { 1780 ownerRule = append(ownerRule, ownerItem) 1781 } 1782 var spenderRule []interface{} 1783 for _, spenderItem := range spender { 1784 spenderRule = append(spenderRule, spenderItem) 1785 } 1786 1787 logs, sub, err := _ERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 1788 if err != nil { 1789 return nil, err 1790 } 1791 return &ERC20ApprovalIterator{contract: _ERC20.contract, event: "Approval", logs: logs, sub: sub}, nil 1792 } 1793 1794 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1795 // 1796 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1797 func (_ERC20 *ERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 1798 1799 var ownerRule []interface{} 1800 for _, ownerItem := range owner { 1801 ownerRule = append(ownerRule, ownerItem) 1802 } 1803 var spenderRule []interface{} 1804 for _, spenderItem := range spender { 1805 spenderRule = append(spenderRule, spenderItem) 1806 } 1807 1808 logs, sub, err := _ERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 1809 if err != nil { 1810 return nil, err 1811 } 1812 return event.NewSubscription(func(quit <-chan struct{}) error { 1813 defer sub.Unsubscribe() 1814 for { 1815 select { 1816 case log := <-logs: 1817 // New log arrived, parse the event and forward to the user 1818 event := new(ERC20Approval) 1819 if err := _ERC20.contract.UnpackLog(event, "Approval", log); err != nil { 1820 return err 1821 } 1822 event.Raw = log 1823 1824 select { 1825 case sink <- event: 1826 case err := <-sub.Err(): 1827 return err 1828 case <-quit: 1829 return nil 1830 } 1831 case err := <-sub.Err(): 1832 return err 1833 case <-quit: 1834 return nil 1835 } 1836 } 1837 }), nil 1838 } 1839 1840 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1841 // 1842 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1843 func (_ERC20 *ERC20Filterer) ParseApproval(log types.Log) (*ERC20Approval, error) { 1844 event := new(ERC20Approval) 1845 if err := _ERC20.contract.UnpackLog(event, "Approval", log); err != nil { 1846 return nil, err 1847 } 1848 return event, nil 1849 } 1850 1851 // ERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC20 contract. 1852 type ERC20TransferIterator struct { 1853 Event *ERC20Transfer // Event containing the contract specifics and raw log 1854 1855 contract *bind.BoundContract // Generic contract to use for unpacking event data 1856 event string // Event name to use for unpacking event data 1857 1858 logs chan types.Log // Log channel receiving the found contract events 1859 sub ethereum.Subscription // Subscription for errors, completion and termination 1860 done bool // Whether the subscription completed delivering logs 1861 fail error // Occurred error to stop iteration 1862 } 1863 1864 // Next advances the iterator to the subsequent event, returning whether there 1865 // are any more events found. In case of a retrieval or parsing error, false is 1866 // returned and Error() can be queried for the exact failure. 1867 func (it *ERC20TransferIterator) Next() bool { 1868 // If the iterator failed, stop iterating 1869 if it.fail != nil { 1870 return false 1871 } 1872 // If the iterator completed, deliver directly whatever's available 1873 if it.done { 1874 select { 1875 case log := <-it.logs: 1876 it.Event = new(ERC20Transfer) 1877 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1878 it.fail = err 1879 return false 1880 } 1881 it.Event.Raw = log 1882 return true 1883 1884 default: 1885 return false 1886 } 1887 } 1888 // Iterator still in progress, wait for either a data or an error event 1889 select { 1890 case log := <-it.logs: 1891 it.Event = new(ERC20Transfer) 1892 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1893 it.fail = err 1894 return false 1895 } 1896 it.Event.Raw = log 1897 return true 1898 1899 case err := <-it.sub.Err(): 1900 it.done = true 1901 it.fail = err 1902 return it.Next() 1903 } 1904 } 1905 1906 // Error returns any retrieval or parsing error occurred during filtering. 1907 func (it *ERC20TransferIterator) Error() error { 1908 return it.fail 1909 } 1910 1911 // Close terminates the iteration process, releasing any pending underlying 1912 // resources. 1913 func (it *ERC20TransferIterator) Close() error { 1914 it.sub.Unsubscribe() 1915 return nil 1916 } 1917 1918 // ERC20Transfer represents a Transfer event raised by the ERC20 contract. 1919 type ERC20Transfer struct { 1920 From common.Address 1921 To common.Address 1922 Value *big.Int 1923 Raw types.Log // Blockchain specific contextual infos 1924 } 1925 1926 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1927 // 1928 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1929 func (_ERC20 *ERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20TransferIterator, error) { 1930 1931 var fromRule []interface{} 1932 for _, fromItem := range from { 1933 fromRule = append(fromRule, fromItem) 1934 } 1935 var toRule []interface{} 1936 for _, toItem := range to { 1937 toRule = append(toRule, toItem) 1938 } 1939 1940 logs, sub, err := _ERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 1941 if err != nil { 1942 return nil, err 1943 } 1944 return &ERC20TransferIterator{contract: _ERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil 1945 } 1946 1947 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1948 // 1949 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1950 func (_ERC20 *ERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { 1951 1952 var fromRule []interface{} 1953 for _, fromItem := range from { 1954 fromRule = append(fromRule, fromItem) 1955 } 1956 var toRule []interface{} 1957 for _, toItem := range to { 1958 toRule = append(toRule, toItem) 1959 } 1960 1961 logs, sub, err := _ERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 1962 if err != nil { 1963 return nil, err 1964 } 1965 return event.NewSubscription(func(quit <-chan struct{}) error { 1966 defer sub.Unsubscribe() 1967 for { 1968 select { 1969 case log := <-logs: 1970 // New log arrived, parse the event and forward to the user 1971 event := new(ERC20Transfer) 1972 if err := _ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 1973 return err 1974 } 1975 event.Raw = log 1976 1977 select { 1978 case sink <- event: 1979 case err := <-sub.Err(): 1980 return err 1981 case <-quit: 1982 return nil 1983 } 1984 case err := <-sub.Err(): 1985 return err 1986 case <-quit: 1987 return nil 1988 } 1989 } 1990 }), nil 1991 } 1992 1993 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1994 // 1995 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1996 func (_ERC20 *ERC20Filterer) ParseTransfer(log types.Log) (*ERC20Transfer, error) { 1997 event := new(ERC20Transfer) 1998 if err := _ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 1999 return nil, err 2000 } 2001 return event, nil 2002 } 2003 2004 // ERC20BurnableABI is the input ABI used to generate the binding from. 2005 const ERC20BurnableABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 2006 2007 // ERC20BurnableFuncSigs maps the 4-byte function signature to its string representation. 2008 var ERC20BurnableFuncSigs = map[string]string{ 2009 "dd62ed3e": "allowance(address,address)", 2010 "095ea7b3": "approve(address,uint256)", 2011 "70a08231": "balanceOf(address)", 2012 "42966c68": "burn(uint256)", 2013 "79cc6790": "burnFrom(address,uint256)", 2014 "a457c2d7": "decreaseAllowance(address,uint256)", 2015 "39509351": "increaseAllowance(address,uint256)", 2016 "18160ddd": "totalSupply()", 2017 "a9059cbb": "transfer(address,uint256)", 2018 "23b872dd": "transferFrom(address,address,uint256)", 2019 } 2020 2021 // ERC20BurnableBin is the compiled bytecode used for deploying new contracts. 2022 var ERC20BurnableBin = "0x6080604052610ab7806100136000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461017e57806379cc6790146101a4578063a457c2d7146101d0578063a9059cbb146101fc578063dd62ed3e146102285761009e565b8063095ea7b3146100a357806318160ddd146100e357806323b872dd146100fd578063395093511461013357806342966c681461015f575b600080fd5b6100cf600480360360408110156100b957600080fd5b506001600160a01b038135169060200135610256565b604080519115158252519081900360200190f35b6100eb610273565b60408051918252519081900360200190f35b6100cf6004803603606081101561011357600080fd5b506001600160a01b03813581169160208101359091169060400135610279565b6100cf6004803603604081101561014957600080fd5b506001600160a01b038135169060200135610306565b61017c6004803603602081101561017557600080fd5b503561035a565b005b6100eb6004803603602081101561019457600080fd5b50356001600160a01b031661036e565b61017c600480360360408110156101ba57600080fd5b506001600160a01b038135169060200135610389565b6100cf600480360360408110156101e657600080fd5b506001600160a01b038135169060200135610397565b6100cf6004803603604081101561021257600080fd5b506001600160a01b038135169060200135610405565b6100eb6004803603604081101561023e57600080fd5b506001600160a01b0381358116916020013516610419565b600061026a610263610444565b8484610448565b50600192915050565b60025490565b6000610286848484610534565b6102fc84610292610444565b6102f7856040518060600160405280602881526020016109a8602891396001600160a01b038a166000908152600160205260408120906102d0610444565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61069016565b610448565b5060019392505050565b600061026a610313610444565b846102f78560016000610324610444565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61072716565b61036b610365610444565b82610788565b50565b6001600160a01b031660009081526020819052604090205490565b6103938282610884565b5050565b600061026a6103a4610444565b846102f785604051806060016040528060258152602001610a5e60259139600160006103ce610444565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61069016565b600061026a610412610444565b8484610534565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661048d5760405162461bcd60e51b8152600401808060200182810382526024815260200180610a3a6024913960400191505060405180910390fd5b6001600160a01b0382166104d25760405162461bcd60e51b81526004018080602001828103825260228152602001806109606022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166105795760405162461bcd60e51b8152600401808060200182810382526025815260200180610a156025913960400191505060405180910390fd5b6001600160a01b0382166105be5760405162461bcd60e51b815260040180806020018281038252602381526020018061091b6023913960400191505060405180910390fd5b61060181604051806060016040528060268152602001610982602691396001600160a01b038616600090815260208190526040902054919063ffffffff61069016565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610636908263ffffffff61072716565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561071f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106e45781810151838201526020016106cc565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610781576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166107cd5760405162461bcd60e51b81526004018080602001828103825260218152602001806109f46021913960400191505060405180910390fd5b6108108160405180606001604052806022815260200161093e602291396001600160a01b038516600090815260208190526040902054919063ffffffff61069016565b6001600160a01b03831660009081526020819052604090205560025461083c908263ffffffff6108d816565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b61088e8282610788565b6103938261089a610444565b6102f7846040518060600160405280602481526020016109d0602491396001600160a01b0388166000908152600160205260408120906102d0610444565b600061078183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061069056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820f1d69ab24aa4e03a9c57d269487eac94ddd30d01e9f8e7fb8561cbef87d6535a64736f6c634300050c0032" 2023 2024 // DeployERC20Burnable deploys a new Ethereum contract, binding an instance of ERC20Burnable to it. 2025 func DeployERC20Burnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20Burnable, error) { 2026 parsed, err := abi.JSON(strings.NewReader(ERC20BurnableABI)) 2027 if err != nil { 2028 return common.Address{}, nil, nil, err 2029 } 2030 2031 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC20BurnableBin), backend) 2032 if err != nil { 2033 return common.Address{}, nil, nil, err 2034 } 2035 return address, tx, &ERC20Burnable{ERC20BurnableCaller: ERC20BurnableCaller{contract: contract}, ERC20BurnableTransactor: ERC20BurnableTransactor{contract: contract}, ERC20BurnableFilterer: ERC20BurnableFilterer{contract: contract}}, nil 2036 } 2037 2038 // ERC20Burnable is an auto generated Go binding around an Ethereum contract. 2039 type ERC20Burnable struct { 2040 ERC20BurnableCaller // Read-only binding to the contract 2041 ERC20BurnableTransactor // Write-only binding to the contract 2042 ERC20BurnableFilterer // Log filterer for contract events 2043 } 2044 2045 // ERC20BurnableCaller is an auto generated read-only Go binding around an Ethereum contract. 2046 type ERC20BurnableCaller struct { 2047 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2048 } 2049 2050 // ERC20BurnableTransactor is an auto generated write-only Go binding around an Ethereum contract. 2051 type ERC20BurnableTransactor struct { 2052 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2053 } 2054 2055 // ERC20BurnableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 2056 type ERC20BurnableFilterer struct { 2057 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2058 } 2059 2060 // ERC20BurnableSession is an auto generated Go binding around an Ethereum contract, 2061 // with pre-set call and transact options. 2062 type ERC20BurnableSession struct { 2063 Contract *ERC20Burnable // Generic contract binding to set the session for 2064 CallOpts bind.CallOpts // Call options to use throughout this session 2065 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2066 } 2067 2068 // ERC20BurnableCallerSession is an auto generated read-only Go binding around an Ethereum contract, 2069 // with pre-set call options. 2070 type ERC20BurnableCallerSession struct { 2071 Contract *ERC20BurnableCaller // Generic contract caller binding to set the session for 2072 CallOpts bind.CallOpts // Call options to use throughout this session 2073 } 2074 2075 // ERC20BurnableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2076 // with pre-set transact options. 2077 type ERC20BurnableTransactorSession struct { 2078 Contract *ERC20BurnableTransactor // Generic contract transactor binding to set the session for 2079 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2080 } 2081 2082 // ERC20BurnableRaw is an auto generated low-level Go binding around an Ethereum contract. 2083 type ERC20BurnableRaw struct { 2084 Contract *ERC20Burnable // Generic contract binding to access the raw methods on 2085 } 2086 2087 // ERC20BurnableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2088 type ERC20BurnableCallerRaw struct { 2089 Contract *ERC20BurnableCaller // Generic read-only contract binding to access the raw methods on 2090 } 2091 2092 // ERC20BurnableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2093 type ERC20BurnableTransactorRaw struct { 2094 Contract *ERC20BurnableTransactor // Generic write-only contract binding to access the raw methods on 2095 } 2096 2097 // NewERC20Burnable creates a new instance of ERC20Burnable, bound to a specific deployed contract. 2098 func NewERC20Burnable(address common.Address, backend bind.ContractBackend) (*ERC20Burnable, error) { 2099 contract, err := bindERC20Burnable(address, backend, backend, backend) 2100 if err != nil { 2101 return nil, err 2102 } 2103 return &ERC20Burnable{ERC20BurnableCaller: ERC20BurnableCaller{contract: contract}, ERC20BurnableTransactor: ERC20BurnableTransactor{contract: contract}, ERC20BurnableFilterer: ERC20BurnableFilterer{contract: contract}}, nil 2104 } 2105 2106 // NewERC20BurnableCaller creates a new read-only instance of ERC20Burnable, bound to a specific deployed contract. 2107 func NewERC20BurnableCaller(address common.Address, caller bind.ContractCaller) (*ERC20BurnableCaller, error) { 2108 contract, err := bindERC20Burnable(address, caller, nil, nil) 2109 if err != nil { 2110 return nil, err 2111 } 2112 return &ERC20BurnableCaller{contract: contract}, nil 2113 } 2114 2115 // NewERC20BurnableTransactor creates a new write-only instance of ERC20Burnable, bound to a specific deployed contract. 2116 func NewERC20BurnableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20BurnableTransactor, error) { 2117 contract, err := bindERC20Burnable(address, nil, transactor, nil) 2118 if err != nil { 2119 return nil, err 2120 } 2121 return &ERC20BurnableTransactor{contract: contract}, nil 2122 } 2123 2124 // NewERC20BurnableFilterer creates a new log filterer instance of ERC20Burnable, bound to a specific deployed contract. 2125 func NewERC20BurnableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20BurnableFilterer, error) { 2126 contract, err := bindERC20Burnable(address, nil, nil, filterer) 2127 if err != nil { 2128 return nil, err 2129 } 2130 return &ERC20BurnableFilterer{contract: contract}, nil 2131 } 2132 2133 // bindERC20Burnable binds a generic wrapper to an already deployed contract. 2134 func bindERC20Burnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2135 parsed, err := abi.JSON(strings.NewReader(ERC20BurnableABI)) 2136 if err != nil { 2137 return nil, err 2138 } 2139 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2140 } 2141 2142 // Call invokes the (constant) contract method with params as input values and 2143 // sets the output to result. The result type might be a single field for simple 2144 // returns, a slice of interfaces for anonymous returns and a struct for named 2145 // returns. 2146 func (_ERC20Burnable *ERC20BurnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2147 return _ERC20Burnable.Contract.ERC20BurnableCaller.contract.Call(opts, result, method, params...) 2148 } 2149 2150 // Transfer initiates a plain transaction to move funds to the contract, calling 2151 // its default method if one is available. 2152 func (_ERC20Burnable *ERC20BurnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2153 return _ERC20Burnable.Contract.ERC20BurnableTransactor.contract.Transfer(opts) 2154 } 2155 2156 // Transact invokes the (paid) contract method with params as input values. 2157 func (_ERC20Burnable *ERC20BurnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2158 return _ERC20Burnable.Contract.ERC20BurnableTransactor.contract.Transact(opts, method, params...) 2159 } 2160 2161 // Call invokes the (constant) contract method with params as input values and 2162 // sets the output to result. The result type might be a single field for simple 2163 // returns, a slice of interfaces for anonymous returns and a struct for named 2164 // returns. 2165 func (_ERC20Burnable *ERC20BurnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2166 return _ERC20Burnable.Contract.contract.Call(opts, result, method, params...) 2167 } 2168 2169 // Transfer initiates a plain transaction to move funds to the contract, calling 2170 // its default method if one is available. 2171 func (_ERC20Burnable *ERC20BurnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2172 return _ERC20Burnable.Contract.contract.Transfer(opts) 2173 } 2174 2175 // Transact invokes the (paid) contract method with params as input values. 2176 func (_ERC20Burnable *ERC20BurnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2177 return _ERC20Burnable.Contract.contract.Transact(opts, method, params...) 2178 } 2179 2180 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2181 // 2182 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 2183 func (_ERC20Burnable *ERC20BurnableCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 2184 var ( 2185 ret0 = new(*big.Int) 2186 ) 2187 out := ret0 2188 err := _ERC20Burnable.contract.Call(opts, out, "allowance", owner, spender) 2189 return *ret0, err 2190 } 2191 2192 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2193 // 2194 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 2195 func (_ERC20Burnable *ERC20BurnableSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 2196 return _ERC20Burnable.Contract.Allowance(&_ERC20Burnable.CallOpts, owner, spender) 2197 } 2198 2199 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2200 // 2201 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 2202 func (_ERC20Burnable *ERC20BurnableCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 2203 return _ERC20Burnable.Contract.Allowance(&_ERC20Burnable.CallOpts, owner, spender) 2204 } 2205 2206 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2207 // 2208 // Solidity: function balanceOf(address account) constant returns(uint256) 2209 func (_ERC20Burnable *ERC20BurnableCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 2210 var ( 2211 ret0 = new(*big.Int) 2212 ) 2213 out := ret0 2214 err := _ERC20Burnable.contract.Call(opts, out, "balanceOf", account) 2215 return *ret0, err 2216 } 2217 2218 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2219 // 2220 // Solidity: function balanceOf(address account) constant returns(uint256) 2221 func (_ERC20Burnable *ERC20BurnableSession) BalanceOf(account common.Address) (*big.Int, error) { 2222 return _ERC20Burnable.Contract.BalanceOf(&_ERC20Burnable.CallOpts, account) 2223 } 2224 2225 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2226 // 2227 // Solidity: function balanceOf(address account) constant returns(uint256) 2228 func (_ERC20Burnable *ERC20BurnableCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 2229 return _ERC20Burnable.Contract.BalanceOf(&_ERC20Burnable.CallOpts, account) 2230 } 2231 2232 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2233 // 2234 // Solidity: function totalSupply() constant returns(uint256) 2235 func (_ERC20Burnable *ERC20BurnableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 2236 var ( 2237 ret0 = new(*big.Int) 2238 ) 2239 out := ret0 2240 err := _ERC20Burnable.contract.Call(opts, out, "totalSupply") 2241 return *ret0, err 2242 } 2243 2244 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2245 // 2246 // Solidity: function totalSupply() constant returns(uint256) 2247 func (_ERC20Burnable *ERC20BurnableSession) TotalSupply() (*big.Int, error) { 2248 return _ERC20Burnable.Contract.TotalSupply(&_ERC20Burnable.CallOpts) 2249 } 2250 2251 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2252 // 2253 // Solidity: function totalSupply() constant returns(uint256) 2254 func (_ERC20Burnable *ERC20BurnableCallerSession) TotalSupply() (*big.Int, error) { 2255 return _ERC20Burnable.Contract.TotalSupply(&_ERC20Burnable.CallOpts) 2256 } 2257 2258 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2259 // 2260 // Solidity: function approve(address spender, uint256 amount) returns(bool) 2261 func (_ERC20Burnable *ERC20BurnableTransactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 2262 return _ERC20Burnable.contract.Transact(opts, "approve", spender, amount) 2263 } 2264 2265 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2266 // 2267 // Solidity: function approve(address spender, uint256 amount) returns(bool) 2268 func (_ERC20Burnable *ERC20BurnableSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 2269 return _ERC20Burnable.Contract.Approve(&_ERC20Burnable.TransactOpts, spender, amount) 2270 } 2271 2272 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2273 // 2274 // Solidity: function approve(address spender, uint256 amount) returns(bool) 2275 func (_ERC20Burnable *ERC20BurnableTransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 2276 return _ERC20Burnable.Contract.Approve(&_ERC20Burnable.TransactOpts, spender, amount) 2277 } 2278 2279 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 2280 // 2281 // Solidity: function burn(uint256 amount) returns() 2282 func (_ERC20Burnable *ERC20BurnableTransactor) Burn(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { 2283 return _ERC20Burnable.contract.Transact(opts, "burn", amount) 2284 } 2285 2286 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 2287 // 2288 // Solidity: function burn(uint256 amount) returns() 2289 func (_ERC20Burnable *ERC20BurnableSession) Burn(amount *big.Int) (*types.Transaction, error) { 2290 return _ERC20Burnable.Contract.Burn(&_ERC20Burnable.TransactOpts, amount) 2291 } 2292 2293 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 2294 // 2295 // Solidity: function burn(uint256 amount) returns() 2296 func (_ERC20Burnable *ERC20BurnableTransactorSession) Burn(amount *big.Int) (*types.Transaction, error) { 2297 return _ERC20Burnable.Contract.Burn(&_ERC20Burnable.TransactOpts, amount) 2298 } 2299 2300 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 2301 // 2302 // Solidity: function burnFrom(address account, uint256 amount) returns() 2303 func (_ERC20Burnable *ERC20BurnableTransactor) BurnFrom(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { 2304 return _ERC20Burnable.contract.Transact(opts, "burnFrom", account, amount) 2305 } 2306 2307 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 2308 // 2309 // Solidity: function burnFrom(address account, uint256 amount) returns() 2310 func (_ERC20Burnable *ERC20BurnableSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { 2311 return _ERC20Burnable.Contract.BurnFrom(&_ERC20Burnable.TransactOpts, account, amount) 2312 } 2313 2314 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 2315 // 2316 // Solidity: function burnFrom(address account, uint256 amount) returns() 2317 func (_ERC20Burnable *ERC20BurnableTransactorSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { 2318 return _ERC20Burnable.Contract.BurnFrom(&_ERC20Burnable.TransactOpts, account, amount) 2319 } 2320 2321 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 2322 // 2323 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 2324 func (_ERC20Burnable *ERC20BurnableTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 2325 return _ERC20Burnable.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 2326 } 2327 2328 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 2329 // 2330 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 2331 func (_ERC20Burnable *ERC20BurnableSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 2332 return _ERC20Burnable.Contract.DecreaseAllowance(&_ERC20Burnable.TransactOpts, spender, subtractedValue) 2333 } 2334 2335 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 2336 // 2337 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 2338 func (_ERC20Burnable *ERC20BurnableTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 2339 return _ERC20Burnable.Contract.DecreaseAllowance(&_ERC20Burnable.TransactOpts, spender, subtractedValue) 2340 } 2341 2342 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 2343 // 2344 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 2345 func (_ERC20Burnable *ERC20BurnableTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 2346 return _ERC20Burnable.contract.Transact(opts, "increaseAllowance", spender, addedValue) 2347 } 2348 2349 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 2350 // 2351 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 2352 func (_ERC20Burnable *ERC20BurnableSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 2353 return _ERC20Burnable.Contract.IncreaseAllowance(&_ERC20Burnable.TransactOpts, spender, addedValue) 2354 } 2355 2356 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 2357 // 2358 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 2359 func (_ERC20Burnable *ERC20BurnableTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 2360 return _ERC20Burnable.Contract.IncreaseAllowance(&_ERC20Burnable.TransactOpts, spender, addedValue) 2361 } 2362 2363 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 2364 // 2365 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 2366 func (_ERC20Burnable *ERC20BurnableTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2367 return _ERC20Burnable.contract.Transact(opts, "transfer", recipient, amount) 2368 } 2369 2370 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 2371 // 2372 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 2373 func (_ERC20Burnable *ERC20BurnableSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2374 return _ERC20Burnable.Contract.Transfer(&_ERC20Burnable.TransactOpts, recipient, amount) 2375 } 2376 2377 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 2378 // 2379 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 2380 func (_ERC20Burnable *ERC20BurnableTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2381 return _ERC20Burnable.Contract.Transfer(&_ERC20Burnable.TransactOpts, recipient, amount) 2382 } 2383 2384 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2385 // 2386 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 2387 func (_ERC20Burnable *ERC20BurnableTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2388 return _ERC20Burnable.contract.Transact(opts, "transferFrom", sender, recipient, amount) 2389 } 2390 2391 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2392 // 2393 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 2394 func (_ERC20Burnable *ERC20BurnableSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2395 return _ERC20Burnable.Contract.TransferFrom(&_ERC20Burnable.TransactOpts, sender, recipient, amount) 2396 } 2397 2398 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2399 // 2400 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 2401 func (_ERC20Burnable *ERC20BurnableTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2402 return _ERC20Burnable.Contract.TransferFrom(&_ERC20Burnable.TransactOpts, sender, recipient, amount) 2403 } 2404 2405 // ERC20BurnableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC20Burnable contract. 2406 type ERC20BurnableApprovalIterator struct { 2407 Event *ERC20BurnableApproval // Event containing the contract specifics and raw log 2408 2409 contract *bind.BoundContract // Generic contract to use for unpacking event data 2410 event string // Event name to use for unpacking event data 2411 2412 logs chan types.Log // Log channel receiving the found contract events 2413 sub ethereum.Subscription // Subscription for errors, completion and termination 2414 done bool // Whether the subscription completed delivering logs 2415 fail error // Occurred error to stop iteration 2416 } 2417 2418 // Next advances the iterator to the subsequent event, returning whether there 2419 // are any more events found. In case of a retrieval or parsing error, false is 2420 // returned and Error() can be queried for the exact failure. 2421 func (it *ERC20BurnableApprovalIterator) Next() bool { 2422 // If the iterator failed, stop iterating 2423 if it.fail != nil { 2424 return false 2425 } 2426 // If the iterator completed, deliver directly whatever's available 2427 if it.done { 2428 select { 2429 case log := <-it.logs: 2430 it.Event = new(ERC20BurnableApproval) 2431 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2432 it.fail = err 2433 return false 2434 } 2435 it.Event.Raw = log 2436 return true 2437 2438 default: 2439 return false 2440 } 2441 } 2442 // Iterator still in progress, wait for either a data or an error event 2443 select { 2444 case log := <-it.logs: 2445 it.Event = new(ERC20BurnableApproval) 2446 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2447 it.fail = err 2448 return false 2449 } 2450 it.Event.Raw = log 2451 return true 2452 2453 case err := <-it.sub.Err(): 2454 it.done = true 2455 it.fail = err 2456 return it.Next() 2457 } 2458 } 2459 2460 // Error returns any retrieval or parsing error occurred during filtering. 2461 func (it *ERC20BurnableApprovalIterator) Error() error { 2462 return it.fail 2463 } 2464 2465 // Close terminates the iteration process, releasing any pending underlying 2466 // resources. 2467 func (it *ERC20BurnableApprovalIterator) Close() error { 2468 it.sub.Unsubscribe() 2469 return nil 2470 } 2471 2472 // ERC20BurnableApproval represents a Approval event raised by the ERC20Burnable contract. 2473 type ERC20BurnableApproval struct { 2474 Owner common.Address 2475 Spender common.Address 2476 Value *big.Int 2477 Raw types.Log // Blockchain specific contextual infos 2478 } 2479 2480 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2481 // 2482 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 2483 func (_ERC20Burnable *ERC20BurnableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20BurnableApprovalIterator, error) { 2484 2485 var ownerRule []interface{} 2486 for _, ownerItem := range owner { 2487 ownerRule = append(ownerRule, ownerItem) 2488 } 2489 var spenderRule []interface{} 2490 for _, spenderItem := range spender { 2491 spenderRule = append(spenderRule, spenderItem) 2492 } 2493 2494 logs, sub, err := _ERC20Burnable.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 2495 if err != nil { 2496 return nil, err 2497 } 2498 return &ERC20BurnableApprovalIterator{contract: _ERC20Burnable.contract, event: "Approval", logs: logs, sub: sub}, nil 2499 } 2500 2501 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2502 // 2503 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 2504 func (_ERC20Burnable *ERC20BurnableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20BurnableApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 2505 2506 var ownerRule []interface{} 2507 for _, ownerItem := range owner { 2508 ownerRule = append(ownerRule, ownerItem) 2509 } 2510 var spenderRule []interface{} 2511 for _, spenderItem := range spender { 2512 spenderRule = append(spenderRule, spenderItem) 2513 } 2514 2515 logs, sub, err := _ERC20Burnable.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 2516 if err != nil { 2517 return nil, err 2518 } 2519 return event.NewSubscription(func(quit <-chan struct{}) error { 2520 defer sub.Unsubscribe() 2521 for { 2522 select { 2523 case log := <-logs: 2524 // New log arrived, parse the event and forward to the user 2525 event := new(ERC20BurnableApproval) 2526 if err := _ERC20Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 2527 return err 2528 } 2529 event.Raw = log 2530 2531 select { 2532 case sink <- event: 2533 case err := <-sub.Err(): 2534 return err 2535 case <-quit: 2536 return nil 2537 } 2538 case err := <-sub.Err(): 2539 return err 2540 case <-quit: 2541 return nil 2542 } 2543 } 2544 }), nil 2545 } 2546 2547 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2548 // 2549 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 2550 func (_ERC20Burnable *ERC20BurnableFilterer) ParseApproval(log types.Log) (*ERC20BurnableApproval, error) { 2551 event := new(ERC20BurnableApproval) 2552 if err := _ERC20Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 2553 return nil, err 2554 } 2555 return event, nil 2556 } 2557 2558 // ERC20BurnableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC20Burnable contract. 2559 type ERC20BurnableTransferIterator struct { 2560 Event *ERC20BurnableTransfer // Event containing the contract specifics and raw log 2561 2562 contract *bind.BoundContract // Generic contract to use for unpacking event data 2563 event string // Event name to use for unpacking event data 2564 2565 logs chan types.Log // Log channel receiving the found contract events 2566 sub ethereum.Subscription // Subscription for errors, completion and termination 2567 done bool // Whether the subscription completed delivering logs 2568 fail error // Occurred error to stop iteration 2569 } 2570 2571 // Next advances the iterator to the subsequent event, returning whether there 2572 // are any more events found. In case of a retrieval or parsing error, false is 2573 // returned and Error() can be queried for the exact failure. 2574 func (it *ERC20BurnableTransferIterator) Next() bool { 2575 // If the iterator failed, stop iterating 2576 if it.fail != nil { 2577 return false 2578 } 2579 // If the iterator completed, deliver directly whatever's available 2580 if it.done { 2581 select { 2582 case log := <-it.logs: 2583 it.Event = new(ERC20BurnableTransfer) 2584 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2585 it.fail = err 2586 return false 2587 } 2588 it.Event.Raw = log 2589 return true 2590 2591 default: 2592 return false 2593 } 2594 } 2595 // Iterator still in progress, wait for either a data or an error event 2596 select { 2597 case log := <-it.logs: 2598 it.Event = new(ERC20BurnableTransfer) 2599 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2600 it.fail = err 2601 return false 2602 } 2603 it.Event.Raw = log 2604 return true 2605 2606 case err := <-it.sub.Err(): 2607 it.done = true 2608 it.fail = err 2609 return it.Next() 2610 } 2611 } 2612 2613 // Error returns any retrieval or parsing error occurred during filtering. 2614 func (it *ERC20BurnableTransferIterator) Error() error { 2615 return it.fail 2616 } 2617 2618 // Close terminates the iteration process, releasing any pending underlying 2619 // resources. 2620 func (it *ERC20BurnableTransferIterator) Close() error { 2621 it.sub.Unsubscribe() 2622 return nil 2623 } 2624 2625 // ERC20BurnableTransfer represents a Transfer event raised by the ERC20Burnable contract. 2626 type ERC20BurnableTransfer struct { 2627 From common.Address 2628 To common.Address 2629 Value *big.Int 2630 Raw types.Log // Blockchain specific contextual infos 2631 } 2632 2633 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2634 // 2635 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 2636 func (_ERC20Burnable *ERC20BurnableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20BurnableTransferIterator, error) { 2637 2638 var fromRule []interface{} 2639 for _, fromItem := range from { 2640 fromRule = append(fromRule, fromItem) 2641 } 2642 var toRule []interface{} 2643 for _, toItem := range to { 2644 toRule = append(toRule, toItem) 2645 } 2646 2647 logs, sub, err := _ERC20Burnable.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 2648 if err != nil { 2649 return nil, err 2650 } 2651 return &ERC20BurnableTransferIterator{contract: _ERC20Burnable.contract, event: "Transfer", logs: logs, sub: sub}, nil 2652 } 2653 2654 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2655 // 2656 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 2657 func (_ERC20Burnable *ERC20BurnableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20BurnableTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 2658 2659 var fromRule []interface{} 2660 for _, fromItem := range from { 2661 fromRule = append(fromRule, fromItem) 2662 } 2663 var toRule []interface{} 2664 for _, toItem := range to { 2665 toRule = append(toRule, toItem) 2666 } 2667 2668 logs, sub, err := _ERC20Burnable.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 2669 if err != nil { 2670 return nil, err 2671 } 2672 return event.NewSubscription(func(quit <-chan struct{}) error { 2673 defer sub.Unsubscribe() 2674 for { 2675 select { 2676 case log := <-logs: 2677 // New log arrived, parse the event and forward to the user 2678 event := new(ERC20BurnableTransfer) 2679 if err := _ERC20Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 2680 return err 2681 } 2682 event.Raw = log 2683 2684 select { 2685 case sink <- event: 2686 case err := <-sub.Err(): 2687 return err 2688 case <-quit: 2689 return nil 2690 } 2691 case err := <-sub.Err(): 2692 return err 2693 case <-quit: 2694 return nil 2695 } 2696 } 2697 }), nil 2698 } 2699 2700 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2701 // 2702 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 2703 func (_ERC20Burnable *ERC20BurnableFilterer) ParseTransfer(log types.Log) (*ERC20BurnableTransfer, error) { 2704 event := new(ERC20BurnableTransfer) 2705 if err := _ERC20Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 2706 return nil, err 2707 } 2708 return event, nil 2709 } 2710 2711 // ERC20DetailedABI is the input ABI used to generate the binding from. 2712 const ERC20DetailedABI = "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 2713 2714 // ERC20DetailedFuncSigs maps the 4-byte function signature to its string representation. 2715 var ERC20DetailedFuncSigs = map[string]string{ 2716 "dd62ed3e": "allowance(address,address)", 2717 "095ea7b3": "approve(address,uint256)", 2718 "70a08231": "balanceOf(address)", 2719 "313ce567": "decimals()", 2720 "06fdde03": "name()", 2721 "95d89b41": "symbol()", 2722 "18160ddd": "totalSupply()", 2723 "a9059cbb": "transfer(address,uint256)", 2724 "23b872dd": "transferFrom(address,address,uint256)", 2725 } 2726 2727 // ERC20Detailed is an auto generated Go binding around an Ethereum contract. 2728 type ERC20Detailed struct { 2729 ERC20DetailedCaller // Read-only binding to the contract 2730 ERC20DetailedTransactor // Write-only binding to the contract 2731 ERC20DetailedFilterer // Log filterer for contract events 2732 } 2733 2734 // ERC20DetailedCaller is an auto generated read-only Go binding around an Ethereum contract. 2735 type ERC20DetailedCaller struct { 2736 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2737 } 2738 2739 // ERC20DetailedTransactor is an auto generated write-only Go binding around an Ethereum contract. 2740 type ERC20DetailedTransactor struct { 2741 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2742 } 2743 2744 // ERC20DetailedFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 2745 type ERC20DetailedFilterer struct { 2746 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2747 } 2748 2749 // ERC20DetailedSession is an auto generated Go binding around an Ethereum contract, 2750 // with pre-set call and transact options. 2751 type ERC20DetailedSession struct { 2752 Contract *ERC20Detailed // Generic contract binding to set the session for 2753 CallOpts bind.CallOpts // Call options to use throughout this session 2754 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2755 } 2756 2757 // ERC20DetailedCallerSession is an auto generated read-only Go binding around an Ethereum contract, 2758 // with pre-set call options. 2759 type ERC20DetailedCallerSession struct { 2760 Contract *ERC20DetailedCaller // Generic contract caller binding to set the session for 2761 CallOpts bind.CallOpts // Call options to use throughout this session 2762 } 2763 2764 // ERC20DetailedTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2765 // with pre-set transact options. 2766 type ERC20DetailedTransactorSession struct { 2767 Contract *ERC20DetailedTransactor // Generic contract transactor binding to set the session for 2768 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2769 } 2770 2771 // ERC20DetailedRaw is an auto generated low-level Go binding around an Ethereum contract. 2772 type ERC20DetailedRaw struct { 2773 Contract *ERC20Detailed // Generic contract binding to access the raw methods on 2774 } 2775 2776 // ERC20DetailedCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2777 type ERC20DetailedCallerRaw struct { 2778 Contract *ERC20DetailedCaller // Generic read-only contract binding to access the raw methods on 2779 } 2780 2781 // ERC20DetailedTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2782 type ERC20DetailedTransactorRaw struct { 2783 Contract *ERC20DetailedTransactor // Generic write-only contract binding to access the raw methods on 2784 } 2785 2786 // NewERC20Detailed creates a new instance of ERC20Detailed, bound to a specific deployed contract. 2787 func NewERC20Detailed(address common.Address, backend bind.ContractBackend) (*ERC20Detailed, error) { 2788 contract, err := bindERC20Detailed(address, backend, backend, backend) 2789 if err != nil { 2790 return nil, err 2791 } 2792 return &ERC20Detailed{ERC20DetailedCaller: ERC20DetailedCaller{contract: contract}, ERC20DetailedTransactor: ERC20DetailedTransactor{contract: contract}, ERC20DetailedFilterer: ERC20DetailedFilterer{contract: contract}}, nil 2793 } 2794 2795 // NewERC20DetailedCaller creates a new read-only instance of ERC20Detailed, bound to a specific deployed contract. 2796 func NewERC20DetailedCaller(address common.Address, caller bind.ContractCaller) (*ERC20DetailedCaller, error) { 2797 contract, err := bindERC20Detailed(address, caller, nil, nil) 2798 if err != nil { 2799 return nil, err 2800 } 2801 return &ERC20DetailedCaller{contract: contract}, nil 2802 } 2803 2804 // NewERC20DetailedTransactor creates a new write-only instance of ERC20Detailed, bound to a specific deployed contract. 2805 func NewERC20DetailedTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20DetailedTransactor, error) { 2806 contract, err := bindERC20Detailed(address, nil, transactor, nil) 2807 if err != nil { 2808 return nil, err 2809 } 2810 return &ERC20DetailedTransactor{contract: contract}, nil 2811 } 2812 2813 // NewERC20DetailedFilterer creates a new log filterer instance of ERC20Detailed, bound to a specific deployed contract. 2814 func NewERC20DetailedFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20DetailedFilterer, error) { 2815 contract, err := bindERC20Detailed(address, nil, nil, filterer) 2816 if err != nil { 2817 return nil, err 2818 } 2819 return &ERC20DetailedFilterer{contract: contract}, nil 2820 } 2821 2822 // bindERC20Detailed binds a generic wrapper to an already deployed contract. 2823 func bindERC20Detailed(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2824 parsed, err := abi.JSON(strings.NewReader(ERC20DetailedABI)) 2825 if err != nil { 2826 return nil, err 2827 } 2828 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2829 } 2830 2831 // Call invokes the (constant) contract method with params as input values and 2832 // sets the output to result. The result type might be a single field for simple 2833 // returns, a slice of interfaces for anonymous returns and a struct for named 2834 // returns. 2835 func (_ERC20Detailed *ERC20DetailedRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2836 return _ERC20Detailed.Contract.ERC20DetailedCaller.contract.Call(opts, result, method, params...) 2837 } 2838 2839 // Transfer initiates a plain transaction to move funds to the contract, calling 2840 // its default method if one is available. 2841 func (_ERC20Detailed *ERC20DetailedRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2842 return _ERC20Detailed.Contract.ERC20DetailedTransactor.contract.Transfer(opts) 2843 } 2844 2845 // Transact invokes the (paid) contract method with params as input values. 2846 func (_ERC20Detailed *ERC20DetailedRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2847 return _ERC20Detailed.Contract.ERC20DetailedTransactor.contract.Transact(opts, method, params...) 2848 } 2849 2850 // Call invokes the (constant) contract method with params as input values and 2851 // sets the output to result. The result type might be a single field for simple 2852 // returns, a slice of interfaces for anonymous returns and a struct for named 2853 // returns. 2854 func (_ERC20Detailed *ERC20DetailedCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2855 return _ERC20Detailed.Contract.contract.Call(opts, result, method, params...) 2856 } 2857 2858 // Transfer initiates a plain transaction to move funds to the contract, calling 2859 // its default method if one is available. 2860 func (_ERC20Detailed *ERC20DetailedTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2861 return _ERC20Detailed.Contract.contract.Transfer(opts) 2862 } 2863 2864 // Transact invokes the (paid) contract method with params as input values. 2865 func (_ERC20Detailed *ERC20DetailedTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2866 return _ERC20Detailed.Contract.contract.Transact(opts, method, params...) 2867 } 2868 2869 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2870 // 2871 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 2872 func (_ERC20Detailed *ERC20DetailedCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 2873 var ( 2874 ret0 = new(*big.Int) 2875 ) 2876 out := ret0 2877 err := _ERC20Detailed.contract.Call(opts, out, "allowance", owner, spender) 2878 return *ret0, err 2879 } 2880 2881 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2882 // 2883 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 2884 func (_ERC20Detailed *ERC20DetailedSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 2885 return _ERC20Detailed.Contract.Allowance(&_ERC20Detailed.CallOpts, owner, spender) 2886 } 2887 2888 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2889 // 2890 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 2891 func (_ERC20Detailed *ERC20DetailedCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 2892 return _ERC20Detailed.Contract.Allowance(&_ERC20Detailed.CallOpts, owner, spender) 2893 } 2894 2895 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2896 // 2897 // Solidity: function balanceOf(address account) constant returns(uint256) 2898 func (_ERC20Detailed *ERC20DetailedCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 2899 var ( 2900 ret0 = new(*big.Int) 2901 ) 2902 out := ret0 2903 err := _ERC20Detailed.contract.Call(opts, out, "balanceOf", account) 2904 return *ret0, err 2905 } 2906 2907 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2908 // 2909 // Solidity: function balanceOf(address account) constant returns(uint256) 2910 func (_ERC20Detailed *ERC20DetailedSession) BalanceOf(account common.Address) (*big.Int, error) { 2911 return _ERC20Detailed.Contract.BalanceOf(&_ERC20Detailed.CallOpts, account) 2912 } 2913 2914 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2915 // 2916 // Solidity: function balanceOf(address account) constant returns(uint256) 2917 func (_ERC20Detailed *ERC20DetailedCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 2918 return _ERC20Detailed.Contract.BalanceOf(&_ERC20Detailed.CallOpts, account) 2919 } 2920 2921 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 2922 // 2923 // Solidity: function decimals() constant returns(uint8) 2924 func (_ERC20Detailed *ERC20DetailedCaller) Decimals(opts *bind.CallOpts) (uint8, error) { 2925 var ( 2926 ret0 = new(uint8) 2927 ) 2928 out := ret0 2929 err := _ERC20Detailed.contract.Call(opts, out, "decimals") 2930 return *ret0, err 2931 } 2932 2933 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 2934 // 2935 // Solidity: function decimals() constant returns(uint8) 2936 func (_ERC20Detailed *ERC20DetailedSession) Decimals() (uint8, error) { 2937 return _ERC20Detailed.Contract.Decimals(&_ERC20Detailed.CallOpts) 2938 } 2939 2940 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 2941 // 2942 // Solidity: function decimals() constant returns(uint8) 2943 func (_ERC20Detailed *ERC20DetailedCallerSession) Decimals() (uint8, error) { 2944 return _ERC20Detailed.Contract.Decimals(&_ERC20Detailed.CallOpts) 2945 } 2946 2947 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2948 // 2949 // Solidity: function name() constant returns(string) 2950 func (_ERC20Detailed *ERC20DetailedCaller) Name(opts *bind.CallOpts) (string, error) { 2951 var ( 2952 ret0 = new(string) 2953 ) 2954 out := ret0 2955 err := _ERC20Detailed.contract.Call(opts, out, "name") 2956 return *ret0, err 2957 } 2958 2959 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2960 // 2961 // Solidity: function name() constant returns(string) 2962 func (_ERC20Detailed *ERC20DetailedSession) Name() (string, error) { 2963 return _ERC20Detailed.Contract.Name(&_ERC20Detailed.CallOpts) 2964 } 2965 2966 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2967 // 2968 // Solidity: function name() constant returns(string) 2969 func (_ERC20Detailed *ERC20DetailedCallerSession) Name() (string, error) { 2970 return _ERC20Detailed.Contract.Name(&_ERC20Detailed.CallOpts) 2971 } 2972 2973 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2974 // 2975 // Solidity: function symbol() constant returns(string) 2976 func (_ERC20Detailed *ERC20DetailedCaller) Symbol(opts *bind.CallOpts) (string, error) { 2977 var ( 2978 ret0 = new(string) 2979 ) 2980 out := ret0 2981 err := _ERC20Detailed.contract.Call(opts, out, "symbol") 2982 return *ret0, err 2983 } 2984 2985 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2986 // 2987 // Solidity: function symbol() constant returns(string) 2988 func (_ERC20Detailed *ERC20DetailedSession) Symbol() (string, error) { 2989 return _ERC20Detailed.Contract.Symbol(&_ERC20Detailed.CallOpts) 2990 } 2991 2992 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2993 // 2994 // Solidity: function symbol() constant returns(string) 2995 func (_ERC20Detailed *ERC20DetailedCallerSession) Symbol() (string, error) { 2996 return _ERC20Detailed.Contract.Symbol(&_ERC20Detailed.CallOpts) 2997 } 2998 2999 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3000 // 3001 // Solidity: function totalSupply() constant returns(uint256) 3002 func (_ERC20Detailed *ERC20DetailedCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 3003 var ( 3004 ret0 = new(*big.Int) 3005 ) 3006 out := ret0 3007 err := _ERC20Detailed.contract.Call(opts, out, "totalSupply") 3008 return *ret0, err 3009 } 3010 3011 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3012 // 3013 // Solidity: function totalSupply() constant returns(uint256) 3014 func (_ERC20Detailed *ERC20DetailedSession) TotalSupply() (*big.Int, error) { 3015 return _ERC20Detailed.Contract.TotalSupply(&_ERC20Detailed.CallOpts) 3016 } 3017 3018 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3019 // 3020 // Solidity: function totalSupply() constant returns(uint256) 3021 func (_ERC20Detailed *ERC20DetailedCallerSession) TotalSupply() (*big.Int, error) { 3022 return _ERC20Detailed.Contract.TotalSupply(&_ERC20Detailed.CallOpts) 3023 } 3024 3025 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3026 // 3027 // Solidity: function approve(address spender, uint256 amount) returns(bool) 3028 func (_ERC20Detailed *ERC20DetailedTransactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 3029 return _ERC20Detailed.contract.Transact(opts, "approve", spender, amount) 3030 } 3031 3032 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3033 // 3034 // Solidity: function approve(address spender, uint256 amount) returns(bool) 3035 func (_ERC20Detailed *ERC20DetailedSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 3036 return _ERC20Detailed.Contract.Approve(&_ERC20Detailed.TransactOpts, spender, amount) 3037 } 3038 3039 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3040 // 3041 // Solidity: function approve(address spender, uint256 amount) returns(bool) 3042 func (_ERC20Detailed *ERC20DetailedTransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 3043 return _ERC20Detailed.Contract.Approve(&_ERC20Detailed.TransactOpts, spender, amount) 3044 } 3045 3046 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3047 // 3048 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3049 func (_ERC20Detailed *ERC20DetailedTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3050 return _ERC20Detailed.contract.Transact(opts, "transfer", recipient, amount) 3051 } 3052 3053 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3054 // 3055 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3056 func (_ERC20Detailed *ERC20DetailedSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3057 return _ERC20Detailed.Contract.Transfer(&_ERC20Detailed.TransactOpts, recipient, amount) 3058 } 3059 3060 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3061 // 3062 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3063 func (_ERC20Detailed *ERC20DetailedTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3064 return _ERC20Detailed.Contract.Transfer(&_ERC20Detailed.TransactOpts, recipient, amount) 3065 } 3066 3067 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3068 // 3069 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3070 func (_ERC20Detailed *ERC20DetailedTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3071 return _ERC20Detailed.contract.Transact(opts, "transferFrom", sender, recipient, amount) 3072 } 3073 3074 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3075 // 3076 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3077 func (_ERC20Detailed *ERC20DetailedSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3078 return _ERC20Detailed.Contract.TransferFrom(&_ERC20Detailed.TransactOpts, sender, recipient, amount) 3079 } 3080 3081 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3082 // 3083 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3084 func (_ERC20Detailed *ERC20DetailedTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3085 return _ERC20Detailed.Contract.TransferFrom(&_ERC20Detailed.TransactOpts, sender, recipient, amount) 3086 } 3087 3088 // ERC20DetailedApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC20Detailed contract. 3089 type ERC20DetailedApprovalIterator struct { 3090 Event *ERC20DetailedApproval // Event containing the contract specifics and raw log 3091 3092 contract *bind.BoundContract // Generic contract to use for unpacking event data 3093 event string // Event name to use for unpacking event data 3094 3095 logs chan types.Log // Log channel receiving the found contract events 3096 sub ethereum.Subscription // Subscription for errors, completion and termination 3097 done bool // Whether the subscription completed delivering logs 3098 fail error // Occurred error to stop iteration 3099 } 3100 3101 // Next advances the iterator to the subsequent event, returning whether there 3102 // are any more events found. In case of a retrieval or parsing error, false is 3103 // returned and Error() can be queried for the exact failure. 3104 func (it *ERC20DetailedApprovalIterator) Next() bool { 3105 // If the iterator failed, stop iterating 3106 if it.fail != nil { 3107 return false 3108 } 3109 // If the iterator completed, deliver directly whatever's available 3110 if it.done { 3111 select { 3112 case log := <-it.logs: 3113 it.Event = new(ERC20DetailedApproval) 3114 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3115 it.fail = err 3116 return false 3117 } 3118 it.Event.Raw = log 3119 return true 3120 3121 default: 3122 return false 3123 } 3124 } 3125 // Iterator still in progress, wait for either a data or an error event 3126 select { 3127 case log := <-it.logs: 3128 it.Event = new(ERC20DetailedApproval) 3129 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3130 it.fail = err 3131 return false 3132 } 3133 it.Event.Raw = log 3134 return true 3135 3136 case err := <-it.sub.Err(): 3137 it.done = true 3138 it.fail = err 3139 return it.Next() 3140 } 3141 } 3142 3143 // Error returns any retrieval or parsing error occurred during filtering. 3144 func (it *ERC20DetailedApprovalIterator) Error() error { 3145 return it.fail 3146 } 3147 3148 // Close terminates the iteration process, releasing any pending underlying 3149 // resources. 3150 func (it *ERC20DetailedApprovalIterator) Close() error { 3151 it.sub.Unsubscribe() 3152 return nil 3153 } 3154 3155 // ERC20DetailedApproval represents a Approval event raised by the ERC20Detailed contract. 3156 type ERC20DetailedApproval struct { 3157 Owner common.Address 3158 Spender common.Address 3159 Value *big.Int 3160 Raw types.Log // Blockchain specific contextual infos 3161 } 3162 3163 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3164 // 3165 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3166 func (_ERC20Detailed *ERC20DetailedFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20DetailedApprovalIterator, error) { 3167 3168 var ownerRule []interface{} 3169 for _, ownerItem := range owner { 3170 ownerRule = append(ownerRule, ownerItem) 3171 } 3172 var spenderRule []interface{} 3173 for _, spenderItem := range spender { 3174 spenderRule = append(spenderRule, spenderItem) 3175 } 3176 3177 logs, sub, err := _ERC20Detailed.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 3178 if err != nil { 3179 return nil, err 3180 } 3181 return &ERC20DetailedApprovalIterator{contract: _ERC20Detailed.contract, event: "Approval", logs: logs, sub: sub}, nil 3182 } 3183 3184 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3185 // 3186 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3187 func (_ERC20Detailed *ERC20DetailedFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20DetailedApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 3188 3189 var ownerRule []interface{} 3190 for _, ownerItem := range owner { 3191 ownerRule = append(ownerRule, ownerItem) 3192 } 3193 var spenderRule []interface{} 3194 for _, spenderItem := range spender { 3195 spenderRule = append(spenderRule, spenderItem) 3196 } 3197 3198 logs, sub, err := _ERC20Detailed.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 3199 if err != nil { 3200 return nil, err 3201 } 3202 return event.NewSubscription(func(quit <-chan struct{}) error { 3203 defer sub.Unsubscribe() 3204 for { 3205 select { 3206 case log := <-logs: 3207 // New log arrived, parse the event and forward to the user 3208 event := new(ERC20DetailedApproval) 3209 if err := _ERC20Detailed.contract.UnpackLog(event, "Approval", log); err != nil { 3210 return err 3211 } 3212 event.Raw = log 3213 3214 select { 3215 case sink <- event: 3216 case err := <-sub.Err(): 3217 return err 3218 case <-quit: 3219 return nil 3220 } 3221 case err := <-sub.Err(): 3222 return err 3223 case <-quit: 3224 return nil 3225 } 3226 } 3227 }), nil 3228 } 3229 3230 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3231 // 3232 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3233 func (_ERC20Detailed *ERC20DetailedFilterer) ParseApproval(log types.Log) (*ERC20DetailedApproval, error) { 3234 event := new(ERC20DetailedApproval) 3235 if err := _ERC20Detailed.contract.UnpackLog(event, "Approval", log); err != nil { 3236 return nil, err 3237 } 3238 return event, nil 3239 } 3240 3241 // ERC20DetailedTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC20Detailed contract. 3242 type ERC20DetailedTransferIterator struct { 3243 Event *ERC20DetailedTransfer // Event containing the contract specifics and raw log 3244 3245 contract *bind.BoundContract // Generic contract to use for unpacking event data 3246 event string // Event name to use for unpacking event data 3247 3248 logs chan types.Log // Log channel receiving the found contract events 3249 sub ethereum.Subscription // Subscription for errors, completion and termination 3250 done bool // Whether the subscription completed delivering logs 3251 fail error // Occurred error to stop iteration 3252 } 3253 3254 // Next advances the iterator to the subsequent event, returning whether there 3255 // are any more events found. In case of a retrieval or parsing error, false is 3256 // returned and Error() can be queried for the exact failure. 3257 func (it *ERC20DetailedTransferIterator) Next() bool { 3258 // If the iterator failed, stop iterating 3259 if it.fail != nil { 3260 return false 3261 } 3262 // If the iterator completed, deliver directly whatever's available 3263 if it.done { 3264 select { 3265 case log := <-it.logs: 3266 it.Event = new(ERC20DetailedTransfer) 3267 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3268 it.fail = err 3269 return false 3270 } 3271 it.Event.Raw = log 3272 return true 3273 3274 default: 3275 return false 3276 } 3277 } 3278 // Iterator still in progress, wait for either a data or an error event 3279 select { 3280 case log := <-it.logs: 3281 it.Event = new(ERC20DetailedTransfer) 3282 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3283 it.fail = err 3284 return false 3285 } 3286 it.Event.Raw = log 3287 return true 3288 3289 case err := <-it.sub.Err(): 3290 it.done = true 3291 it.fail = err 3292 return it.Next() 3293 } 3294 } 3295 3296 // Error returns any retrieval or parsing error occurred during filtering. 3297 func (it *ERC20DetailedTransferIterator) Error() error { 3298 return it.fail 3299 } 3300 3301 // Close terminates the iteration process, releasing any pending underlying 3302 // resources. 3303 func (it *ERC20DetailedTransferIterator) Close() error { 3304 it.sub.Unsubscribe() 3305 return nil 3306 } 3307 3308 // ERC20DetailedTransfer represents a Transfer event raised by the ERC20Detailed contract. 3309 type ERC20DetailedTransfer struct { 3310 From common.Address 3311 To common.Address 3312 Value *big.Int 3313 Raw types.Log // Blockchain specific contextual infos 3314 } 3315 3316 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3317 // 3318 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 3319 func (_ERC20Detailed *ERC20DetailedFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20DetailedTransferIterator, error) { 3320 3321 var fromRule []interface{} 3322 for _, fromItem := range from { 3323 fromRule = append(fromRule, fromItem) 3324 } 3325 var toRule []interface{} 3326 for _, toItem := range to { 3327 toRule = append(toRule, toItem) 3328 } 3329 3330 logs, sub, err := _ERC20Detailed.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 3331 if err != nil { 3332 return nil, err 3333 } 3334 return &ERC20DetailedTransferIterator{contract: _ERC20Detailed.contract, event: "Transfer", logs: logs, sub: sub}, nil 3335 } 3336 3337 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3338 // 3339 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 3340 func (_ERC20Detailed *ERC20DetailedFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20DetailedTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 3341 3342 var fromRule []interface{} 3343 for _, fromItem := range from { 3344 fromRule = append(fromRule, fromItem) 3345 } 3346 var toRule []interface{} 3347 for _, toItem := range to { 3348 toRule = append(toRule, toItem) 3349 } 3350 3351 logs, sub, err := _ERC20Detailed.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 3352 if err != nil { 3353 return nil, err 3354 } 3355 return event.NewSubscription(func(quit <-chan struct{}) error { 3356 defer sub.Unsubscribe() 3357 for { 3358 select { 3359 case log := <-logs: 3360 // New log arrived, parse the event and forward to the user 3361 event := new(ERC20DetailedTransfer) 3362 if err := _ERC20Detailed.contract.UnpackLog(event, "Transfer", log); err != nil { 3363 return err 3364 } 3365 event.Raw = log 3366 3367 select { 3368 case sink <- event: 3369 case err := <-sub.Err(): 3370 return err 3371 case <-quit: 3372 return nil 3373 } 3374 case err := <-sub.Err(): 3375 return err 3376 case <-quit: 3377 return nil 3378 } 3379 } 3380 }), nil 3381 } 3382 3383 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3384 // 3385 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 3386 func (_ERC20Detailed *ERC20DetailedFilterer) ParseTransfer(log types.Log) (*ERC20DetailedTransfer, error) { 3387 event := new(ERC20DetailedTransfer) 3388 if err := _ERC20Detailed.contract.UnpackLog(event, "Transfer", log); err != nil { 3389 return nil, err 3390 } 3391 return event, nil 3392 } 3393 3394 // ERC20MintableABI is the input ABI used to generate the binding from. 3395 const ERC20MintableABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 3396 3397 // ERC20MintableFuncSigs maps the 4-byte function signature to its string representation. 3398 var ERC20MintableFuncSigs = map[string]string{ 3399 "983b2d56": "addMinter(address)", 3400 "dd62ed3e": "allowance(address,address)", 3401 "095ea7b3": "approve(address,uint256)", 3402 "70a08231": "balanceOf(address)", 3403 "a457c2d7": "decreaseAllowance(address,uint256)", 3404 "39509351": "increaseAllowance(address,uint256)", 3405 "aa271e1a": "isMinter(address)", 3406 "40c10f19": "mint(address,uint256)", 3407 "98650275": "renounceMinter()", 3408 "18160ddd": "totalSupply()", 3409 "a9059cbb": "transfer(address,uint256)", 3410 "23b872dd": "transferFrom(address,address,uint256)", 3411 } 3412 3413 // ERC20MintableBin is the compiled bytecode used for deploying new contracts. 3414 var ERC20MintableBin = "0x60806040526100266100186001600160e01b0361002b16565b6001600160e01b0361002f16565b6101a3565b3390565b61004781600361007e60201b610a6e1790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61009182826001600160e01b0361012216565b156100fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216610183576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610eb16022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610cff806101b26000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146101c757806398650275146101ef578063a457c2d7146101f7578063a9059cbb14610223578063aa271e1a1461024f578063dd62ed3e14610275576100b4565b8063095ea7b3146100b957806318160ddd146100f957806323b872dd14610113578063395093511461014957806340c10f191461017557806370a08231146101a1575b600080fd5b6100e5600480360360408110156100cf57600080fd5b506001600160a01b0381351690602001356102a3565b604080519115158252519081900360200190f35b6101016102c0565b60408051918252519081900360200190f35b6100e56004803603606081101561012957600080fd5b506001600160a01b038135811691602081013590911690604001356102c6565b6100e56004803603604081101561015f57600080fd5b506001600160a01b038135169060200135610353565b6100e56004803603604081101561018b57600080fd5b506001600160a01b0381351690602001356103a7565b610101600480360360208110156101b757600080fd5b50356001600160a01b03166103fe565b6101ed600480360360208110156101dd57600080fd5b50356001600160a01b0316610419565b005b6101ed61046b565b6100e56004803603604081101561020d57600080fd5b506001600160a01b03813516906020013561047d565b6100e56004803603604081101561023957600080fd5b506001600160a01b0381351690602001356104eb565b6100e56004803603602081101561026557600080fd5b50356001600160a01b03166104ff565b6101016004803603604081101561028b57600080fd5b506001600160a01b0381358116916020013516610518565b60006102b76102b0610543565b8484610547565b50600192915050565b60025490565b60006102d3848484610633565b610349846102df610543565b61034485604051806060016040528060288152602001610c13602891396001600160a01b038a1660009081526001602052604081209061031d610543565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61078f16565b610547565b5060019392505050565b60006102b7610360610543565b846103448560016000610371610543565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61082616565b60006103b96103b4610543565b6104ff565b6103f45760405162461bcd60e51b8152600401808060200182810382526030815260200180610bc26030913960400191505060405180910390fd5b6102b78383610887565b6001600160a01b031660009081526020819052604090205490565b6104246103b4610543565b61045f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610bc26030913960400191505060405180910390fd5b61046881610977565b50565b61047b610476610543565b6109bf565b565b60006102b761048a610543565b8461034485604051806060016040528060258152602001610ca660259139600160006104b4610543565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61078f16565b60006102b76104f8610543565b8484610633565b600061051260038363ffffffff610a0716565b92915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661058c5760405162461bcd60e51b8152600401808060200182810382526024815260200180610c826024913960400191505060405180910390fd5b6001600160a01b0382166105d15760405162461bcd60e51b8152600401808060200182810382526022815260200180610b7a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106785760405162461bcd60e51b8152600401808060200182810382526025815260200180610c5d6025913960400191505060405180910390fd5b6001600160a01b0382166106bd5760405162461bcd60e51b8152600401808060200182810382526023815260200180610b576023913960400191505060405180910390fd5b61070081604051806060016040528060268152602001610b9c602691396001600160a01b038616600090815260208190526040902054919063ffffffff61078f16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610735908263ffffffff61082616565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561081e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107e35781810151838201526020016107cb565b50505050905090810190601f1680156108105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610880576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166108e2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546108f5908263ffffffff61082616565b6002556001600160a01b038216600090815260208190526040902054610921908263ffffffff61082616565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b61098860038263ffffffff610a6e16565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6109d060038263ffffffff610aef16565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610a4e5760405162461bcd60e51b8152600401808060200182810382526022815260200180610c3b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610a788282610a07565b15610aca576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610af98282610a07565b610b345760405162461bcd60e51b8152600401808060200182810382526021815260200180610bf26021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209bffbae26a8473ab446e60484fc8f37931f262c4c630ff4ea7ef2fd99a2a4ba364736f6c634300050c0032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373" 3415 3416 // DeployERC20Mintable deploys a new Ethereum contract, binding an instance of ERC20Mintable to it. 3417 func DeployERC20Mintable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20Mintable, error) { 3418 parsed, err := abi.JSON(strings.NewReader(ERC20MintableABI)) 3419 if err != nil { 3420 return common.Address{}, nil, nil, err 3421 } 3422 3423 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC20MintableBin), backend) 3424 if err != nil { 3425 return common.Address{}, nil, nil, err 3426 } 3427 return address, tx, &ERC20Mintable{ERC20MintableCaller: ERC20MintableCaller{contract: contract}, ERC20MintableTransactor: ERC20MintableTransactor{contract: contract}, ERC20MintableFilterer: ERC20MintableFilterer{contract: contract}}, nil 3428 } 3429 3430 // ERC20Mintable is an auto generated Go binding around an Ethereum contract. 3431 type ERC20Mintable struct { 3432 ERC20MintableCaller // Read-only binding to the contract 3433 ERC20MintableTransactor // Write-only binding to the contract 3434 ERC20MintableFilterer // Log filterer for contract events 3435 } 3436 3437 // ERC20MintableCaller is an auto generated read-only Go binding around an Ethereum contract. 3438 type ERC20MintableCaller struct { 3439 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3440 } 3441 3442 // ERC20MintableTransactor is an auto generated write-only Go binding around an Ethereum contract. 3443 type ERC20MintableTransactor struct { 3444 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3445 } 3446 3447 // ERC20MintableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 3448 type ERC20MintableFilterer struct { 3449 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3450 } 3451 3452 // ERC20MintableSession is an auto generated Go binding around an Ethereum contract, 3453 // with pre-set call and transact options. 3454 type ERC20MintableSession struct { 3455 Contract *ERC20Mintable // Generic contract binding to set the session for 3456 CallOpts bind.CallOpts // Call options to use throughout this session 3457 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3458 } 3459 3460 // ERC20MintableCallerSession is an auto generated read-only Go binding around an Ethereum contract, 3461 // with pre-set call options. 3462 type ERC20MintableCallerSession struct { 3463 Contract *ERC20MintableCaller // Generic contract caller binding to set the session for 3464 CallOpts bind.CallOpts // Call options to use throughout this session 3465 } 3466 3467 // ERC20MintableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 3468 // with pre-set transact options. 3469 type ERC20MintableTransactorSession struct { 3470 Contract *ERC20MintableTransactor // Generic contract transactor binding to set the session for 3471 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3472 } 3473 3474 // ERC20MintableRaw is an auto generated low-level Go binding around an Ethereum contract. 3475 type ERC20MintableRaw struct { 3476 Contract *ERC20Mintable // Generic contract binding to access the raw methods on 3477 } 3478 3479 // ERC20MintableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 3480 type ERC20MintableCallerRaw struct { 3481 Contract *ERC20MintableCaller // Generic read-only contract binding to access the raw methods on 3482 } 3483 3484 // ERC20MintableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 3485 type ERC20MintableTransactorRaw struct { 3486 Contract *ERC20MintableTransactor // Generic write-only contract binding to access the raw methods on 3487 } 3488 3489 // NewERC20Mintable creates a new instance of ERC20Mintable, bound to a specific deployed contract. 3490 func NewERC20Mintable(address common.Address, backend bind.ContractBackend) (*ERC20Mintable, error) { 3491 contract, err := bindERC20Mintable(address, backend, backend, backend) 3492 if err != nil { 3493 return nil, err 3494 } 3495 return &ERC20Mintable{ERC20MintableCaller: ERC20MintableCaller{contract: contract}, ERC20MintableTransactor: ERC20MintableTransactor{contract: contract}, ERC20MintableFilterer: ERC20MintableFilterer{contract: contract}}, nil 3496 } 3497 3498 // NewERC20MintableCaller creates a new read-only instance of ERC20Mintable, bound to a specific deployed contract. 3499 func NewERC20MintableCaller(address common.Address, caller bind.ContractCaller) (*ERC20MintableCaller, error) { 3500 contract, err := bindERC20Mintable(address, caller, nil, nil) 3501 if err != nil { 3502 return nil, err 3503 } 3504 return &ERC20MintableCaller{contract: contract}, nil 3505 } 3506 3507 // NewERC20MintableTransactor creates a new write-only instance of ERC20Mintable, bound to a specific deployed contract. 3508 func NewERC20MintableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20MintableTransactor, error) { 3509 contract, err := bindERC20Mintable(address, nil, transactor, nil) 3510 if err != nil { 3511 return nil, err 3512 } 3513 return &ERC20MintableTransactor{contract: contract}, nil 3514 } 3515 3516 // NewERC20MintableFilterer creates a new log filterer instance of ERC20Mintable, bound to a specific deployed contract. 3517 func NewERC20MintableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20MintableFilterer, error) { 3518 contract, err := bindERC20Mintable(address, nil, nil, filterer) 3519 if err != nil { 3520 return nil, err 3521 } 3522 return &ERC20MintableFilterer{contract: contract}, nil 3523 } 3524 3525 // bindERC20Mintable binds a generic wrapper to an already deployed contract. 3526 func bindERC20Mintable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 3527 parsed, err := abi.JSON(strings.NewReader(ERC20MintableABI)) 3528 if err != nil { 3529 return nil, err 3530 } 3531 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 3532 } 3533 3534 // Call invokes the (constant) contract method with params as input values and 3535 // sets the output to result. The result type might be a single field for simple 3536 // returns, a slice of interfaces for anonymous returns and a struct for named 3537 // returns. 3538 func (_ERC20Mintable *ERC20MintableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 3539 return _ERC20Mintable.Contract.ERC20MintableCaller.contract.Call(opts, result, method, params...) 3540 } 3541 3542 // Transfer initiates a plain transaction to move funds to the contract, calling 3543 // its default method if one is available. 3544 func (_ERC20Mintable *ERC20MintableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3545 return _ERC20Mintable.Contract.ERC20MintableTransactor.contract.Transfer(opts) 3546 } 3547 3548 // Transact invokes the (paid) contract method with params as input values. 3549 func (_ERC20Mintable *ERC20MintableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3550 return _ERC20Mintable.Contract.ERC20MintableTransactor.contract.Transact(opts, method, params...) 3551 } 3552 3553 // Call invokes the (constant) contract method with params as input values and 3554 // sets the output to result. The result type might be a single field for simple 3555 // returns, a slice of interfaces for anonymous returns and a struct for named 3556 // returns. 3557 func (_ERC20Mintable *ERC20MintableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 3558 return _ERC20Mintable.Contract.contract.Call(opts, result, method, params...) 3559 } 3560 3561 // Transfer initiates a plain transaction to move funds to the contract, calling 3562 // its default method if one is available. 3563 func (_ERC20Mintable *ERC20MintableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3564 return _ERC20Mintable.Contract.contract.Transfer(opts) 3565 } 3566 3567 // Transact invokes the (paid) contract method with params as input values. 3568 func (_ERC20Mintable *ERC20MintableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3569 return _ERC20Mintable.Contract.contract.Transact(opts, method, params...) 3570 } 3571 3572 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 3573 // 3574 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 3575 func (_ERC20Mintable *ERC20MintableCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 3576 var ( 3577 ret0 = new(*big.Int) 3578 ) 3579 out := ret0 3580 err := _ERC20Mintable.contract.Call(opts, out, "allowance", owner, spender) 3581 return *ret0, err 3582 } 3583 3584 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 3585 // 3586 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 3587 func (_ERC20Mintable *ERC20MintableSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 3588 return _ERC20Mintable.Contract.Allowance(&_ERC20Mintable.CallOpts, owner, spender) 3589 } 3590 3591 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 3592 // 3593 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 3594 func (_ERC20Mintable *ERC20MintableCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 3595 return _ERC20Mintable.Contract.Allowance(&_ERC20Mintable.CallOpts, owner, spender) 3596 } 3597 3598 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3599 // 3600 // Solidity: function balanceOf(address account) constant returns(uint256) 3601 func (_ERC20Mintable *ERC20MintableCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 3602 var ( 3603 ret0 = new(*big.Int) 3604 ) 3605 out := ret0 3606 err := _ERC20Mintable.contract.Call(opts, out, "balanceOf", account) 3607 return *ret0, err 3608 } 3609 3610 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3611 // 3612 // Solidity: function balanceOf(address account) constant returns(uint256) 3613 func (_ERC20Mintable *ERC20MintableSession) BalanceOf(account common.Address) (*big.Int, error) { 3614 return _ERC20Mintable.Contract.BalanceOf(&_ERC20Mintable.CallOpts, account) 3615 } 3616 3617 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3618 // 3619 // Solidity: function balanceOf(address account) constant returns(uint256) 3620 func (_ERC20Mintable *ERC20MintableCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 3621 return _ERC20Mintable.Contract.BalanceOf(&_ERC20Mintable.CallOpts, account) 3622 } 3623 3624 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 3625 // 3626 // Solidity: function isMinter(address account) constant returns(bool) 3627 func (_ERC20Mintable *ERC20MintableCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 3628 var ( 3629 ret0 = new(bool) 3630 ) 3631 out := ret0 3632 err := _ERC20Mintable.contract.Call(opts, out, "isMinter", account) 3633 return *ret0, err 3634 } 3635 3636 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 3637 // 3638 // Solidity: function isMinter(address account) constant returns(bool) 3639 func (_ERC20Mintable *ERC20MintableSession) IsMinter(account common.Address) (bool, error) { 3640 return _ERC20Mintable.Contract.IsMinter(&_ERC20Mintable.CallOpts, account) 3641 } 3642 3643 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 3644 // 3645 // Solidity: function isMinter(address account) constant returns(bool) 3646 func (_ERC20Mintable *ERC20MintableCallerSession) IsMinter(account common.Address) (bool, error) { 3647 return _ERC20Mintable.Contract.IsMinter(&_ERC20Mintable.CallOpts, account) 3648 } 3649 3650 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3651 // 3652 // Solidity: function totalSupply() constant returns(uint256) 3653 func (_ERC20Mintable *ERC20MintableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 3654 var ( 3655 ret0 = new(*big.Int) 3656 ) 3657 out := ret0 3658 err := _ERC20Mintable.contract.Call(opts, out, "totalSupply") 3659 return *ret0, err 3660 } 3661 3662 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3663 // 3664 // Solidity: function totalSupply() constant returns(uint256) 3665 func (_ERC20Mintable *ERC20MintableSession) TotalSupply() (*big.Int, error) { 3666 return _ERC20Mintable.Contract.TotalSupply(&_ERC20Mintable.CallOpts) 3667 } 3668 3669 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3670 // 3671 // Solidity: function totalSupply() constant returns(uint256) 3672 func (_ERC20Mintable *ERC20MintableCallerSession) TotalSupply() (*big.Int, error) { 3673 return _ERC20Mintable.Contract.TotalSupply(&_ERC20Mintable.CallOpts) 3674 } 3675 3676 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 3677 // 3678 // Solidity: function addMinter(address account) returns() 3679 func (_ERC20Mintable *ERC20MintableTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 3680 return _ERC20Mintable.contract.Transact(opts, "addMinter", account) 3681 } 3682 3683 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 3684 // 3685 // Solidity: function addMinter(address account) returns() 3686 func (_ERC20Mintable *ERC20MintableSession) AddMinter(account common.Address) (*types.Transaction, error) { 3687 return _ERC20Mintable.Contract.AddMinter(&_ERC20Mintable.TransactOpts, account) 3688 } 3689 3690 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 3691 // 3692 // Solidity: function addMinter(address account) returns() 3693 func (_ERC20Mintable *ERC20MintableTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 3694 return _ERC20Mintable.Contract.AddMinter(&_ERC20Mintable.TransactOpts, account) 3695 } 3696 3697 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3698 // 3699 // Solidity: function approve(address spender, uint256 amount) returns(bool) 3700 func (_ERC20Mintable *ERC20MintableTransactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 3701 return _ERC20Mintable.contract.Transact(opts, "approve", spender, amount) 3702 } 3703 3704 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3705 // 3706 // Solidity: function approve(address spender, uint256 amount) returns(bool) 3707 func (_ERC20Mintable *ERC20MintableSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 3708 return _ERC20Mintable.Contract.Approve(&_ERC20Mintable.TransactOpts, spender, amount) 3709 } 3710 3711 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3712 // 3713 // Solidity: function approve(address spender, uint256 amount) returns(bool) 3714 func (_ERC20Mintable *ERC20MintableTransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 3715 return _ERC20Mintable.Contract.Approve(&_ERC20Mintable.TransactOpts, spender, amount) 3716 } 3717 3718 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 3719 // 3720 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 3721 func (_ERC20Mintable *ERC20MintableTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 3722 return _ERC20Mintable.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 3723 } 3724 3725 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 3726 // 3727 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 3728 func (_ERC20Mintable *ERC20MintableSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 3729 return _ERC20Mintable.Contract.DecreaseAllowance(&_ERC20Mintable.TransactOpts, spender, subtractedValue) 3730 } 3731 3732 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 3733 // 3734 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 3735 func (_ERC20Mintable *ERC20MintableTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 3736 return _ERC20Mintable.Contract.DecreaseAllowance(&_ERC20Mintable.TransactOpts, spender, subtractedValue) 3737 } 3738 3739 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 3740 // 3741 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 3742 func (_ERC20Mintable *ERC20MintableTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 3743 return _ERC20Mintable.contract.Transact(opts, "increaseAllowance", spender, addedValue) 3744 } 3745 3746 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 3747 // 3748 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 3749 func (_ERC20Mintable *ERC20MintableSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 3750 return _ERC20Mintable.Contract.IncreaseAllowance(&_ERC20Mintable.TransactOpts, spender, addedValue) 3751 } 3752 3753 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 3754 // 3755 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 3756 func (_ERC20Mintable *ERC20MintableTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 3757 return _ERC20Mintable.Contract.IncreaseAllowance(&_ERC20Mintable.TransactOpts, spender, addedValue) 3758 } 3759 3760 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 3761 // 3762 // Solidity: function mint(address account, uint256 amount) returns(bool) 3763 func (_ERC20Mintable *ERC20MintableTransactor) Mint(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { 3764 return _ERC20Mintable.contract.Transact(opts, "mint", account, amount) 3765 } 3766 3767 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 3768 // 3769 // Solidity: function mint(address account, uint256 amount) returns(bool) 3770 func (_ERC20Mintable *ERC20MintableSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { 3771 return _ERC20Mintable.Contract.Mint(&_ERC20Mintable.TransactOpts, account, amount) 3772 } 3773 3774 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 3775 // 3776 // Solidity: function mint(address account, uint256 amount) returns(bool) 3777 func (_ERC20Mintable *ERC20MintableTransactorSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { 3778 return _ERC20Mintable.Contract.Mint(&_ERC20Mintable.TransactOpts, account, amount) 3779 } 3780 3781 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 3782 // 3783 // Solidity: function renounceMinter() returns() 3784 func (_ERC20Mintable *ERC20MintableTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 3785 return _ERC20Mintable.contract.Transact(opts, "renounceMinter") 3786 } 3787 3788 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 3789 // 3790 // Solidity: function renounceMinter() returns() 3791 func (_ERC20Mintable *ERC20MintableSession) RenounceMinter() (*types.Transaction, error) { 3792 return _ERC20Mintable.Contract.RenounceMinter(&_ERC20Mintable.TransactOpts) 3793 } 3794 3795 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 3796 // 3797 // Solidity: function renounceMinter() returns() 3798 func (_ERC20Mintable *ERC20MintableTransactorSession) RenounceMinter() (*types.Transaction, error) { 3799 return _ERC20Mintable.Contract.RenounceMinter(&_ERC20Mintable.TransactOpts) 3800 } 3801 3802 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3803 // 3804 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3805 func (_ERC20Mintable *ERC20MintableTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3806 return _ERC20Mintable.contract.Transact(opts, "transfer", recipient, amount) 3807 } 3808 3809 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3810 // 3811 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3812 func (_ERC20Mintable *ERC20MintableSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3813 return _ERC20Mintable.Contract.Transfer(&_ERC20Mintable.TransactOpts, recipient, amount) 3814 } 3815 3816 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3817 // 3818 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3819 func (_ERC20Mintable *ERC20MintableTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3820 return _ERC20Mintable.Contract.Transfer(&_ERC20Mintable.TransactOpts, recipient, amount) 3821 } 3822 3823 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3824 // 3825 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3826 func (_ERC20Mintable *ERC20MintableTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3827 return _ERC20Mintable.contract.Transact(opts, "transferFrom", sender, recipient, amount) 3828 } 3829 3830 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3831 // 3832 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3833 func (_ERC20Mintable *ERC20MintableSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3834 return _ERC20Mintable.Contract.TransferFrom(&_ERC20Mintable.TransactOpts, sender, recipient, amount) 3835 } 3836 3837 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3838 // 3839 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3840 func (_ERC20Mintable *ERC20MintableTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3841 return _ERC20Mintable.Contract.TransferFrom(&_ERC20Mintable.TransactOpts, sender, recipient, amount) 3842 } 3843 3844 // ERC20MintableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC20Mintable contract. 3845 type ERC20MintableApprovalIterator struct { 3846 Event *ERC20MintableApproval // Event containing the contract specifics and raw log 3847 3848 contract *bind.BoundContract // Generic contract to use for unpacking event data 3849 event string // Event name to use for unpacking event data 3850 3851 logs chan types.Log // Log channel receiving the found contract events 3852 sub ethereum.Subscription // Subscription for errors, completion and termination 3853 done bool // Whether the subscription completed delivering logs 3854 fail error // Occurred error to stop iteration 3855 } 3856 3857 // Next advances the iterator to the subsequent event, returning whether there 3858 // are any more events found. In case of a retrieval or parsing error, false is 3859 // returned and Error() can be queried for the exact failure. 3860 func (it *ERC20MintableApprovalIterator) Next() bool { 3861 // If the iterator failed, stop iterating 3862 if it.fail != nil { 3863 return false 3864 } 3865 // If the iterator completed, deliver directly whatever's available 3866 if it.done { 3867 select { 3868 case log := <-it.logs: 3869 it.Event = new(ERC20MintableApproval) 3870 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3871 it.fail = err 3872 return false 3873 } 3874 it.Event.Raw = log 3875 return true 3876 3877 default: 3878 return false 3879 } 3880 } 3881 // Iterator still in progress, wait for either a data or an error event 3882 select { 3883 case log := <-it.logs: 3884 it.Event = new(ERC20MintableApproval) 3885 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3886 it.fail = err 3887 return false 3888 } 3889 it.Event.Raw = log 3890 return true 3891 3892 case err := <-it.sub.Err(): 3893 it.done = true 3894 it.fail = err 3895 return it.Next() 3896 } 3897 } 3898 3899 // Error returns any retrieval or parsing error occurred during filtering. 3900 func (it *ERC20MintableApprovalIterator) Error() error { 3901 return it.fail 3902 } 3903 3904 // Close terminates the iteration process, releasing any pending underlying 3905 // resources. 3906 func (it *ERC20MintableApprovalIterator) Close() error { 3907 it.sub.Unsubscribe() 3908 return nil 3909 } 3910 3911 // ERC20MintableApproval represents a Approval event raised by the ERC20Mintable contract. 3912 type ERC20MintableApproval struct { 3913 Owner common.Address 3914 Spender common.Address 3915 Value *big.Int 3916 Raw types.Log // Blockchain specific contextual infos 3917 } 3918 3919 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3920 // 3921 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3922 func (_ERC20Mintable *ERC20MintableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20MintableApprovalIterator, error) { 3923 3924 var ownerRule []interface{} 3925 for _, ownerItem := range owner { 3926 ownerRule = append(ownerRule, ownerItem) 3927 } 3928 var spenderRule []interface{} 3929 for _, spenderItem := range spender { 3930 spenderRule = append(spenderRule, spenderItem) 3931 } 3932 3933 logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 3934 if err != nil { 3935 return nil, err 3936 } 3937 return &ERC20MintableApprovalIterator{contract: _ERC20Mintable.contract, event: "Approval", logs: logs, sub: sub}, nil 3938 } 3939 3940 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3941 // 3942 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3943 func (_ERC20Mintable *ERC20MintableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20MintableApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 3944 3945 var ownerRule []interface{} 3946 for _, ownerItem := range owner { 3947 ownerRule = append(ownerRule, ownerItem) 3948 } 3949 var spenderRule []interface{} 3950 for _, spenderItem := range spender { 3951 spenderRule = append(spenderRule, spenderItem) 3952 } 3953 3954 logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 3955 if err != nil { 3956 return nil, err 3957 } 3958 return event.NewSubscription(func(quit <-chan struct{}) error { 3959 defer sub.Unsubscribe() 3960 for { 3961 select { 3962 case log := <-logs: 3963 // New log arrived, parse the event and forward to the user 3964 event := new(ERC20MintableApproval) 3965 if err := _ERC20Mintable.contract.UnpackLog(event, "Approval", log); err != nil { 3966 return err 3967 } 3968 event.Raw = log 3969 3970 select { 3971 case sink <- event: 3972 case err := <-sub.Err(): 3973 return err 3974 case <-quit: 3975 return nil 3976 } 3977 case err := <-sub.Err(): 3978 return err 3979 case <-quit: 3980 return nil 3981 } 3982 } 3983 }), nil 3984 } 3985 3986 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3987 // 3988 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3989 func (_ERC20Mintable *ERC20MintableFilterer) ParseApproval(log types.Log) (*ERC20MintableApproval, error) { 3990 event := new(ERC20MintableApproval) 3991 if err := _ERC20Mintable.contract.UnpackLog(event, "Approval", log); err != nil { 3992 return nil, err 3993 } 3994 return event, nil 3995 } 3996 3997 // ERC20MintableMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the ERC20Mintable contract. 3998 type ERC20MintableMinterAddedIterator struct { 3999 Event *ERC20MintableMinterAdded // Event containing the contract specifics and raw log 4000 4001 contract *bind.BoundContract // Generic contract to use for unpacking event data 4002 event string // Event name to use for unpacking event data 4003 4004 logs chan types.Log // Log channel receiving the found contract events 4005 sub ethereum.Subscription // Subscription for errors, completion and termination 4006 done bool // Whether the subscription completed delivering logs 4007 fail error // Occurred error to stop iteration 4008 } 4009 4010 // Next advances the iterator to the subsequent event, returning whether there 4011 // are any more events found. In case of a retrieval or parsing error, false is 4012 // returned and Error() can be queried for the exact failure. 4013 func (it *ERC20MintableMinterAddedIterator) Next() bool { 4014 // If the iterator failed, stop iterating 4015 if it.fail != nil { 4016 return false 4017 } 4018 // If the iterator completed, deliver directly whatever's available 4019 if it.done { 4020 select { 4021 case log := <-it.logs: 4022 it.Event = new(ERC20MintableMinterAdded) 4023 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4024 it.fail = err 4025 return false 4026 } 4027 it.Event.Raw = log 4028 return true 4029 4030 default: 4031 return false 4032 } 4033 } 4034 // Iterator still in progress, wait for either a data or an error event 4035 select { 4036 case log := <-it.logs: 4037 it.Event = new(ERC20MintableMinterAdded) 4038 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4039 it.fail = err 4040 return false 4041 } 4042 it.Event.Raw = log 4043 return true 4044 4045 case err := <-it.sub.Err(): 4046 it.done = true 4047 it.fail = err 4048 return it.Next() 4049 } 4050 } 4051 4052 // Error returns any retrieval or parsing error occurred during filtering. 4053 func (it *ERC20MintableMinterAddedIterator) Error() error { 4054 return it.fail 4055 } 4056 4057 // Close terminates the iteration process, releasing any pending underlying 4058 // resources. 4059 func (it *ERC20MintableMinterAddedIterator) Close() error { 4060 it.sub.Unsubscribe() 4061 return nil 4062 } 4063 4064 // ERC20MintableMinterAdded represents a MinterAdded event raised by the ERC20Mintable contract. 4065 type ERC20MintableMinterAdded struct { 4066 Account common.Address 4067 Raw types.Log // Blockchain specific contextual infos 4068 } 4069 4070 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 4071 // 4072 // Solidity: event MinterAdded(address indexed account) 4073 func (_ERC20Mintable *ERC20MintableFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ERC20MintableMinterAddedIterator, error) { 4074 4075 var accountRule []interface{} 4076 for _, accountItem := range account { 4077 accountRule = append(accountRule, accountItem) 4078 } 4079 4080 logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "MinterAdded", accountRule) 4081 if err != nil { 4082 return nil, err 4083 } 4084 return &ERC20MintableMinterAddedIterator{contract: _ERC20Mintable.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 4085 } 4086 4087 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 4088 // 4089 // Solidity: event MinterAdded(address indexed account) 4090 func (_ERC20Mintable *ERC20MintableFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ERC20MintableMinterAdded, account []common.Address) (event.Subscription, error) { 4091 4092 var accountRule []interface{} 4093 for _, accountItem := range account { 4094 accountRule = append(accountRule, accountItem) 4095 } 4096 4097 logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "MinterAdded", accountRule) 4098 if err != nil { 4099 return nil, err 4100 } 4101 return event.NewSubscription(func(quit <-chan struct{}) error { 4102 defer sub.Unsubscribe() 4103 for { 4104 select { 4105 case log := <-logs: 4106 // New log arrived, parse the event and forward to the user 4107 event := new(ERC20MintableMinterAdded) 4108 if err := _ERC20Mintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 4109 return err 4110 } 4111 event.Raw = log 4112 4113 select { 4114 case sink <- event: 4115 case err := <-sub.Err(): 4116 return err 4117 case <-quit: 4118 return nil 4119 } 4120 case err := <-sub.Err(): 4121 return err 4122 case <-quit: 4123 return nil 4124 } 4125 } 4126 }), nil 4127 } 4128 4129 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 4130 // 4131 // Solidity: event MinterAdded(address indexed account) 4132 func (_ERC20Mintable *ERC20MintableFilterer) ParseMinterAdded(log types.Log) (*ERC20MintableMinterAdded, error) { 4133 event := new(ERC20MintableMinterAdded) 4134 if err := _ERC20Mintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 4135 return nil, err 4136 } 4137 return event, nil 4138 } 4139 4140 // ERC20MintableMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the ERC20Mintable contract. 4141 type ERC20MintableMinterRemovedIterator struct { 4142 Event *ERC20MintableMinterRemoved // Event containing the contract specifics and raw log 4143 4144 contract *bind.BoundContract // Generic contract to use for unpacking event data 4145 event string // Event name to use for unpacking event data 4146 4147 logs chan types.Log // Log channel receiving the found contract events 4148 sub ethereum.Subscription // Subscription for errors, completion and termination 4149 done bool // Whether the subscription completed delivering logs 4150 fail error // Occurred error to stop iteration 4151 } 4152 4153 // Next advances the iterator to the subsequent event, returning whether there 4154 // are any more events found. In case of a retrieval or parsing error, false is 4155 // returned and Error() can be queried for the exact failure. 4156 func (it *ERC20MintableMinterRemovedIterator) Next() bool { 4157 // If the iterator failed, stop iterating 4158 if it.fail != nil { 4159 return false 4160 } 4161 // If the iterator completed, deliver directly whatever's available 4162 if it.done { 4163 select { 4164 case log := <-it.logs: 4165 it.Event = new(ERC20MintableMinterRemoved) 4166 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4167 it.fail = err 4168 return false 4169 } 4170 it.Event.Raw = log 4171 return true 4172 4173 default: 4174 return false 4175 } 4176 } 4177 // Iterator still in progress, wait for either a data or an error event 4178 select { 4179 case log := <-it.logs: 4180 it.Event = new(ERC20MintableMinterRemoved) 4181 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4182 it.fail = err 4183 return false 4184 } 4185 it.Event.Raw = log 4186 return true 4187 4188 case err := <-it.sub.Err(): 4189 it.done = true 4190 it.fail = err 4191 return it.Next() 4192 } 4193 } 4194 4195 // Error returns any retrieval or parsing error occurred during filtering. 4196 func (it *ERC20MintableMinterRemovedIterator) Error() error { 4197 return it.fail 4198 } 4199 4200 // Close terminates the iteration process, releasing any pending underlying 4201 // resources. 4202 func (it *ERC20MintableMinterRemovedIterator) Close() error { 4203 it.sub.Unsubscribe() 4204 return nil 4205 } 4206 4207 // ERC20MintableMinterRemoved represents a MinterRemoved event raised by the ERC20Mintable contract. 4208 type ERC20MintableMinterRemoved struct { 4209 Account common.Address 4210 Raw types.Log // Blockchain specific contextual infos 4211 } 4212 4213 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 4214 // 4215 // Solidity: event MinterRemoved(address indexed account) 4216 func (_ERC20Mintable *ERC20MintableFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ERC20MintableMinterRemovedIterator, error) { 4217 4218 var accountRule []interface{} 4219 for _, accountItem := range account { 4220 accountRule = append(accountRule, accountItem) 4221 } 4222 4223 logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "MinterRemoved", accountRule) 4224 if err != nil { 4225 return nil, err 4226 } 4227 return &ERC20MintableMinterRemovedIterator{contract: _ERC20Mintable.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 4228 } 4229 4230 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 4231 // 4232 // Solidity: event MinterRemoved(address indexed account) 4233 func (_ERC20Mintable *ERC20MintableFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ERC20MintableMinterRemoved, account []common.Address) (event.Subscription, error) { 4234 4235 var accountRule []interface{} 4236 for _, accountItem := range account { 4237 accountRule = append(accountRule, accountItem) 4238 } 4239 4240 logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "MinterRemoved", accountRule) 4241 if err != nil { 4242 return nil, err 4243 } 4244 return event.NewSubscription(func(quit <-chan struct{}) error { 4245 defer sub.Unsubscribe() 4246 for { 4247 select { 4248 case log := <-logs: 4249 // New log arrived, parse the event and forward to the user 4250 event := new(ERC20MintableMinterRemoved) 4251 if err := _ERC20Mintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 4252 return err 4253 } 4254 event.Raw = log 4255 4256 select { 4257 case sink <- event: 4258 case err := <-sub.Err(): 4259 return err 4260 case <-quit: 4261 return nil 4262 } 4263 case err := <-sub.Err(): 4264 return err 4265 case <-quit: 4266 return nil 4267 } 4268 } 4269 }), nil 4270 } 4271 4272 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 4273 // 4274 // Solidity: event MinterRemoved(address indexed account) 4275 func (_ERC20Mintable *ERC20MintableFilterer) ParseMinterRemoved(log types.Log) (*ERC20MintableMinterRemoved, error) { 4276 event := new(ERC20MintableMinterRemoved) 4277 if err := _ERC20Mintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 4278 return nil, err 4279 } 4280 return event, nil 4281 } 4282 4283 // ERC20MintableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC20Mintable contract. 4284 type ERC20MintableTransferIterator struct { 4285 Event *ERC20MintableTransfer // Event containing the contract specifics and raw log 4286 4287 contract *bind.BoundContract // Generic contract to use for unpacking event data 4288 event string // Event name to use for unpacking event data 4289 4290 logs chan types.Log // Log channel receiving the found contract events 4291 sub ethereum.Subscription // Subscription for errors, completion and termination 4292 done bool // Whether the subscription completed delivering logs 4293 fail error // Occurred error to stop iteration 4294 } 4295 4296 // Next advances the iterator to the subsequent event, returning whether there 4297 // are any more events found. In case of a retrieval or parsing error, false is 4298 // returned and Error() can be queried for the exact failure. 4299 func (it *ERC20MintableTransferIterator) Next() bool { 4300 // If the iterator failed, stop iterating 4301 if it.fail != nil { 4302 return false 4303 } 4304 // If the iterator completed, deliver directly whatever's available 4305 if it.done { 4306 select { 4307 case log := <-it.logs: 4308 it.Event = new(ERC20MintableTransfer) 4309 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4310 it.fail = err 4311 return false 4312 } 4313 it.Event.Raw = log 4314 return true 4315 4316 default: 4317 return false 4318 } 4319 } 4320 // Iterator still in progress, wait for either a data or an error event 4321 select { 4322 case log := <-it.logs: 4323 it.Event = new(ERC20MintableTransfer) 4324 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4325 it.fail = err 4326 return false 4327 } 4328 it.Event.Raw = log 4329 return true 4330 4331 case err := <-it.sub.Err(): 4332 it.done = true 4333 it.fail = err 4334 return it.Next() 4335 } 4336 } 4337 4338 // Error returns any retrieval or parsing error occurred during filtering. 4339 func (it *ERC20MintableTransferIterator) Error() error { 4340 return it.fail 4341 } 4342 4343 // Close terminates the iteration process, releasing any pending underlying 4344 // resources. 4345 func (it *ERC20MintableTransferIterator) Close() error { 4346 it.sub.Unsubscribe() 4347 return nil 4348 } 4349 4350 // ERC20MintableTransfer represents a Transfer event raised by the ERC20Mintable contract. 4351 type ERC20MintableTransfer struct { 4352 From common.Address 4353 To common.Address 4354 Value *big.Int 4355 Raw types.Log // Blockchain specific contextual infos 4356 } 4357 4358 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4359 // 4360 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4361 func (_ERC20Mintable *ERC20MintableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20MintableTransferIterator, error) { 4362 4363 var fromRule []interface{} 4364 for _, fromItem := range from { 4365 fromRule = append(fromRule, fromItem) 4366 } 4367 var toRule []interface{} 4368 for _, toItem := range to { 4369 toRule = append(toRule, toItem) 4370 } 4371 4372 logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 4373 if err != nil { 4374 return nil, err 4375 } 4376 return &ERC20MintableTransferIterator{contract: _ERC20Mintable.contract, event: "Transfer", logs: logs, sub: sub}, nil 4377 } 4378 4379 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4380 // 4381 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4382 func (_ERC20Mintable *ERC20MintableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20MintableTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 4383 4384 var fromRule []interface{} 4385 for _, fromItem := range from { 4386 fromRule = append(fromRule, fromItem) 4387 } 4388 var toRule []interface{} 4389 for _, toItem := range to { 4390 toRule = append(toRule, toItem) 4391 } 4392 4393 logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 4394 if err != nil { 4395 return nil, err 4396 } 4397 return event.NewSubscription(func(quit <-chan struct{}) error { 4398 defer sub.Unsubscribe() 4399 for { 4400 select { 4401 case log := <-logs: 4402 // New log arrived, parse the event and forward to the user 4403 event := new(ERC20MintableTransfer) 4404 if err := _ERC20Mintable.contract.UnpackLog(event, "Transfer", log); err != nil { 4405 return err 4406 } 4407 event.Raw = log 4408 4409 select { 4410 case sink <- event: 4411 case err := <-sub.Err(): 4412 return err 4413 case <-quit: 4414 return nil 4415 } 4416 case err := <-sub.Err(): 4417 return err 4418 case <-quit: 4419 return nil 4420 } 4421 } 4422 }), nil 4423 } 4424 4425 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4426 // 4427 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4428 func (_ERC20Mintable *ERC20MintableFilterer) ParseTransfer(log types.Log) (*ERC20MintableTransfer, error) { 4429 event := new(ERC20MintableTransfer) 4430 if err := _ERC20Mintable.contract.UnpackLog(event, "Transfer", log); err != nil { 4431 return nil, err 4432 } 4433 return event, nil 4434 } 4435 4436 // ERC20OnApproveABI is the input ABI used to generate the binding from. 4437 const ERC20OnApproveABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"INTERFACE_ID_ON_APPROVE\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 4438 4439 // ERC20OnApproveFuncSigs maps the 4-byte function signature to its string representation. 4440 var ERC20OnApproveFuncSigs = map[string]string{ 4441 "6cd28f9a": "INTERFACE_ID_ON_APPROVE()", 4442 "dd62ed3e": "allowance(address,address)", 4443 "095ea7b3": "approve(address,uint256)", 4444 "cae9ca51": "approveAndCall(address,uint256,bytes)", 4445 "70a08231": "balanceOf(address)", 4446 "a457c2d7": "decreaseAllowance(address,uint256)", 4447 "39509351": "increaseAllowance(address,uint256)", 4448 "18160ddd": "totalSupply()", 4449 "a9059cbb": "transfer(address,uint256)", 4450 "23b872dd": "transferFrom(address,address,uint256)", 4451 } 4452 4453 // ERC20OnApproveBin is the compiled bytecode used for deploying new contracts. 4454 var ERC20OnApproveBin = "0x6080604052610dc0806100136000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a0823114610184578063a457c2d7146101aa578063a9059cbb146101d6578063cae9ca5114610202578063dd62ed3e146102bd5761009e565b8063095ea7b3146100a357806318160ddd146100e357806323b872dd146100fd57806339509351146101335780636cd28f9a1461015f575b600080fd5b6100cf600480360360408110156100b957600080fd5b506001600160a01b0381351690602001356102eb565b604080519115158252519081900360200190f35b6100eb610308565b60408051918252519081900360200190f35b6100cf6004803603606081101561011357600080fd5b506001600160a01b0381358116916020810135909116906040013561030e565b6100cf6004803603604081101561014957600080fd5b506001600160a01b03813516906020013561039c565b6101676103f0565b604080516001600160e01b03199092168252519081900360200190f35b6100eb6004803603602081101561019a57600080fd5b50356001600160a01b031661040b565b6100cf600480360360408110156101c057600080fd5b506001600160a01b038135169060200135610426565b6100cf600480360360408110156101ec57600080fd5b506001600160a01b038135169060200135610494565b6100cf6004803603606081101561021857600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561024857600080fd5b82018360208201111561025a57600080fd5b8035906020019184600183028401116401000000008311171561027c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104a8945050505050565b6100eb600480360360408110156102d357600080fd5b506001600160a01b03813581169160200135166104c9565b60006102ff6102f86104f4565b84846104f8565b50600192915050565b60025490565b600061031b8484846105e4565b610391846103276104f4565b61038c85604051806060016040528060288152602001610cf6602891396001600160a01b038a166000908152600160205260408120906103656104f4565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61074016565b6104f8565b5060015b9392505050565b60006102ff6103a96104f4565b8461038c85600160006103ba6104f4565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6107d716565b604051806028610cce82396028019050604051809103902081565b6001600160a01b031660009081526020819052604090205490565b60006102ff6104336104f4565b8461038c85604051806060016040528060258152602001610d67602591396001600061045d6104f4565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61074016565b60006102ff6104a16104f4565b84846105e4565b60006104b484846102eb565b6104bd57600080fd5b61039533858585610831565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661053d5760405162461bcd60e51b8152600401808060200182810382526024815260200180610d436024913960400191505060405180910390fd5b6001600160a01b0382166105825760405162461bcd60e51b8152600401808060200182810382526022815260200180610c556022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106295760405162461bcd60e51b8152600401808060200182810382526025815260200180610d1e6025913960400191505060405180910390fd5b6001600160a01b03821661066e5760405162461bcd60e51b8152600401808060200182810382526023815260200180610c326023913960400191505060405180910390fd5b6106b181604051806060016040528060268152602001610ca8602691396001600160a01b038616600090815260208190526040902054919063ffffffff61074016565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546106e6908263ffffffff6107d716565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156107cf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561079457818101518382015260200161077c565b50505050905090810190601f1680156107c15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610395576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b610853836040518080610cce6028913960280190506040518091039020610a87565b61088e5760405162461bcd60e51b8152600401808060200182810382526031815260200180610c776031913960400191505060405180910390fd5b60006060846001600160a01b03166040518080610cce60289139602801905060405180910390208787878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561092f578181015183820152602001610917565b50505050905090810190601f16801561095c5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b602083106109c45780518252601f1990920191602091820191016109a5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a26576040519150601f19603f3d011682016040523d82523d6000602084013e610a2b565b606091505b5091509150818190610a7e5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561079457818101518382015260200161077c565b50505050505050565b6000610a9283610aa3565b801561039557506103958383610ad7565b6000610ab6826301ffc9a760e01b610ad7565b8015610ad15750610acf826001600160e01b0319610ad7565b155b92915050565b6000806000610ae68585610afd565b91509150818015610af45750805b95945050505050565b604080516001600160e01b0319831660248083019190915282518083039091018152604490910182526020810180516001600160e01b03166301ffc9a760e01b1781529151815160009384939284926060926001600160a01b038a169261753092879282918083835b60208310610b855780518252601f199092019160209182019101610b66565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303818686fa925050503d8060008114610be6576040519150601f19603f3d011682016040523d82523d6000602084013e610beb565b606091505b5091509150602081511015610c095760008094509450505050610c2a565b81818060200190516020811015610c1f57600080fd5b505190955093505050505b925092905056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332304f6e417070726f76653a207370656e64657220646f65736e277420737570706f7274206f6e417070726f766545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63656f6e417070726f766528616464726573732c616464726573732c75696e743235362c62797465732945524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158205f38639f33e199b2a44d46fed86192ba1daf836a08c11f82aa877b89bb0dc9fc64736f6c634300050c0032" 4455 4456 // DeployERC20OnApprove deploys a new Ethereum contract, binding an instance of ERC20OnApprove to it. 4457 func DeployERC20OnApprove(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20OnApprove, error) { 4458 parsed, err := abi.JSON(strings.NewReader(ERC20OnApproveABI)) 4459 if err != nil { 4460 return common.Address{}, nil, nil, err 4461 } 4462 4463 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC20OnApproveBin), backend) 4464 if err != nil { 4465 return common.Address{}, nil, nil, err 4466 } 4467 return address, tx, &ERC20OnApprove{ERC20OnApproveCaller: ERC20OnApproveCaller{contract: contract}, ERC20OnApproveTransactor: ERC20OnApproveTransactor{contract: contract}, ERC20OnApproveFilterer: ERC20OnApproveFilterer{contract: contract}}, nil 4468 } 4469 4470 // ERC20OnApprove is an auto generated Go binding around an Ethereum contract. 4471 type ERC20OnApprove struct { 4472 ERC20OnApproveCaller // Read-only binding to the contract 4473 ERC20OnApproveTransactor // Write-only binding to the contract 4474 ERC20OnApproveFilterer // Log filterer for contract events 4475 } 4476 4477 // ERC20OnApproveCaller is an auto generated read-only Go binding around an Ethereum contract. 4478 type ERC20OnApproveCaller struct { 4479 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4480 } 4481 4482 // ERC20OnApproveTransactor is an auto generated write-only Go binding around an Ethereum contract. 4483 type ERC20OnApproveTransactor struct { 4484 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4485 } 4486 4487 // ERC20OnApproveFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 4488 type ERC20OnApproveFilterer struct { 4489 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4490 } 4491 4492 // ERC20OnApproveSession is an auto generated Go binding around an Ethereum contract, 4493 // with pre-set call and transact options. 4494 type ERC20OnApproveSession struct { 4495 Contract *ERC20OnApprove // Generic contract binding to set the session for 4496 CallOpts bind.CallOpts // Call options to use throughout this session 4497 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4498 } 4499 4500 // ERC20OnApproveCallerSession is an auto generated read-only Go binding around an Ethereum contract, 4501 // with pre-set call options. 4502 type ERC20OnApproveCallerSession struct { 4503 Contract *ERC20OnApproveCaller // Generic contract caller binding to set the session for 4504 CallOpts bind.CallOpts // Call options to use throughout this session 4505 } 4506 4507 // ERC20OnApproveTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 4508 // with pre-set transact options. 4509 type ERC20OnApproveTransactorSession struct { 4510 Contract *ERC20OnApproveTransactor // Generic contract transactor binding to set the session for 4511 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4512 } 4513 4514 // ERC20OnApproveRaw is an auto generated low-level Go binding around an Ethereum contract. 4515 type ERC20OnApproveRaw struct { 4516 Contract *ERC20OnApprove // Generic contract binding to access the raw methods on 4517 } 4518 4519 // ERC20OnApproveCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 4520 type ERC20OnApproveCallerRaw struct { 4521 Contract *ERC20OnApproveCaller // Generic read-only contract binding to access the raw methods on 4522 } 4523 4524 // ERC20OnApproveTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 4525 type ERC20OnApproveTransactorRaw struct { 4526 Contract *ERC20OnApproveTransactor // Generic write-only contract binding to access the raw methods on 4527 } 4528 4529 // NewERC20OnApprove creates a new instance of ERC20OnApprove, bound to a specific deployed contract. 4530 func NewERC20OnApprove(address common.Address, backend bind.ContractBackend) (*ERC20OnApprove, error) { 4531 contract, err := bindERC20OnApprove(address, backend, backend, backend) 4532 if err != nil { 4533 return nil, err 4534 } 4535 return &ERC20OnApprove{ERC20OnApproveCaller: ERC20OnApproveCaller{contract: contract}, ERC20OnApproveTransactor: ERC20OnApproveTransactor{contract: contract}, ERC20OnApproveFilterer: ERC20OnApproveFilterer{contract: contract}}, nil 4536 } 4537 4538 // NewERC20OnApproveCaller creates a new read-only instance of ERC20OnApprove, bound to a specific deployed contract. 4539 func NewERC20OnApproveCaller(address common.Address, caller bind.ContractCaller) (*ERC20OnApproveCaller, error) { 4540 contract, err := bindERC20OnApprove(address, caller, nil, nil) 4541 if err != nil { 4542 return nil, err 4543 } 4544 return &ERC20OnApproveCaller{contract: contract}, nil 4545 } 4546 4547 // NewERC20OnApproveTransactor creates a new write-only instance of ERC20OnApprove, bound to a specific deployed contract. 4548 func NewERC20OnApproveTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20OnApproveTransactor, error) { 4549 contract, err := bindERC20OnApprove(address, nil, transactor, nil) 4550 if err != nil { 4551 return nil, err 4552 } 4553 return &ERC20OnApproveTransactor{contract: contract}, nil 4554 } 4555 4556 // NewERC20OnApproveFilterer creates a new log filterer instance of ERC20OnApprove, bound to a specific deployed contract. 4557 func NewERC20OnApproveFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20OnApproveFilterer, error) { 4558 contract, err := bindERC20OnApprove(address, nil, nil, filterer) 4559 if err != nil { 4560 return nil, err 4561 } 4562 return &ERC20OnApproveFilterer{contract: contract}, nil 4563 } 4564 4565 // bindERC20OnApprove binds a generic wrapper to an already deployed contract. 4566 func bindERC20OnApprove(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4567 parsed, err := abi.JSON(strings.NewReader(ERC20OnApproveABI)) 4568 if err != nil { 4569 return nil, err 4570 } 4571 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4572 } 4573 4574 // Call invokes the (constant) contract method with params as input values and 4575 // sets the output to result. The result type might be a single field for simple 4576 // returns, a slice of interfaces for anonymous returns and a struct for named 4577 // returns. 4578 func (_ERC20OnApprove *ERC20OnApproveRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 4579 return _ERC20OnApprove.Contract.ERC20OnApproveCaller.contract.Call(opts, result, method, params...) 4580 } 4581 4582 // Transfer initiates a plain transaction to move funds to the contract, calling 4583 // its default method if one is available. 4584 func (_ERC20OnApprove *ERC20OnApproveRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4585 return _ERC20OnApprove.Contract.ERC20OnApproveTransactor.contract.Transfer(opts) 4586 } 4587 4588 // Transact invokes the (paid) contract method with params as input values. 4589 func (_ERC20OnApprove *ERC20OnApproveRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4590 return _ERC20OnApprove.Contract.ERC20OnApproveTransactor.contract.Transact(opts, method, params...) 4591 } 4592 4593 // Call invokes the (constant) contract method with params as input values and 4594 // sets the output to result. The result type might be a single field for simple 4595 // returns, a slice of interfaces for anonymous returns and a struct for named 4596 // returns. 4597 func (_ERC20OnApprove *ERC20OnApproveCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 4598 return _ERC20OnApprove.Contract.contract.Call(opts, result, method, params...) 4599 } 4600 4601 // Transfer initiates a plain transaction to move funds to the contract, calling 4602 // its default method if one is available. 4603 func (_ERC20OnApprove *ERC20OnApproveTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4604 return _ERC20OnApprove.Contract.contract.Transfer(opts) 4605 } 4606 4607 // Transact invokes the (paid) contract method with params as input values. 4608 func (_ERC20OnApprove *ERC20OnApproveTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4609 return _ERC20OnApprove.Contract.contract.Transact(opts, method, params...) 4610 } 4611 4612 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 4613 // 4614 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 4615 func (_ERC20OnApprove *ERC20OnApproveCaller) INTERFACEIDONAPPROVE(opts *bind.CallOpts) ([4]byte, error) { 4616 var ( 4617 ret0 = new([4]byte) 4618 ) 4619 out := ret0 4620 err := _ERC20OnApprove.contract.Call(opts, out, "INTERFACE_ID_ON_APPROVE") 4621 return *ret0, err 4622 } 4623 4624 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 4625 // 4626 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 4627 func (_ERC20OnApprove *ERC20OnApproveSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 4628 return _ERC20OnApprove.Contract.INTERFACEIDONAPPROVE(&_ERC20OnApprove.CallOpts) 4629 } 4630 4631 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 4632 // 4633 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 4634 func (_ERC20OnApprove *ERC20OnApproveCallerSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 4635 return _ERC20OnApprove.Contract.INTERFACEIDONAPPROVE(&_ERC20OnApprove.CallOpts) 4636 } 4637 4638 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 4639 // 4640 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 4641 func (_ERC20OnApprove *ERC20OnApproveCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 4642 var ( 4643 ret0 = new(*big.Int) 4644 ) 4645 out := ret0 4646 err := _ERC20OnApprove.contract.Call(opts, out, "allowance", owner, spender) 4647 return *ret0, err 4648 } 4649 4650 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 4651 // 4652 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 4653 func (_ERC20OnApprove *ERC20OnApproveSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 4654 return _ERC20OnApprove.Contract.Allowance(&_ERC20OnApprove.CallOpts, owner, spender) 4655 } 4656 4657 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 4658 // 4659 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 4660 func (_ERC20OnApprove *ERC20OnApproveCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 4661 return _ERC20OnApprove.Contract.Allowance(&_ERC20OnApprove.CallOpts, owner, spender) 4662 } 4663 4664 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4665 // 4666 // Solidity: function balanceOf(address account) constant returns(uint256) 4667 func (_ERC20OnApprove *ERC20OnApproveCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 4668 var ( 4669 ret0 = new(*big.Int) 4670 ) 4671 out := ret0 4672 err := _ERC20OnApprove.contract.Call(opts, out, "balanceOf", account) 4673 return *ret0, err 4674 } 4675 4676 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4677 // 4678 // Solidity: function balanceOf(address account) constant returns(uint256) 4679 func (_ERC20OnApprove *ERC20OnApproveSession) BalanceOf(account common.Address) (*big.Int, error) { 4680 return _ERC20OnApprove.Contract.BalanceOf(&_ERC20OnApprove.CallOpts, account) 4681 } 4682 4683 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4684 // 4685 // Solidity: function balanceOf(address account) constant returns(uint256) 4686 func (_ERC20OnApprove *ERC20OnApproveCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 4687 return _ERC20OnApprove.Contract.BalanceOf(&_ERC20OnApprove.CallOpts, account) 4688 } 4689 4690 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 4691 // 4692 // Solidity: function totalSupply() constant returns(uint256) 4693 func (_ERC20OnApprove *ERC20OnApproveCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 4694 var ( 4695 ret0 = new(*big.Int) 4696 ) 4697 out := ret0 4698 err := _ERC20OnApprove.contract.Call(opts, out, "totalSupply") 4699 return *ret0, err 4700 } 4701 4702 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 4703 // 4704 // Solidity: function totalSupply() constant returns(uint256) 4705 func (_ERC20OnApprove *ERC20OnApproveSession) TotalSupply() (*big.Int, error) { 4706 return _ERC20OnApprove.Contract.TotalSupply(&_ERC20OnApprove.CallOpts) 4707 } 4708 4709 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 4710 // 4711 // Solidity: function totalSupply() constant returns(uint256) 4712 func (_ERC20OnApprove *ERC20OnApproveCallerSession) TotalSupply() (*big.Int, error) { 4713 return _ERC20OnApprove.Contract.TotalSupply(&_ERC20OnApprove.CallOpts) 4714 } 4715 4716 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4717 // 4718 // Solidity: function approve(address spender, uint256 amount) returns(bool) 4719 func (_ERC20OnApprove *ERC20OnApproveTransactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 4720 return _ERC20OnApprove.contract.Transact(opts, "approve", spender, amount) 4721 } 4722 4723 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4724 // 4725 // Solidity: function approve(address spender, uint256 amount) returns(bool) 4726 func (_ERC20OnApprove *ERC20OnApproveSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 4727 return _ERC20OnApprove.Contract.Approve(&_ERC20OnApprove.TransactOpts, spender, amount) 4728 } 4729 4730 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4731 // 4732 // Solidity: function approve(address spender, uint256 amount) returns(bool) 4733 func (_ERC20OnApprove *ERC20OnApproveTransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 4734 return _ERC20OnApprove.Contract.Approve(&_ERC20OnApprove.TransactOpts, spender, amount) 4735 } 4736 4737 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 4738 // 4739 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 4740 func (_ERC20OnApprove *ERC20OnApproveTransactor) ApproveAndCall(opts *bind.TransactOpts, spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 4741 return _ERC20OnApprove.contract.Transact(opts, "approveAndCall", spender, amount, data) 4742 } 4743 4744 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 4745 // 4746 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 4747 func (_ERC20OnApprove *ERC20OnApproveSession) ApproveAndCall(spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 4748 return _ERC20OnApprove.Contract.ApproveAndCall(&_ERC20OnApprove.TransactOpts, spender, amount, data) 4749 } 4750 4751 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 4752 // 4753 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 4754 func (_ERC20OnApprove *ERC20OnApproveTransactorSession) ApproveAndCall(spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 4755 return _ERC20OnApprove.Contract.ApproveAndCall(&_ERC20OnApprove.TransactOpts, spender, amount, data) 4756 } 4757 4758 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 4759 // 4760 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 4761 func (_ERC20OnApprove *ERC20OnApproveTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 4762 return _ERC20OnApprove.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 4763 } 4764 4765 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 4766 // 4767 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 4768 func (_ERC20OnApprove *ERC20OnApproveSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 4769 return _ERC20OnApprove.Contract.DecreaseAllowance(&_ERC20OnApprove.TransactOpts, spender, subtractedValue) 4770 } 4771 4772 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 4773 // 4774 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 4775 func (_ERC20OnApprove *ERC20OnApproveTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 4776 return _ERC20OnApprove.Contract.DecreaseAllowance(&_ERC20OnApprove.TransactOpts, spender, subtractedValue) 4777 } 4778 4779 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 4780 // 4781 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 4782 func (_ERC20OnApprove *ERC20OnApproveTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 4783 return _ERC20OnApprove.contract.Transact(opts, "increaseAllowance", spender, addedValue) 4784 } 4785 4786 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 4787 // 4788 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 4789 func (_ERC20OnApprove *ERC20OnApproveSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 4790 return _ERC20OnApprove.Contract.IncreaseAllowance(&_ERC20OnApprove.TransactOpts, spender, addedValue) 4791 } 4792 4793 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 4794 // 4795 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 4796 func (_ERC20OnApprove *ERC20OnApproveTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 4797 return _ERC20OnApprove.Contract.IncreaseAllowance(&_ERC20OnApprove.TransactOpts, spender, addedValue) 4798 } 4799 4800 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 4801 // 4802 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 4803 func (_ERC20OnApprove *ERC20OnApproveTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4804 return _ERC20OnApprove.contract.Transact(opts, "transfer", recipient, amount) 4805 } 4806 4807 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 4808 // 4809 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 4810 func (_ERC20OnApprove *ERC20OnApproveSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4811 return _ERC20OnApprove.Contract.Transfer(&_ERC20OnApprove.TransactOpts, recipient, amount) 4812 } 4813 4814 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 4815 // 4816 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 4817 func (_ERC20OnApprove *ERC20OnApproveTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4818 return _ERC20OnApprove.Contract.Transfer(&_ERC20OnApprove.TransactOpts, recipient, amount) 4819 } 4820 4821 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4822 // 4823 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 4824 func (_ERC20OnApprove *ERC20OnApproveTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4825 return _ERC20OnApprove.contract.Transact(opts, "transferFrom", sender, recipient, amount) 4826 } 4827 4828 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4829 // 4830 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 4831 func (_ERC20OnApprove *ERC20OnApproveSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4832 return _ERC20OnApprove.Contract.TransferFrom(&_ERC20OnApprove.TransactOpts, sender, recipient, amount) 4833 } 4834 4835 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4836 // 4837 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 4838 func (_ERC20OnApprove *ERC20OnApproveTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4839 return _ERC20OnApprove.Contract.TransferFrom(&_ERC20OnApprove.TransactOpts, sender, recipient, amount) 4840 } 4841 4842 // ERC20OnApproveApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC20OnApprove contract. 4843 type ERC20OnApproveApprovalIterator struct { 4844 Event *ERC20OnApproveApproval // Event containing the contract specifics and raw log 4845 4846 contract *bind.BoundContract // Generic contract to use for unpacking event data 4847 event string // Event name to use for unpacking event data 4848 4849 logs chan types.Log // Log channel receiving the found contract events 4850 sub ethereum.Subscription // Subscription for errors, completion and termination 4851 done bool // Whether the subscription completed delivering logs 4852 fail error // Occurred error to stop iteration 4853 } 4854 4855 // Next advances the iterator to the subsequent event, returning whether there 4856 // are any more events found. In case of a retrieval or parsing error, false is 4857 // returned and Error() can be queried for the exact failure. 4858 func (it *ERC20OnApproveApprovalIterator) Next() bool { 4859 // If the iterator failed, stop iterating 4860 if it.fail != nil { 4861 return false 4862 } 4863 // If the iterator completed, deliver directly whatever's available 4864 if it.done { 4865 select { 4866 case log := <-it.logs: 4867 it.Event = new(ERC20OnApproveApproval) 4868 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4869 it.fail = err 4870 return false 4871 } 4872 it.Event.Raw = log 4873 return true 4874 4875 default: 4876 return false 4877 } 4878 } 4879 // Iterator still in progress, wait for either a data or an error event 4880 select { 4881 case log := <-it.logs: 4882 it.Event = new(ERC20OnApproveApproval) 4883 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4884 it.fail = err 4885 return false 4886 } 4887 it.Event.Raw = log 4888 return true 4889 4890 case err := <-it.sub.Err(): 4891 it.done = true 4892 it.fail = err 4893 return it.Next() 4894 } 4895 } 4896 4897 // Error returns any retrieval or parsing error occurred during filtering. 4898 func (it *ERC20OnApproveApprovalIterator) Error() error { 4899 return it.fail 4900 } 4901 4902 // Close terminates the iteration process, releasing any pending underlying 4903 // resources. 4904 func (it *ERC20OnApproveApprovalIterator) Close() error { 4905 it.sub.Unsubscribe() 4906 return nil 4907 } 4908 4909 // ERC20OnApproveApproval represents a Approval event raised by the ERC20OnApprove contract. 4910 type ERC20OnApproveApproval struct { 4911 Owner common.Address 4912 Spender common.Address 4913 Value *big.Int 4914 Raw types.Log // Blockchain specific contextual infos 4915 } 4916 4917 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4918 // 4919 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 4920 func (_ERC20OnApprove *ERC20OnApproveFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20OnApproveApprovalIterator, error) { 4921 4922 var ownerRule []interface{} 4923 for _, ownerItem := range owner { 4924 ownerRule = append(ownerRule, ownerItem) 4925 } 4926 var spenderRule []interface{} 4927 for _, spenderItem := range spender { 4928 spenderRule = append(spenderRule, spenderItem) 4929 } 4930 4931 logs, sub, err := _ERC20OnApprove.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 4932 if err != nil { 4933 return nil, err 4934 } 4935 return &ERC20OnApproveApprovalIterator{contract: _ERC20OnApprove.contract, event: "Approval", logs: logs, sub: sub}, nil 4936 } 4937 4938 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4939 // 4940 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 4941 func (_ERC20OnApprove *ERC20OnApproveFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20OnApproveApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 4942 4943 var ownerRule []interface{} 4944 for _, ownerItem := range owner { 4945 ownerRule = append(ownerRule, ownerItem) 4946 } 4947 var spenderRule []interface{} 4948 for _, spenderItem := range spender { 4949 spenderRule = append(spenderRule, spenderItem) 4950 } 4951 4952 logs, sub, err := _ERC20OnApprove.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 4953 if err != nil { 4954 return nil, err 4955 } 4956 return event.NewSubscription(func(quit <-chan struct{}) error { 4957 defer sub.Unsubscribe() 4958 for { 4959 select { 4960 case log := <-logs: 4961 // New log arrived, parse the event and forward to the user 4962 event := new(ERC20OnApproveApproval) 4963 if err := _ERC20OnApprove.contract.UnpackLog(event, "Approval", log); err != nil { 4964 return err 4965 } 4966 event.Raw = log 4967 4968 select { 4969 case sink <- event: 4970 case err := <-sub.Err(): 4971 return err 4972 case <-quit: 4973 return nil 4974 } 4975 case err := <-sub.Err(): 4976 return err 4977 case <-quit: 4978 return nil 4979 } 4980 } 4981 }), nil 4982 } 4983 4984 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4985 // 4986 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 4987 func (_ERC20OnApprove *ERC20OnApproveFilterer) ParseApproval(log types.Log) (*ERC20OnApproveApproval, error) { 4988 event := new(ERC20OnApproveApproval) 4989 if err := _ERC20OnApprove.contract.UnpackLog(event, "Approval", log); err != nil { 4990 return nil, err 4991 } 4992 return event, nil 4993 } 4994 4995 // ERC20OnApproveTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC20OnApprove contract. 4996 type ERC20OnApproveTransferIterator struct { 4997 Event *ERC20OnApproveTransfer // Event containing the contract specifics and raw log 4998 4999 contract *bind.BoundContract // Generic contract to use for unpacking event data 5000 event string // Event name to use for unpacking event data 5001 5002 logs chan types.Log // Log channel receiving the found contract events 5003 sub ethereum.Subscription // Subscription for errors, completion and termination 5004 done bool // Whether the subscription completed delivering logs 5005 fail error // Occurred error to stop iteration 5006 } 5007 5008 // Next advances the iterator to the subsequent event, returning whether there 5009 // are any more events found. In case of a retrieval or parsing error, false is 5010 // returned and Error() can be queried for the exact failure. 5011 func (it *ERC20OnApproveTransferIterator) Next() bool { 5012 // If the iterator failed, stop iterating 5013 if it.fail != nil { 5014 return false 5015 } 5016 // If the iterator completed, deliver directly whatever's available 5017 if it.done { 5018 select { 5019 case log := <-it.logs: 5020 it.Event = new(ERC20OnApproveTransfer) 5021 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5022 it.fail = err 5023 return false 5024 } 5025 it.Event.Raw = log 5026 return true 5027 5028 default: 5029 return false 5030 } 5031 } 5032 // Iterator still in progress, wait for either a data or an error event 5033 select { 5034 case log := <-it.logs: 5035 it.Event = new(ERC20OnApproveTransfer) 5036 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5037 it.fail = err 5038 return false 5039 } 5040 it.Event.Raw = log 5041 return true 5042 5043 case err := <-it.sub.Err(): 5044 it.done = true 5045 it.fail = err 5046 return it.Next() 5047 } 5048 } 5049 5050 // Error returns any retrieval or parsing error occurred during filtering. 5051 func (it *ERC20OnApproveTransferIterator) Error() error { 5052 return it.fail 5053 } 5054 5055 // Close terminates the iteration process, releasing any pending underlying 5056 // resources. 5057 func (it *ERC20OnApproveTransferIterator) Close() error { 5058 it.sub.Unsubscribe() 5059 return nil 5060 } 5061 5062 // ERC20OnApproveTransfer represents a Transfer event raised by the ERC20OnApprove contract. 5063 type ERC20OnApproveTransfer struct { 5064 From common.Address 5065 To common.Address 5066 Value *big.Int 5067 Raw types.Log // Blockchain specific contextual infos 5068 } 5069 5070 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5071 // 5072 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5073 func (_ERC20OnApprove *ERC20OnApproveFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20OnApproveTransferIterator, error) { 5074 5075 var fromRule []interface{} 5076 for _, fromItem := range from { 5077 fromRule = append(fromRule, fromItem) 5078 } 5079 var toRule []interface{} 5080 for _, toItem := range to { 5081 toRule = append(toRule, toItem) 5082 } 5083 5084 logs, sub, err := _ERC20OnApprove.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 5085 if err != nil { 5086 return nil, err 5087 } 5088 return &ERC20OnApproveTransferIterator{contract: _ERC20OnApprove.contract, event: "Transfer", logs: logs, sub: sub}, nil 5089 } 5090 5091 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5092 // 5093 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5094 func (_ERC20OnApprove *ERC20OnApproveFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20OnApproveTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 5095 5096 var fromRule []interface{} 5097 for _, fromItem := range from { 5098 fromRule = append(fromRule, fromItem) 5099 } 5100 var toRule []interface{} 5101 for _, toItem := range to { 5102 toRule = append(toRule, toItem) 5103 } 5104 5105 logs, sub, err := _ERC20OnApprove.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 5106 if err != nil { 5107 return nil, err 5108 } 5109 return event.NewSubscription(func(quit <-chan struct{}) error { 5110 defer sub.Unsubscribe() 5111 for { 5112 select { 5113 case log := <-logs: 5114 // New log arrived, parse the event and forward to the user 5115 event := new(ERC20OnApproveTransfer) 5116 if err := _ERC20OnApprove.contract.UnpackLog(event, "Transfer", log); err != nil { 5117 return err 5118 } 5119 event.Raw = log 5120 5121 select { 5122 case sink <- event: 5123 case err := <-sub.Err(): 5124 return err 5125 case <-quit: 5126 return nil 5127 } 5128 case err := <-sub.Err(): 5129 return err 5130 case <-quit: 5131 return nil 5132 } 5133 } 5134 }), nil 5135 } 5136 5137 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5138 // 5139 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5140 func (_ERC20OnApprove *ERC20OnApproveFilterer) ParseTransfer(log types.Log) (*ERC20OnApproveTransfer, error) { 5141 event := new(ERC20OnApproveTransfer) 5142 if err := _ERC20OnApprove.contract.UnpackLog(event, "Transfer", log); err != nil { 5143 return nil, err 5144 } 5145 return event, nil 5146 } 5147 5148 // IERC165ABI is the input ABI used to generate the binding from. 5149 const IERC165ABI = "[{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 5150 5151 // IERC165FuncSigs maps the 4-byte function signature to its string representation. 5152 var IERC165FuncSigs = map[string]string{ 5153 "01ffc9a7": "supportsInterface(bytes4)", 5154 } 5155 5156 // IERC165 is an auto generated Go binding around an Ethereum contract. 5157 type IERC165 struct { 5158 IERC165Caller // Read-only binding to the contract 5159 IERC165Transactor // Write-only binding to the contract 5160 IERC165Filterer // Log filterer for contract events 5161 } 5162 5163 // IERC165Caller is an auto generated read-only Go binding around an Ethereum contract. 5164 type IERC165Caller struct { 5165 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5166 } 5167 5168 // IERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. 5169 type IERC165Transactor struct { 5170 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5171 } 5172 5173 // IERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 5174 type IERC165Filterer struct { 5175 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5176 } 5177 5178 // IERC165Session is an auto generated Go binding around an Ethereum contract, 5179 // with pre-set call and transact options. 5180 type IERC165Session struct { 5181 Contract *IERC165 // Generic contract binding to set the session for 5182 CallOpts bind.CallOpts // Call options to use throughout this session 5183 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5184 } 5185 5186 // IERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, 5187 // with pre-set call options. 5188 type IERC165CallerSession struct { 5189 Contract *IERC165Caller // Generic contract caller binding to set the session for 5190 CallOpts bind.CallOpts // Call options to use throughout this session 5191 } 5192 5193 // IERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 5194 // with pre-set transact options. 5195 type IERC165TransactorSession struct { 5196 Contract *IERC165Transactor // Generic contract transactor binding to set the session for 5197 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5198 } 5199 5200 // IERC165Raw is an auto generated low-level Go binding around an Ethereum contract. 5201 type IERC165Raw struct { 5202 Contract *IERC165 // Generic contract binding to access the raw methods on 5203 } 5204 5205 // IERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 5206 type IERC165CallerRaw struct { 5207 Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on 5208 } 5209 5210 // IERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 5211 type IERC165TransactorRaw struct { 5212 Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on 5213 } 5214 5215 // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. 5216 func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { 5217 contract, err := bindIERC165(address, backend, backend, backend) 5218 if err != nil { 5219 return nil, err 5220 } 5221 return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil 5222 } 5223 5224 // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. 5225 func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { 5226 contract, err := bindIERC165(address, caller, nil, nil) 5227 if err != nil { 5228 return nil, err 5229 } 5230 return &IERC165Caller{contract: contract}, nil 5231 } 5232 5233 // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. 5234 func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { 5235 contract, err := bindIERC165(address, nil, transactor, nil) 5236 if err != nil { 5237 return nil, err 5238 } 5239 return &IERC165Transactor{contract: contract}, nil 5240 } 5241 5242 // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. 5243 func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { 5244 contract, err := bindIERC165(address, nil, nil, filterer) 5245 if err != nil { 5246 return nil, err 5247 } 5248 return &IERC165Filterer{contract: contract}, nil 5249 } 5250 5251 // bindIERC165 binds a generic wrapper to an already deployed contract. 5252 func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5253 parsed, err := abi.JSON(strings.NewReader(IERC165ABI)) 5254 if err != nil { 5255 return nil, err 5256 } 5257 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 5258 } 5259 5260 // Call invokes the (constant) contract method with params as input values and 5261 // sets the output to result. The result type might be a single field for simple 5262 // returns, a slice of interfaces for anonymous returns and a struct for named 5263 // returns. 5264 func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5265 return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...) 5266 } 5267 5268 // Transfer initiates a plain transaction to move funds to the contract, calling 5269 // its default method if one is available. 5270 func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5271 return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) 5272 } 5273 5274 // Transact invokes the (paid) contract method with params as input values. 5275 func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5276 return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...) 5277 } 5278 5279 // Call invokes the (constant) contract method with params as input values and 5280 // sets the output to result. The result type might be a single field for simple 5281 // returns, a slice of interfaces for anonymous returns and a struct for named 5282 // returns. 5283 func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5284 return _IERC165.Contract.contract.Call(opts, result, method, params...) 5285 } 5286 5287 // Transfer initiates a plain transaction to move funds to the contract, calling 5288 // its default method if one is available. 5289 func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5290 return _IERC165.Contract.contract.Transfer(opts) 5291 } 5292 5293 // Transact invokes the (paid) contract method with params as input values. 5294 func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5295 return _IERC165.Contract.contract.Transact(opts, method, params...) 5296 } 5297 5298 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5299 // 5300 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 5301 func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 5302 var ( 5303 ret0 = new(bool) 5304 ) 5305 out := ret0 5306 err := _IERC165.contract.Call(opts, out, "supportsInterface", interfaceId) 5307 return *ret0, err 5308 } 5309 5310 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5311 // 5312 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 5313 func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { 5314 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 5315 } 5316 5317 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 5318 // 5319 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 5320 func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 5321 return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) 5322 } 5323 5324 // IERC20ABI is the input ABI used to generate the binding from. 5325 const IERC20ABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 5326 5327 // IERC20FuncSigs maps the 4-byte function signature to its string representation. 5328 var IERC20FuncSigs = map[string]string{ 5329 "dd62ed3e": "allowance(address,address)", 5330 "095ea7b3": "approve(address,uint256)", 5331 "70a08231": "balanceOf(address)", 5332 "18160ddd": "totalSupply()", 5333 "a9059cbb": "transfer(address,uint256)", 5334 "23b872dd": "transferFrom(address,address,uint256)", 5335 } 5336 5337 // IERC20 is an auto generated Go binding around an Ethereum contract. 5338 type IERC20 struct { 5339 IERC20Caller // Read-only binding to the contract 5340 IERC20Transactor // Write-only binding to the contract 5341 IERC20Filterer // Log filterer for contract events 5342 } 5343 5344 // IERC20Caller is an auto generated read-only Go binding around an Ethereum contract. 5345 type IERC20Caller struct { 5346 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5347 } 5348 5349 // IERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. 5350 type IERC20Transactor struct { 5351 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5352 } 5353 5354 // IERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 5355 type IERC20Filterer struct { 5356 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5357 } 5358 5359 // IERC20Session is an auto generated Go binding around an Ethereum contract, 5360 // with pre-set call and transact options. 5361 type IERC20Session struct { 5362 Contract *IERC20 // Generic contract binding to set the session for 5363 CallOpts bind.CallOpts // Call options to use throughout this session 5364 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5365 } 5366 5367 // IERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, 5368 // with pre-set call options. 5369 type IERC20CallerSession struct { 5370 Contract *IERC20Caller // Generic contract caller binding to set the session for 5371 CallOpts bind.CallOpts // Call options to use throughout this session 5372 } 5373 5374 // IERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 5375 // with pre-set transact options. 5376 type IERC20TransactorSession struct { 5377 Contract *IERC20Transactor // Generic contract transactor binding to set the session for 5378 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5379 } 5380 5381 // IERC20Raw is an auto generated low-level Go binding around an Ethereum contract. 5382 type IERC20Raw struct { 5383 Contract *IERC20 // Generic contract binding to access the raw methods on 5384 } 5385 5386 // IERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 5387 type IERC20CallerRaw struct { 5388 Contract *IERC20Caller // Generic read-only contract binding to access the raw methods on 5389 } 5390 5391 // IERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 5392 type IERC20TransactorRaw struct { 5393 Contract *IERC20Transactor // Generic write-only contract binding to access the raw methods on 5394 } 5395 5396 // NewIERC20 creates a new instance of IERC20, bound to a specific deployed contract. 5397 func NewIERC20(address common.Address, backend bind.ContractBackend) (*IERC20, error) { 5398 contract, err := bindIERC20(address, backend, backend, backend) 5399 if err != nil { 5400 return nil, err 5401 } 5402 return &IERC20{IERC20Caller: IERC20Caller{contract: contract}, IERC20Transactor: IERC20Transactor{contract: contract}, IERC20Filterer: IERC20Filterer{contract: contract}}, nil 5403 } 5404 5405 // NewIERC20Caller creates a new read-only instance of IERC20, bound to a specific deployed contract. 5406 func NewIERC20Caller(address common.Address, caller bind.ContractCaller) (*IERC20Caller, error) { 5407 contract, err := bindIERC20(address, caller, nil, nil) 5408 if err != nil { 5409 return nil, err 5410 } 5411 return &IERC20Caller{contract: contract}, nil 5412 } 5413 5414 // NewIERC20Transactor creates a new write-only instance of IERC20, bound to a specific deployed contract. 5415 func NewIERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC20Transactor, error) { 5416 contract, err := bindIERC20(address, nil, transactor, nil) 5417 if err != nil { 5418 return nil, err 5419 } 5420 return &IERC20Transactor{contract: contract}, nil 5421 } 5422 5423 // NewIERC20Filterer creates a new log filterer instance of IERC20, bound to a specific deployed contract. 5424 func NewIERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC20Filterer, error) { 5425 contract, err := bindIERC20(address, nil, nil, filterer) 5426 if err != nil { 5427 return nil, err 5428 } 5429 return &IERC20Filterer{contract: contract}, nil 5430 } 5431 5432 // bindIERC20 binds a generic wrapper to an already deployed contract. 5433 func bindIERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5434 parsed, err := abi.JSON(strings.NewReader(IERC20ABI)) 5435 if err != nil { 5436 return nil, err 5437 } 5438 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 5439 } 5440 5441 // Call invokes the (constant) contract method with params as input values and 5442 // sets the output to result. The result type might be a single field for simple 5443 // returns, a slice of interfaces for anonymous returns and a struct for named 5444 // returns. 5445 func (_IERC20 *IERC20Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5446 return _IERC20.Contract.IERC20Caller.contract.Call(opts, result, method, params...) 5447 } 5448 5449 // Transfer initiates a plain transaction to move funds to the contract, calling 5450 // its default method if one is available. 5451 func (_IERC20 *IERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5452 return _IERC20.Contract.IERC20Transactor.contract.Transfer(opts) 5453 } 5454 5455 // Transact invokes the (paid) contract method with params as input values. 5456 func (_IERC20 *IERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5457 return _IERC20.Contract.IERC20Transactor.contract.Transact(opts, method, params...) 5458 } 5459 5460 // Call invokes the (constant) contract method with params as input values and 5461 // sets the output to result. The result type might be a single field for simple 5462 // returns, a slice of interfaces for anonymous returns and a struct for named 5463 // returns. 5464 func (_IERC20 *IERC20CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 5465 return _IERC20.Contract.contract.Call(opts, result, method, params...) 5466 } 5467 5468 // Transfer initiates a plain transaction to move funds to the contract, calling 5469 // its default method if one is available. 5470 func (_IERC20 *IERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5471 return _IERC20.Contract.contract.Transfer(opts) 5472 } 5473 5474 // Transact invokes the (paid) contract method with params as input values. 5475 func (_IERC20 *IERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5476 return _IERC20.Contract.contract.Transact(opts, method, params...) 5477 } 5478 5479 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 5480 // 5481 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 5482 func (_IERC20 *IERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 5483 var ( 5484 ret0 = new(*big.Int) 5485 ) 5486 out := ret0 5487 err := _IERC20.contract.Call(opts, out, "allowance", owner, spender) 5488 return *ret0, err 5489 } 5490 5491 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 5492 // 5493 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 5494 func (_IERC20 *IERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 5495 return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) 5496 } 5497 5498 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 5499 // 5500 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 5501 func (_IERC20 *IERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 5502 return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) 5503 } 5504 5505 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5506 // 5507 // Solidity: function balanceOf(address account) constant returns(uint256) 5508 func (_IERC20 *IERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 5509 var ( 5510 ret0 = new(*big.Int) 5511 ) 5512 out := ret0 5513 err := _IERC20.contract.Call(opts, out, "balanceOf", account) 5514 return *ret0, err 5515 } 5516 5517 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5518 // 5519 // Solidity: function balanceOf(address account) constant returns(uint256) 5520 func (_IERC20 *IERC20Session) BalanceOf(account common.Address) (*big.Int, error) { 5521 return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) 5522 } 5523 5524 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5525 // 5526 // Solidity: function balanceOf(address account) constant returns(uint256) 5527 func (_IERC20 *IERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error) { 5528 return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) 5529 } 5530 5531 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 5532 // 5533 // Solidity: function totalSupply() constant returns(uint256) 5534 func (_IERC20 *IERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 5535 var ( 5536 ret0 = new(*big.Int) 5537 ) 5538 out := ret0 5539 err := _IERC20.contract.Call(opts, out, "totalSupply") 5540 return *ret0, err 5541 } 5542 5543 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 5544 // 5545 // Solidity: function totalSupply() constant returns(uint256) 5546 func (_IERC20 *IERC20Session) TotalSupply() (*big.Int, error) { 5547 return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) 5548 } 5549 5550 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 5551 // 5552 // Solidity: function totalSupply() constant returns(uint256) 5553 func (_IERC20 *IERC20CallerSession) TotalSupply() (*big.Int, error) { 5554 return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) 5555 } 5556 5557 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5558 // 5559 // Solidity: function approve(address spender, uint256 amount) returns(bool) 5560 func (_IERC20 *IERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 5561 return _IERC20.contract.Transact(opts, "approve", spender, amount) 5562 } 5563 5564 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5565 // 5566 // Solidity: function approve(address spender, uint256 amount) returns(bool) 5567 func (_IERC20 *IERC20Session) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 5568 return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, amount) 5569 } 5570 5571 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5572 // 5573 // Solidity: function approve(address spender, uint256 amount) returns(bool) 5574 func (_IERC20 *IERC20TransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 5575 return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, amount) 5576 } 5577 5578 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 5579 // 5580 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 5581 func (_IERC20 *IERC20Transactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 5582 return _IERC20.contract.Transact(opts, "transfer", recipient, amount) 5583 } 5584 5585 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 5586 // 5587 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 5588 func (_IERC20 *IERC20Session) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 5589 return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, recipient, amount) 5590 } 5591 5592 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 5593 // 5594 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 5595 func (_IERC20 *IERC20TransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 5596 return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, recipient, amount) 5597 } 5598 5599 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5600 // 5601 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 5602 func (_IERC20 *IERC20Transactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 5603 return _IERC20.contract.Transact(opts, "transferFrom", sender, recipient, amount) 5604 } 5605 5606 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5607 // 5608 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 5609 func (_IERC20 *IERC20Session) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 5610 return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, sender, recipient, amount) 5611 } 5612 5613 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5614 // 5615 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 5616 func (_IERC20 *IERC20TransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 5617 return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, sender, recipient, amount) 5618 } 5619 5620 // IERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC20 contract. 5621 type IERC20ApprovalIterator struct { 5622 Event *IERC20Approval // Event containing the contract specifics and raw log 5623 5624 contract *bind.BoundContract // Generic contract to use for unpacking event data 5625 event string // Event name to use for unpacking event data 5626 5627 logs chan types.Log // Log channel receiving the found contract events 5628 sub ethereum.Subscription // Subscription for errors, completion and termination 5629 done bool // Whether the subscription completed delivering logs 5630 fail error // Occurred error to stop iteration 5631 } 5632 5633 // Next advances the iterator to the subsequent event, returning whether there 5634 // are any more events found. In case of a retrieval or parsing error, false is 5635 // returned and Error() can be queried for the exact failure. 5636 func (it *IERC20ApprovalIterator) Next() bool { 5637 // If the iterator failed, stop iterating 5638 if it.fail != nil { 5639 return false 5640 } 5641 // If the iterator completed, deliver directly whatever's available 5642 if it.done { 5643 select { 5644 case log := <-it.logs: 5645 it.Event = new(IERC20Approval) 5646 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5647 it.fail = err 5648 return false 5649 } 5650 it.Event.Raw = log 5651 return true 5652 5653 default: 5654 return false 5655 } 5656 } 5657 // Iterator still in progress, wait for either a data or an error event 5658 select { 5659 case log := <-it.logs: 5660 it.Event = new(IERC20Approval) 5661 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5662 it.fail = err 5663 return false 5664 } 5665 it.Event.Raw = log 5666 return true 5667 5668 case err := <-it.sub.Err(): 5669 it.done = true 5670 it.fail = err 5671 return it.Next() 5672 } 5673 } 5674 5675 // Error returns any retrieval or parsing error occurred during filtering. 5676 func (it *IERC20ApprovalIterator) Error() error { 5677 return it.fail 5678 } 5679 5680 // Close terminates the iteration process, releasing any pending underlying 5681 // resources. 5682 func (it *IERC20ApprovalIterator) Close() error { 5683 it.sub.Unsubscribe() 5684 return nil 5685 } 5686 5687 // IERC20Approval represents a Approval event raised by the IERC20 contract. 5688 type IERC20Approval struct { 5689 Owner common.Address 5690 Spender common.Address 5691 Value *big.Int 5692 Raw types.Log // Blockchain specific contextual infos 5693 } 5694 5695 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5696 // 5697 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 5698 func (_IERC20 *IERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20ApprovalIterator, error) { 5699 5700 var ownerRule []interface{} 5701 for _, ownerItem := range owner { 5702 ownerRule = append(ownerRule, ownerItem) 5703 } 5704 var spenderRule []interface{} 5705 for _, spenderItem := range spender { 5706 spenderRule = append(spenderRule, spenderItem) 5707 } 5708 5709 logs, sub, err := _IERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 5710 if err != nil { 5711 return nil, err 5712 } 5713 return &IERC20ApprovalIterator{contract: _IERC20.contract, event: "Approval", logs: logs, sub: sub}, nil 5714 } 5715 5716 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5717 // 5718 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 5719 func (_IERC20 *IERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 5720 5721 var ownerRule []interface{} 5722 for _, ownerItem := range owner { 5723 ownerRule = append(ownerRule, ownerItem) 5724 } 5725 var spenderRule []interface{} 5726 for _, spenderItem := range spender { 5727 spenderRule = append(spenderRule, spenderItem) 5728 } 5729 5730 logs, sub, err := _IERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 5731 if err != nil { 5732 return nil, err 5733 } 5734 return event.NewSubscription(func(quit <-chan struct{}) error { 5735 defer sub.Unsubscribe() 5736 for { 5737 select { 5738 case log := <-logs: 5739 // New log arrived, parse the event and forward to the user 5740 event := new(IERC20Approval) 5741 if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { 5742 return err 5743 } 5744 event.Raw = log 5745 5746 select { 5747 case sink <- event: 5748 case err := <-sub.Err(): 5749 return err 5750 case <-quit: 5751 return nil 5752 } 5753 case err := <-sub.Err(): 5754 return err 5755 case <-quit: 5756 return nil 5757 } 5758 } 5759 }), nil 5760 } 5761 5762 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5763 // 5764 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 5765 func (_IERC20 *IERC20Filterer) ParseApproval(log types.Log) (*IERC20Approval, error) { 5766 event := new(IERC20Approval) 5767 if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { 5768 return nil, err 5769 } 5770 return event, nil 5771 } 5772 5773 // IERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC20 contract. 5774 type IERC20TransferIterator struct { 5775 Event *IERC20Transfer // Event containing the contract specifics and raw log 5776 5777 contract *bind.BoundContract // Generic contract to use for unpacking event data 5778 event string // Event name to use for unpacking event data 5779 5780 logs chan types.Log // Log channel receiving the found contract events 5781 sub ethereum.Subscription // Subscription for errors, completion and termination 5782 done bool // Whether the subscription completed delivering logs 5783 fail error // Occurred error to stop iteration 5784 } 5785 5786 // Next advances the iterator to the subsequent event, returning whether there 5787 // are any more events found. In case of a retrieval or parsing error, false is 5788 // returned and Error() can be queried for the exact failure. 5789 func (it *IERC20TransferIterator) Next() bool { 5790 // If the iterator failed, stop iterating 5791 if it.fail != nil { 5792 return false 5793 } 5794 // If the iterator completed, deliver directly whatever's available 5795 if it.done { 5796 select { 5797 case log := <-it.logs: 5798 it.Event = new(IERC20Transfer) 5799 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5800 it.fail = err 5801 return false 5802 } 5803 it.Event.Raw = log 5804 return true 5805 5806 default: 5807 return false 5808 } 5809 } 5810 // Iterator still in progress, wait for either a data or an error event 5811 select { 5812 case log := <-it.logs: 5813 it.Event = new(IERC20Transfer) 5814 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5815 it.fail = err 5816 return false 5817 } 5818 it.Event.Raw = log 5819 return true 5820 5821 case err := <-it.sub.Err(): 5822 it.done = true 5823 it.fail = err 5824 return it.Next() 5825 } 5826 } 5827 5828 // Error returns any retrieval or parsing error occurred during filtering. 5829 func (it *IERC20TransferIterator) Error() error { 5830 return it.fail 5831 } 5832 5833 // Close terminates the iteration process, releasing any pending underlying 5834 // resources. 5835 func (it *IERC20TransferIterator) Close() error { 5836 it.sub.Unsubscribe() 5837 return nil 5838 } 5839 5840 // IERC20Transfer represents a Transfer event raised by the IERC20 contract. 5841 type IERC20Transfer struct { 5842 From common.Address 5843 To common.Address 5844 Value *big.Int 5845 Raw types.Log // Blockchain specific contextual infos 5846 } 5847 5848 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5849 // 5850 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5851 func (_IERC20 *IERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20TransferIterator, error) { 5852 5853 var fromRule []interface{} 5854 for _, fromItem := range from { 5855 fromRule = append(fromRule, fromItem) 5856 } 5857 var toRule []interface{} 5858 for _, toItem := range to { 5859 toRule = append(toRule, toItem) 5860 } 5861 5862 logs, sub, err := _IERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 5863 if err != nil { 5864 return nil, err 5865 } 5866 return &IERC20TransferIterator{contract: _IERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil 5867 } 5868 5869 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5870 // 5871 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5872 func (_IERC20 *IERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { 5873 5874 var fromRule []interface{} 5875 for _, fromItem := range from { 5876 fromRule = append(fromRule, fromItem) 5877 } 5878 var toRule []interface{} 5879 for _, toItem := range to { 5880 toRule = append(toRule, toItem) 5881 } 5882 5883 logs, sub, err := _IERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 5884 if err != nil { 5885 return nil, err 5886 } 5887 return event.NewSubscription(func(quit <-chan struct{}) error { 5888 defer sub.Unsubscribe() 5889 for { 5890 select { 5891 case log := <-logs: 5892 // New log arrived, parse the event and forward to the user 5893 event := new(IERC20Transfer) 5894 if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 5895 return err 5896 } 5897 event.Raw = log 5898 5899 select { 5900 case sink <- event: 5901 case err := <-sub.Err(): 5902 return err 5903 case <-quit: 5904 return nil 5905 } 5906 case err := <-sub.Err(): 5907 return err 5908 case <-quit: 5909 return nil 5910 } 5911 } 5912 }), nil 5913 } 5914 5915 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5916 // 5917 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5918 func (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, error) { 5919 event := new(IERC20Transfer) 5920 if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 5921 return nil, err 5922 } 5923 return event, nil 5924 } 5925 5926 // MinterRoleABI is the input ABI used to generate the binding from. 5927 const MinterRoleABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 5928 5929 // MinterRoleFuncSigs maps the 4-byte function signature to its string representation. 5930 var MinterRoleFuncSigs = map[string]string{ 5931 "983b2d56": "addMinter(address)", 5932 "aa271e1a": "isMinter(address)", 5933 "98650275": "renounceMinter()", 5934 } 5935 5936 // MinterRole is an auto generated Go binding around an Ethereum contract. 5937 type MinterRole struct { 5938 MinterRoleCaller // Read-only binding to the contract 5939 MinterRoleTransactor // Write-only binding to the contract 5940 MinterRoleFilterer // Log filterer for contract events 5941 } 5942 5943 // MinterRoleCaller is an auto generated read-only Go binding around an Ethereum contract. 5944 type MinterRoleCaller struct { 5945 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5946 } 5947 5948 // MinterRoleTransactor is an auto generated write-only Go binding around an Ethereum contract. 5949 type MinterRoleTransactor struct { 5950 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5951 } 5952 5953 // MinterRoleFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 5954 type MinterRoleFilterer struct { 5955 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5956 } 5957 5958 // MinterRoleSession is an auto generated Go binding around an Ethereum contract, 5959 // with pre-set call and transact options. 5960 type MinterRoleSession struct { 5961 Contract *MinterRole // Generic contract binding to set the session for 5962 CallOpts bind.CallOpts // Call options to use throughout this session 5963 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5964 } 5965 5966 // MinterRoleCallerSession is an auto generated read-only Go binding around an Ethereum contract, 5967 // with pre-set call options. 5968 type MinterRoleCallerSession struct { 5969 Contract *MinterRoleCaller // Generic contract caller binding to set the session for 5970 CallOpts bind.CallOpts // Call options to use throughout this session 5971 } 5972 5973 // MinterRoleTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 5974 // with pre-set transact options. 5975 type MinterRoleTransactorSession struct { 5976 Contract *MinterRoleTransactor // Generic contract transactor binding to set the session for 5977 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5978 } 5979 5980 // MinterRoleRaw is an auto generated low-level Go binding around an Ethereum contract. 5981 type MinterRoleRaw struct { 5982 Contract *MinterRole // Generic contract binding to access the raw methods on 5983 } 5984 5985 // MinterRoleCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 5986 type MinterRoleCallerRaw struct { 5987 Contract *MinterRoleCaller // Generic read-only contract binding to access the raw methods on 5988 } 5989 5990 // MinterRoleTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 5991 type MinterRoleTransactorRaw struct { 5992 Contract *MinterRoleTransactor // Generic write-only contract binding to access the raw methods on 5993 } 5994 5995 // NewMinterRole creates a new instance of MinterRole, bound to a specific deployed contract. 5996 func NewMinterRole(address common.Address, backend bind.ContractBackend) (*MinterRole, error) { 5997 contract, err := bindMinterRole(address, backend, backend, backend) 5998 if err != nil { 5999 return nil, err 6000 } 6001 return &MinterRole{MinterRoleCaller: MinterRoleCaller{contract: contract}, MinterRoleTransactor: MinterRoleTransactor{contract: contract}, MinterRoleFilterer: MinterRoleFilterer{contract: contract}}, nil 6002 } 6003 6004 // NewMinterRoleCaller creates a new read-only instance of MinterRole, bound to a specific deployed contract. 6005 func NewMinterRoleCaller(address common.Address, caller bind.ContractCaller) (*MinterRoleCaller, error) { 6006 contract, err := bindMinterRole(address, caller, nil, nil) 6007 if err != nil { 6008 return nil, err 6009 } 6010 return &MinterRoleCaller{contract: contract}, nil 6011 } 6012 6013 // NewMinterRoleTransactor creates a new write-only instance of MinterRole, bound to a specific deployed contract. 6014 func NewMinterRoleTransactor(address common.Address, transactor bind.ContractTransactor) (*MinterRoleTransactor, error) { 6015 contract, err := bindMinterRole(address, nil, transactor, nil) 6016 if err != nil { 6017 return nil, err 6018 } 6019 return &MinterRoleTransactor{contract: contract}, nil 6020 } 6021 6022 // NewMinterRoleFilterer creates a new log filterer instance of MinterRole, bound to a specific deployed contract. 6023 func NewMinterRoleFilterer(address common.Address, filterer bind.ContractFilterer) (*MinterRoleFilterer, error) { 6024 contract, err := bindMinterRole(address, nil, nil, filterer) 6025 if err != nil { 6026 return nil, err 6027 } 6028 return &MinterRoleFilterer{contract: contract}, nil 6029 } 6030 6031 // bindMinterRole binds a generic wrapper to an already deployed contract. 6032 func bindMinterRole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6033 parsed, err := abi.JSON(strings.NewReader(MinterRoleABI)) 6034 if err != nil { 6035 return nil, err 6036 } 6037 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6038 } 6039 6040 // Call invokes the (constant) contract method with params as input values and 6041 // sets the output to result. The result type might be a single field for simple 6042 // returns, a slice of interfaces for anonymous returns and a struct for named 6043 // returns. 6044 func (_MinterRole *MinterRoleRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6045 return _MinterRole.Contract.MinterRoleCaller.contract.Call(opts, result, method, params...) 6046 } 6047 6048 // Transfer initiates a plain transaction to move funds to the contract, calling 6049 // its default method if one is available. 6050 func (_MinterRole *MinterRoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6051 return _MinterRole.Contract.MinterRoleTransactor.contract.Transfer(opts) 6052 } 6053 6054 // Transact invokes the (paid) contract method with params as input values. 6055 func (_MinterRole *MinterRoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6056 return _MinterRole.Contract.MinterRoleTransactor.contract.Transact(opts, method, params...) 6057 } 6058 6059 // Call invokes the (constant) contract method with params as input values and 6060 // sets the output to result. The result type might be a single field for simple 6061 // returns, a slice of interfaces for anonymous returns and a struct for named 6062 // returns. 6063 func (_MinterRole *MinterRoleCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6064 return _MinterRole.Contract.contract.Call(opts, result, method, params...) 6065 } 6066 6067 // Transfer initiates a plain transaction to move funds to the contract, calling 6068 // its default method if one is available. 6069 func (_MinterRole *MinterRoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6070 return _MinterRole.Contract.contract.Transfer(opts) 6071 } 6072 6073 // Transact invokes the (paid) contract method with params as input values. 6074 func (_MinterRole *MinterRoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6075 return _MinterRole.Contract.contract.Transact(opts, method, params...) 6076 } 6077 6078 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6079 // 6080 // Solidity: function isMinter(address account) constant returns(bool) 6081 func (_MinterRole *MinterRoleCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 6082 var ( 6083 ret0 = new(bool) 6084 ) 6085 out := ret0 6086 err := _MinterRole.contract.Call(opts, out, "isMinter", account) 6087 return *ret0, err 6088 } 6089 6090 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6091 // 6092 // Solidity: function isMinter(address account) constant returns(bool) 6093 func (_MinterRole *MinterRoleSession) IsMinter(account common.Address) (bool, error) { 6094 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 6095 } 6096 6097 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6098 // 6099 // Solidity: function isMinter(address account) constant returns(bool) 6100 func (_MinterRole *MinterRoleCallerSession) IsMinter(account common.Address) (bool, error) { 6101 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 6102 } 6103 6104 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6105 // 6106 // Solidity: function addMinter(address account) returns() 6107 func (_MinterRole *MinterRoleTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 6108 return _MinterRole.contract.Transact(opts, "addMinter", account) 6109 } 6110 6111 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6112 // 6113 // Solidity: function addMinter(address account) returns() 6114 func (_MinterRole *MinterRoleSession) AddMinter(account common.Address) (*types.Transaction, error) { 6115 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 6116 } 6117 6118 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6119 // 6120 // Solidity: function addMinter(address account) returns() 6121 func (_MinterRole *MinterRoleTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 6122 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 6123 } 6124 6125 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6126 // 6127 // Solidity: function renounceMinter() returns() 6128 func (_MinterRole *MinterRoleTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 6129 return _MinterRole.contract.Transact(opts, "renounceMinter") 6130 } 6131 6132 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6133 // 6134 // Solidity: function renounceMinter() returns() 6135 func (_MinterRole *MinterRoleSession) RenounceMinter() (*types.Transaction, error) { 6136 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 6137 } 6138 6139 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6140 // 6141 // Solidity: function renounceMinter() returns() 6142 func (_MinterRole *MinterRoleTransactorSession) RenounceMinter() (*types.Transaction, error) { 6143 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 6144 } 6145 6146 // MinterRoleMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the MinterRole contract. 6147 type MinterRoleMinterAddedIterator struct { 6148 Event *MinterRoleMinterAdded // Event containing the contract specifics and raw log 6149 6150 contract *bind.BoundContract // Generic contract to use for unpacking event data 6151 event string // Event name to use for unpacking event data 6152 6153 logs chan types.Log // Log channel receiving the found contract events 6154 sub ethereum.Subscription // Subscription for errors, completion and termination 6155 done bool // Whether the subscription completed delivering logs 6156 fail error // Occurred error to stop iteration 6157 } 6158 6159 // Next advances the iterator to the subsequent event, returning whether there 6160 // are any more events found. In case of a retrieval or parsing error, false is 6161 // returned and Error() can be queried for the exact failure. 6162 func (it *MinterRoleMinterAddedIterator) Next() bool { 6163 // If the iterator failed, stop iterating 6164 if it.fail != nil { 6165 return false 6166 } 6167 // If the iterator completed, deliver directly whatever's available 6168 if it.done { 6169 select { 6170 case log := <-it.logs: 6171 it.Event = new(MinterRoleMinterAdded) 6172 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6173 it.fail = err 6174 return false 6175 } 6176 it.Event.Raw = log 6177 return true 6178 6179 default: 6180 return false 6181 } 6182 } 6183 // Iterator still in progress, wait for either a data or an error event 6184 select { 6185 case log := <-it.logs: 6186 it.Event = new(MinterRoleMinterAdded) 6187 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6188 it.fail = err 6189 return false 6190 } 6191 it.Event.Raw = log 6192 return true 6193 6194 case err := <-it.sub.Err(): 6195 it.done = true 6196 it.fail = err 6197 return it.Next() 6198 } 6199 } 6200 6201 // Error returns any retrieval or parsing error occurred during filtering. 6202 func (it *MinterRoleMinterAddedIterator) Error() error { 6203 return it.fail 6204 } 6205 6206 // Close terminates the iteration process, releasing any pending underlying 6207 // resources. 6208 func (it *MinterRoleMinterAddedIterator) Close() error { 6209 it.sub.Unsubscribe() 6210 return nil 6211 } 6212 6213 // MinterRoleMinterAdded represents a MinterAdded event raised by the MinterRole contract. 6214 type MinterRoleMinterAdded struct { 6215 Account common.Address 6216 Raw types.Log // Blockchain specific contextual infos 6217 } 6218 6219 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6220 // 6221 // Solidity: event MinterAdded(address indexed account) 6222 func (_MinterRole *MinterRoleFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterAddedIterator, error) { 6223 6224 var accountRule []interface{} 6225 for _, accountItem := range account { 6226 accountRule = append(accountRule, accountItem) 6227 } 6228 6229 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterAdded", accountRule) 6230 if err != nil { 6231 return nil, err 6232 } 6233 return &MinterRoleMinterAddedIterator{contract: _MinterRole.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 6234 } 6235 6236 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6237 // 6238 // Solidity: event MinterAdded(address indexed account) 6239 func (_MinterRole *MinterRoleFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterAdded, account []common.Address) (event.Subscription, error) { 6240 6241 var accountRule []interface{} 6242 for _, accountItem := range account { 6243 accountRule = append(accountRule, accountItem) 6244 } 6245 6246 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterAdded", accountRule) 6247 if err != nil { 6248 return nil, err 6249 } 6250 return event.NewSubscription(func(quit <-chan struct{}) error { 6251 defer sub.Unsubscribe() 6252 for { 6253 select { 6254 case log := <-logs: 6255 // New log arrived, parse the event and forward to the user 6256 event := new(MinterRoleMinterAdded) 6257 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6258 return err 6259 } 6260 event.Raw = log 6261 6262 select { 6263 case sink <- event: 6264 case err := <-sub.Err(): 6265 return err 6266 case <-quit: 6267 return nil 6268 } 6269 case err := <-sub.Err(): 6270 return err 6271 case <-quit: 6272 return nil 6273 } 6274 } 6275 }), nil 6276 } 6277 6278 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6279 // 6280 // Solidity: event MinterAdded(address indexed account) 6281 func (_MinterRole *MinterRoleFilterer) ParseMinterAdded(log types.Log) (*MinterRoleMinterAdded, error) { 6282 event := new(MinterRoleMinterAdded) 6283 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6284 return nil, err 6285 } 6286 return event, nil 6287 } 6288 6289 // MinterRoleMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the MinterRole contract. 6290 type MinterRoleMinterRemovedIterator struct { 6291 Event *MinterRoleMinterRemoved // Event containing the contract specifics and raw log 6292 6293 contract *bind.BoundContract // Generic contract to use for unpacking event data 6294 event string // Event name to use for unpacking event data 6295 6296 logs chan types.Log // Log channel receiving the found contract events 6297 sub ethereum.Subscription // Subscription for errors, completion and termination 6298 done bool // Whether the subscription completed delivering logs 6299 fail error // Occurred error to stop iteration 6300 } 6301 6302 // Next advances the iterator to the subsequent event, returning whether there 6303 // are any more events found. In case of a retrieval or parsing error, false is 6304 // returned and Error() can be queried for the exact failure. 6305 func (it *MinterRoleMinterRemovedIterator) Next() bool { 6306 // If the iterator failed, stop iterating 6307 if it.fail != nil { 6308 return false 6309 } 6310 // If the iterator completed, deliver directly whatever's available 6311 if it.done { 6312 select { 6313 case log := <-it.logs: 6314 it.Event = new(MinterRoleMinterRemoved) 6315 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6316 it.fail = err 6317 return false 6318 } 6319 it.Event.Raw = log 6320 return true 6321 6322 default: 6323 return false 6324 } 6325 } 6326 // Iterator still in progress, wait for either a data or an error event 6327 select { 6328 case log := <-it.logs: 6329 it.Event = new(MinterRoleMinterRemoved) 6330 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6331 it.fail = err 6332 return false 6333 } 6334 it.Event.Raw = log 6335 return true 6336 6337 case err := <-it.sub.Err(): 6338 it.done = true 6339 it.fail = err 6340 return it.Next() 6341 } 6342 } 6343 6344 // Error returns any retrieval or parsing error occurred during filtering. 6345 func (it *MinterRoleMinterRemovedIterator) Error() error { 6346 return it.fail 6347 } 6348 6349 // Close terminates the iteration process, releasing any pending underlying 6350 // resources. 6351 func (it *MinterRoleMinterRemovedIterator) Close() error { 6352 it.sub.Unsubscribe() 6353 return nil 6354 } 6355 6356 // MinterRoleMinterRemoved represents a MinterRemoved event raised by the MinterRole contract. 6357 type MinterRoleMinterRemoved struct { 6358 Account common.Address 6359 Raw types.Log // Blockchain specific contextual infos 6360 } 6361 6362 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6363 // 6364 // Solidity: event MinterRemoved(address indexed account) 6365 func (_MinterRole *MinterRoleFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterRemovedIterator, error) { 6366 6367 var accountRule []interface{} 6368 for _, accountItem := range account { 6369 accountRule = append(accountRule, accountItem) 6370 } 6371 6372 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterRemoved", accountRule) 6373 if err != nil { 6374 return nil, err 6375 } 6376 return &MinterRoleMinterRemovedIterator{contract: _MinterRole.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 6377 } 6378 6379 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6380 // 6381 // Solidity: event MinterRemoved(address indexed account) 6382 func (_MinterRole *MinterRoleFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterRemoved, account []common.Address) (event.Subscription, error) { 6383 6384 var accountRule []interface{} 6385 for _, accountItem := range account { 6386 accountRule = append(accountRule, accountItem) 6387 } 6388 6389 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterRemoved", accountRule) 6390 if err != nil { 6391 return nil, err 6392 } 6393 return event.NewSubscription(func(quit <-chan struct{}) error { 6394 defer sub.Unsubscribe() 6395 for { 6396 select { 6397 case log := <-logs: 6398 // New log arrived, parse the event and forward to the user 6399 event := new(MinterRoleMinterRemoved) 6400 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 6401 return err 6402 } 6403 event.Raw = log 6404 6405 select { 6406 case sink <- event: 6407 case err := <-sub.Err(): 6408 return err 6409 case <-quit: 6410 return nil 6411 } 6412 case err := <-sub.Err(): 6413 return err 6414 case <-quit: 6415 return nil 6416 } 6417 } 6418 }), nil 6419 } 6420 6421 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 6422 // 6423 // Solidity: event MinterRemoved(address indexed account) 6424 func (_MinterRole *MinterRoleFilterer) ParseMinterRemoved(log types.Log) (*MinterRoleMinterRemoved, error) { 6425 event := new(MinterRoleMinterRemoved) 6426 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 6427 return nil, err 6428 } 6429 return event, nil 6430 } 6431 6432 // MinterRoleRenounceTargetABI is the input ABI used to generate the binding from. 6433 const MinterRoleRenounceTargetABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 6434 6435 // MinterRoleRenounceTargetFuncSigs maps the 4-byte function signature to its string representation. 6436 var MinterRoleRenounceTargetFuncSigs = map[string]string{ 6437 "98650275": "renounceMinter()", 6438 } 6439 6440 // MinterRoleRenounceTarget is an auto generated Go binding around an Ethereum contract. 6441 type MinterRoleRenounceTarget struct { 6442 MinterRoleRenounceTargetCaller // Read-only binding to the contract 6443 MinterRoleRenounceTargetTransactor // Write-only binding to the contract 6444 MinterRoleRenounceTargetFilterer // Log filterer for contract events 6445 } 6446 6447 // MinterRoleRenounceTargetCaller is an auto generated read-only Go binding around an Ethereum contract. 6448 type MinterRoleRenounceTargetCaller struct { 6449 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6450 } 6451 6452 // MinterRoleRenounceTargetTransactor is an auto generated write-only Go binding around an Ethereum contract. 6453 type MinterRoleRenounceTargetTransactor struct { 6454 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6455 } 6456 6457 // MinterRoleRenounceTargetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 6458 type MinterRoleRenounceTargetFilterer struct { 6459 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6460 } 6461 6462 // MinterRoleRenounceTargetSession is an auto generated Go binding around an Ethereum contract, 6463 // with pre-set call and transact options. 6464 type MinterRoleRenounceTargetSession struct { 6465 Contract *MinterRoleRenounceTarget // Generic contract binding to set the session for 6466 CallOpts bind.CallOpts // Call options to use throughout this session 6467 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6468 } 6469 6470 // MinterRoleRenounceTargetCallerSession is an auto generated read-only Go binding around an Ethereum contract, 6471 // with pre-set call options. 6472 type MinterRoleRenounceTargetCallerSession struct { 6473 Contract *MinterRoleRenounceTargetCaller // Generic contract caller binding to set the session for 6474 CallOpts bind.CallOpts // Call options to use throughout this session 6475 } 6476 6477 // MinterRoleRenounceTargetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 6478 // with pre-set transact options. 6479 type MinterRoleRenounceTargetTransactorSession struct { 6480 Contract *MinterRoleRenounceTargetTransactor // Generic contract transactor binding to set the session for 6481 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6482 } 6483 6484 // MinterRoleRenounceTargetRaw is an auto generated low-level Go binding around an Ethereum contract. 6485 type MinterRoleRenounceTargetRaw struct { 6486 Contract *MinterRoleRenounceTarget // Generic contract binding to access the raw methods on 6487 } 6488 6489 // MinterRoleRenounceTargetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 6490 type MinterRoleRenounceTargetCallerRaw struct { 6491 Contract *MinterRoleRenounceTargetCaller // Generic read-only contract binding to access the raw methods on 6492 } 6493 6494 // MinterRoleRenounceTargetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 6495 type MinterRoleRenounceTargetTransactorRaw struct { 6496 Contract *MinterRoleRenounceTargetTransactor // Generic write-only contract binding to access the raw methods on 6497 } 6498 6499 // NewMinterRoleRenounceTarget creates a new instance of MinterRoleRenounceTarget, bound to a specific deployed contract. 6500 func NewMinterRoleRenounceTarget(address common.Address, backend bind.ContractBackend) (*MinterRoleRenounceTarget, error) { 6501 contract, err := bindMinterRoleRenounceTarget(address, backend, backend, backend) 6502 if err != nil { 6503 return nil, err 6504 } 6505 return &MinterRoleRenounceTarget{MinterRoleRenounceTargetCaller: MinterRoleRenounceTargetCaller{contract: contract}, MinterRoleRenounceTargetTransactor: MinterRoleRenounceTargetTransactor{contract: contract}, MinterRoleRenounceTargetFilterer: MinterRoleRenounceTargetFilterer{contract: contract}}, nil 6506 } 6507 6508 // NewMinterRoleRenounceTargetCaller creates a new read-only instance of MinterRoleRenounceTarget, bound to a specific deployed contract. 6509 func NewMinterRoleRenounceTargetCaller(address common.Address, caller bind.ContractCaller) (*MinterRoleRenounceTargetCaller, error) { 6510 contract, err := bindMinterRoleRenounceTarget(address, caller, nil, nil) 6511 if err != nil { 6512 return nil, err 6513 } 6514 return &MinterRoleRenounceTargetCaller{contract: contract}, nil 6515 } 6516 6517 // NewMinterRoleRenounceTargetTransactor creates a new write-only instance of MinterRoleRenounceTarget, bound to a specific deployed contract. 6518 func NewMinterRoleRenounceTargetTransactor(address common.Address, transactor bind.ContractTransactor) (*MinterRoleRenounceTargetTransactor, error) { 6519 contract, err := bindMinterRoleRenounceTarget(address, nil, transactor, nil) 6520 if err != nil { 6521 return nil, err 6522 } 6523 return &MinterRoleRenounceTargetTransactor{contract: contract}, nil 6524 } 6525 6526 // NewMinterRoleRenounceTargetFilterer creates a new log filterer instance of MinterRoleRenounceTarget, bound to a specific deployed contract. 6527 func NewMinterRoleRenounceTargetFilterer(address common.Address, filterer bind.ContractFilterer) (*MinterRoleRenounceTargetFilterer, error) { 6528 contract, err := bindMinterRoleRenounceTarget(address, nil, nil, filterer) 6529 if err != nil { 6530 return nil, err 6531 } 6532 return &MinterRoleRenounceTargetFilterer{contract: contract}, nil 6533 } 6534 6535 // bindMinterRoleRenounceTarget binds a generic wrapper to an already deployed contract. 6536 func bindMinterRoleRenounceTarget(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6537 parsed, err := abi.JSON(strings.NewReader(MinterRoleRenounceTargetABI)) 6538 if err != nil { 6539 return nil, err 6540 } 6541 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6542 } 6543 6544 // Call invokes the (constant) contract method with params as input values and 6545 // sets the output to result. The result type might be a single field for simple 6546 // returns, a slice of interfaces for anonymous returns and a struct for named 6547 // returns. 6548 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6549 return _MinterRoleRenounceTarget.Contract.MinterRoleRenounceTargetCaller.contract.Call(opts, result, method, params...) 6550 } 6551 6552 // Transfer initiates a plain transaction to move funds to the contract, calling 6553 // its default method if one is available. 6554 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6555 return _MinterRoleRenounceTarget.Contract.MinterRoleRenounceTargetTransactor.contract.Transfer(opts) 6556 } 6557 6558 // Transact invokes the (paid) contract method with params as input values. 6559 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6560 return _MinterRoleRenounceTarget.Contract.MinterRoleRenounceTargetTransactor.contract.Transact(opts, method, params...) 6561 } 6562 6563 // Call invokes the (constant) contract method with params as input values and 6564 // sets the output to result. The result type might be a single field for simple 6565 // returns, a slice of interfaces for anonymous returns and a struct for named 6566 // returns. 6567 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6568 return _MinterRoleRenounceTarget.Contract.contract.Call(opts, result, method, params...) 6569 } 6570 6571 // Transfer initiates a plain transaction to move funds to the contract, calling 6572 // its default method if one is available. 6573 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6574 return _MinterRoleRenounceTarget.Contract.contract.Transfer(opts) 6575 } 6576 6577 // Transact invokes the (paid) contract method with params as input values. 6578 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6579 return _MinterRoleRenounceTarget.Contract.contract.Transact(opts, method, params...) 6580 } 6581 6582 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6583 // 6584 // Solidity: function renounceMinter() returns() 6585 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 6586 return _MinterRoleRenounceTarget.contract.Transact(opts, "renounceMinter") 6587 } 6588 6589 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6590 // 6591 // Solidity: function renounceMinter() returns() 6592 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetSession) RenounceMinter() (*types.Transaction, error) { 6593 return _MinterRoleRenounceTarget.Contract.RenounceMinter(&_MinterRoleRenounceTarget.TransactOpts) 6594 } 6595 6596 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6597 // 6598 // Solidity: function renounceMinter() returns() 6599 func (_MinterRoleRenounceTarget *MinterRoleRenounceTargetTransactorSession) RenounceMinter() (*types.Transaction, error) { 6600 return _MinterRoleRenounceTarget.Contract.RenounceMinter(&_MinterRoleRenounceTarget.TransactOpts) 6601 } 6602 6603 // OnApproveABI is the input ABI used to generate the binding from. 6604 const OnApproveABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"INTERFACE_ID_ON_APPROVE\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onApprove\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 6605 6606 // OnApproveFuncSigs maps the 4-byte function signature to its string representation. 6607 var OnApproveFuncSigs = map[string]string{ 6608 "6cd28f9a": "INTERFACE_ID_ON_APPROVE()", 6609 "4273ca16": "onApprove(address,address,uint256,bytes)", 6610 "01ffc9a7": "supportsInterface(bytes4)", 6611 } 6612 6613 // OnApprove is an auto generated Go binding around an Ethereum contract. 6614 type OnApprove struct { 6615 OnApproveCaller // Read-only binding to the contract 6616 OnApproveTransactor // Write-only binding to the contract 6617 OnApproveFilterer // Log filterer for contract events 6618 } 6619 6620 // OnApproveCaller is an auto generated read-only Go binding around an Ethereum contract. 6621 type OnApproveCaller struct { 6622 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6623 } 6624 6625 // OnApproveTransactor is an auto generated write-only Go binding around an Ethereum contract. 6626 type OnApproveTransactor struct { 6627 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6628 } 6629 6630 // OnApproveFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 6631 type OnApproveFilterer struct { 6632 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6633 } 6634 6635 // OnApproveSession is an auto generated Go binding around an Ethereum contract, 6636 // with pre-set call and transact options. 6637 type OnApproveSession struct { 6638 Contract *OnApprove // Generic contract binding to set the session for 6639 CallOpts bind.CallOpts // Call options to use throughout this session 6640 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6641 } 6642 6643 // OnApproveCallerSession is an auto generated read-only Go binding around an Ethereum contract, 6644 // with pre-set call options. 6645 type OnApproveCallerSession struct { 6646 Contract *OnApproveCaller // Generic contract caller binding to set the session for 6647 CallOpts bind.CallOpts // Call options to use throughout this session 6648 } 6649 6650 // OnApproveTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 6651 // with pre-set transact options. 6652 type OnApproveTransactorSession struct { 6653 Contract *OnApproveTransactor // Generic contract transactor binding to set the session for 6654 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6655 } 6656 6657 // OnApproveRaw is an auto generated low-level Go binding around an Ethereum contract. 6658 type OnApproveRaw struct { 6659 Contract *OnApprove // Generic contract binding to access the raw methods on 6660 } 6661 6662 // OnApproveCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 6663 type OnApproveCallerRaw struct { 6664 Contract *OnApproveCaller // Generic read-only contract binding to access the raw methods on 6665 } 6666 6667 // OnApproveTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 6668 type OnApproveTransactorRaw struct { 6669 Contract *OnApproveTransactor // Generic write-only contract binding to access the raw methods on 6670 } 6671 6672 // NewOnApprove creates a new instance of OnApprove, bound to a specific deployed contract. 6673 func NewOnApprove(address common.Address, backend bind.ContractBackend) (*OnApprove, error) { 6674 contract, err := bindOnApprove(address, backend, backend, backend) 6675 if err != nil { 6676 return nil, err 6677 } 6678 return &OnApprove{OnApproveCaller: OnApproveCaller{contract: contract}, OnApproveTransactor: OnApproveTransactor{contract: contract}, OnApproveFilterer: OnApproveFilterer{contract: contract}}, nil 6679 } 6680 6681 // NewOnApproveCaller creates a new read-only instance of OnApprove, bound to a specific deployed contract. 6682 func NewOnApproveCaller(address common.Address, caller bind.ContractCaller) (*OnApproveCaller, error) { 6683 contract, err := bindOnApprove(address, caller, nil, nil) 6684 if err != nil { 6685 return nil, err 6686 } 6687 return &OnApproveCaller{contract: contract}, nil 6688 } 6689 6690 // NewOnApproveTransactor creates a new write-only instance of OnApprove, bound to a specific deployed contract. 6691 func NewOnApproveTransactor(address common.Address, transactor bind.ContractTransactor) (*OnApproveTransactor, error) { 6692 contract, err := bindOnApprove(address, nil, transactor, nil) 6693 if err != nil { 6694 return nil, err 6695 } 6696 return &OnApproveTransactor{contract: contract}, nil 6697 } 6698 6699 // NewOnApproveFilterer creates a new log filterer instance of OnApprove, bound to a specific deployed contract. 6700 func NewOnApproveFilterer(address common.Address, filterer bind.ContractFilterer) (*OnApproveFilterer, error) { 6701 contract, err := bindOnApprove(address, nil, nil, filterer) 6702 if err != nil { 6703 return nil, err 6704 } 6705 return &OnApproveFilterer{contract: contract}, nil 6706 } 6707 6708 // bindOnApprove binds a generic wrapper to an already deployed contract. 6709 func bindOnApprove(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6710 parsed, err := abi.JSON(strings.NewReader(OnApproveABI)) 6711 if err != nil { 6712 return nil, err 6713 } 6714 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6715 } 6716 6717 // Call invokes the (constant) contract method with params as input values and 6718 // sets the output to result. The result type might be a single field for simple 6719 // returns, a slice of interfaces for anonymous returns and a struct for named 6720 // returns. 6721 func (_OnApprove *OnApproveRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6722 return _OnApprove.Contract.OnApproveCaller.contract.Call(opts, result, method, params...) 6723 } 6724 6725 // Transfer initiates a plain transaction to move funds to the contract, calling 6726 // its default method if one is available. 6727 func (_OnApprove *OnApproveRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6728 return _OnApprove.Contract.OnApproveTransactor.contract.Transfer(opts) 6729 } 6730 6731 // Transact invokes the (paid) contract method with params as input values. 6732 func (_OnApprove *OnApproveRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6733 return _OnApprove.Contract.OnApproveTransactor.contract.Transact(opts, method, params...) 6734 } 6735 6736 // Call invokes the (constant) contract method with params as input values and 6737 // sets the output to result. The result type might be a single field for simple 6738 // returns, a slice of interfaces for anonymous returns and a struct for named 6739 // returns. 6740 func (_OnApprove *OnApproveCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6741 return _OnApprove.Contract.contract.Call(opts, result, method, params...) 6742 } 6743 6744 // Transfer initiates a plain transaction to move funds to the contract, calling 6745 // its default method if one is available. 6746 func (_OnApprove *OnApproveTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6747 return _OnApprove.Contract.contract.Transfer(opts) 6748 } 6749 6750 // Transact invokes the (paid) contract method with params as input values. 6751 func (_OnApprove *OnApproveTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6752 return _OnApprove.Contract.contract.Transact(opts, method, params...) 6753 } 6754 6755 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 6756 // 6757 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 6758 func (_OnApprove *OnApproveCaller) INTERFACEIDONAPPROVE(opts *bind.CallOpts) ([4]byte, error) { 6759 var ( 6760 ret0 = new([4]byte) 6761 ) 6762 out := ret0 6763 err := _OnApprove.contract.Call(opts, out, "INTERFACE_ID_ON_APPROVE") 6764 return *ret0, err 6765 } 6766 6767 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 6768 // 6769 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 6770 func (_OnApprove *OnApproveSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 6771 return _OnApprove.Contract.INTERFACEIDONAPPROVE(&_OnApprove.CallOpts) 6772 } 6773 6774 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 6775 // 6776 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 6777 func (_OnApprove *OnApproveCallerSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 6778 return _OnApprove.Contract.INTERFACEIDONAPPROVE(&_OnApprove.CallOpts) 6779 } 6780 6781 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 6782 // 6783 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 6784 func (_OnApprove *OnApproveCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 6785 var ( 6786 ret0 = new(bool) 6787 ) 6788 out := ret0 6789 err := _OnApprove.contract.Call(opts, out, "supportsInterface", interfaceId) 6790 return *ret0, err 6791 } 6792 6793 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 6794 // 6795 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 6796 func (_OnApprove *OnApproveSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 6797 return _OnApprove.Contract.SupportsInterface(&_OnApprove.CallOpts, interfaceId) 6798 } 6799 6800 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 6801 // 6802 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 6803 func (_OnApprove *OnApproveCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 6804 return _OnApprove.Contract.SupportsInterface(&_OnApprove.CallOpts, interfaceId) 6805 } 6806 6807 // OnApprove is a paid mutator transaction binding the contract method 0x4273ca16. 6808 // 6809 // Solidity: function onApprove(address owner, address spender, uint256 amount, bytes data) returns(bool) 6810 func (_OnApprove *OnApproveTransactor) OnApprove(opts *bind.TransactOpts, owner common.Address, spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 6811 return _OnApprove.contract.Transact(opts, "onApprove", owner, spender, amount, data) 6812 } 6813 6814 // OnApprove is a paid mutator transaction binding the contract method 0x4273ca16. 6815 // 6816 // Solidity: function onApprove(address owner, address spender, uint256 amount, bytes data) returns(bool) 6817 func (_OnApprove *OnApproveSession) OnApprove(owner common.Address, spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 6818 return _OnApprove.Contract.OnApprove(&_OnApprove.TransactOpts, owner, spender, amount, data) 6819 } 6820 6821 // OnApprove is a paid mutator transaction binding the contract method 0x4273ca16. 6822 // 6823 // Solidity: function onApprove(address owner, address spender, uint256 amount, bytes data) returns(bool) 6824 func (_OnApprove *OnApproveTransactorSession) OnApprove(owner common.Address, spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 6825 return _OnApprove.Contract.OnApprove(&_OnApprove.TransactOpts, owner, spender, amount, data) 6826 } 6827 6828 // OnApproveConstantABI is the input ABI used to generate the binding from. 6829 const OnApproveConstantABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"INTERFACE_ID_ON_APPROVE\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 6830 6831 // OnApproveConstantFuncSigs maps the 4-byte function signature to its string representation. 6832 var OnApproveConstantFuncSigs = map[string]string{ 6833 "6cd28f9a": "INTERFACE_ID_ON_APPROVE()", 6834 } 6835 6836 // OnApproveConstantBin is the compiled bytecode used for deploying new contracts. 6837 var OnApproveConstantBin = "0x6080604052348015600f57600080fd5b5060c78061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80636cd28f9a14602d575b600080fd5b60336050565b604080516001600160e01b03199092168252519081900360200190f35b604051806028606b8239602801905060405180910390208156fe6f6e417070726f766528616464726573732c616464726573732c75696e743235362c627974657329a265627a7a723158206d94182e39f46cad6425154650e56ecd40259e07a64364bd131e67fe91c85c7664736f6c634300050c0032" 6838 6839 // DeployOnApproveConstant deploys a new Ethereum contract, binding an instance of OnApproveConstant to it. 6840 func DeployOnApproveConstant(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *OnApproveConstant, error) { 6841 parsed, err := abi.JSON(strings.NewReader(OnApproveConstantABI)) 6842 if err != nil { 6843 return common.Address{}, nil, nil, err 6844 } 6845 6846 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(OnApproveConstantBin), backend) 6847 if err != nil { 6848 return common.Address{}, nil, nil, err 6849 } 6850 return address, tx, &OnApproveConstant{OnApproveConstantCaller: OnApproveConstantCaller{contract: contract}, OnApproveConstantTransactor: OnApproveConstantTransactor{contract: contract}, OnApproveConstantFilterer: OnApproveConstantFilterer{contract: contract}}, nil 6851 } 6852 6853 // OnApproveConstant is an auto generated Go binding around an Ethereum contract. 6854 type OnApproveConstant struct { 6855 OnApproveConstantCaller // Read-only binding to the contract 6856 OnApproveConstantTransactor // Write-only binding to the contract 6857 OnApproveConstantFilterer // Log filterer for contract events 6858 } 6859 6860 // OnApproveConstantCaller is an auto generated read-only Go binding around an Ethereum contract. 6861 type OnApproveConstantCaller struct { 6862 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6863 } 6864 6865 // OnApproveConstantTransactor is an auto generated write-only Go binding around an Ethereum contract. 6866 type OnApproveConstantTransactor struct { 6867 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6868 } 6869 6870 // OnApproveConstantFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 6871 type OnApproveConstantFilterer struct { 6872 contract *bind.BoundContract // Generic contract wrapper for the low level calls 6873 } 6874 6875 // OnApproveConstantSession is an auto generated Go binding around an Ethereum contract, 6876 // with pre-set call and transact options. 6877 type OnApproveConstantSession struct { 6878 Contract *OnApproveConstant // Generic contract binding to set the session for 6879 CallOpts bind.CallOpts // Call options to use throughout this session 6880 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6881 } 6882 6883 // OnApproveConstantCallerSession is an auto generated read-only Go binding around an Ethereum contract, 6884 // with pre-set call options. 6885 type OnApproveConstantCallerSession struct { 6886 Contract *OnApproveConstantCaller // Generic contract caller binding to set the session for 6887 CallOpts bind.CallOpts // Call options to use throughout this session 6888 } 6889 6890 // OnApproveConstantTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 6891 // with pre-set transact options. 6892 type OnApproveConstantTransactorSession struct { 6893 Contract *OnApproveConstantTransactor // Generic contract transactor binding to set the session for 6894 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 6895 } 6896 6897 // OnApproveConstantRaw is an auto generated low-level Go binding around an Ethereum contract. 6898 type OnApproveConstantRaw struct { 6899 Contract *OnApproveConstant // Generic contract binding to access the raw methods on 6900 } 6901 6902 // OnApproveConstantCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 6903 type OnApproveConstantCallerRaw struct { 6904 Contract *OnApproveConstantCaller // Generic read-only contract binding to access the raw methods on 6905 } 6906 6907 // OnApproveConstantTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 6908 type OnApproveConstantTransactorRaw struct { 6909 Contract *OnApproveConstantTransactor // Generic write-only contract binding to access the raw methods on 6910 } 6911 6912 // NewOnApproveConstant creates a new instance of OnApproveConstant, bound to a specific deployed contract. 6913 func NewOnApproveConstant(address common.Address, backend bind.ContractBackend) (*OnApproveConstant, error) { 6914 contract, err := bindOnApproveConstant(address, backend, backend, backend) 6915 if err != nil { 6916 return nil, err 6917 } 6918 return &OnApproveConstant{OnApproveConstantCaller: OnApproveConstantCaller{contract: contract}, OnApproveConstantTransactor: OnApproveConstantTransactor{contract: contract}, OnApproveConstantFilterer: OnApproveConstantFilterer{contract: contract}}, nil 6919 } 6920 6921 // NewOnApproveConstantCaller creates a new read-only instance of OnApproveConstant, bound to a specific deployed contract. 6922 func NewOnApproveConstantCaller(address common.Address, caller bind.ContractCaller) (*OnApproveConstantCaller, error) { 6923 contract, err := bindOnApproveConstant(address, caller, nil, nil) 6924 if err != nil { 6925 return nil, err 6926 } 6927 return &OnApproveConstantCaller{contract: contract}, nil 6928 } 6929 6930 // NewOnApproveConstantTransactor creates a new write-only instance of OnApproveConstant, bound to a specific deployed contract. 6931 func NewOnApproveConstantTransactor(address common.Address, transactor bind.ContractTransactor) (*OnApproveConstantTransactor, error) { 6932 contract, err := bindOnApproveConstant(address, nil, transactor, nil) 6933 if err != nil { 6934 return nil, err 6935 } 6936 return &OnApproveConstantTransactor{contract: contract}, nil 6937 } 6938 6939 // NewOnApproveConstantFilterer creates a new log filterer instance of OnApproveConstant, bound to a specific deployed contract. 6940 func NewOnApproveConstantFilterer(address common.Address, filterer bind.ContractFilterer) (*OnApproveConstantFilterer, error) { 6941 contract, err := bindOnApproveConstant(address, nil, nil, filterer) 6942 if err != nil { 6943 return nil, err 6944 } 6945 return &OnApproveConstantFilterer{contract: contract}, nil 6946 } 6947 6948 // bindOnApproveConstant binds a generic wrapper to an already deployed contract. 6949 func bindOnApproveConstant(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 6950 parsed, err := abi.JSON(strings.NewReader(OnApproveConstantABI)) 6951 if err != nil { 6952 return nil, err 6953 } 6954 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 6955 } 6956 6957 // Call invokes the (constant) contract method with params as input values and 6958 // sets the output to result. The result type might be a single field for simple 6959 // returns, a slice of interfaces for anonymous returns and a struct for named 6960 // returns. 6961 func (_OnApproveConstant *OnApproveConstantRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6962 return _OnApproveConstant.Contract.OnApproveConstantCaller.contract.Call(opts, result, method, params...) 6963 } 6964 6965 // Transfer initiates a plain transaction to move funds to the contract, calling 6966 // its default method if one is available. 6967 func (_OnApproveConstant *OnApproveConstantRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6968 return _OnApproveConstant.Contract.OnApproveConstantTransactor.contract.Transfer(opts) 6969 } 6970 6971 // Transact invokes the (paid) contract method with params as input values. 6972 func (_OnApproveConstant *OnApproveConstantRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6973 return _OnApproveConstant.Contract.OnApproveConstantTransactor.contract.Transact(opts, method, params...) 6974 } 6975 6976 // Call invokes the (constant) contract method with params as input values and 6977 // sets the output to result. The result type might be a single field for simple 6978 // returns, a slice of interfaces for anonymous returns and a struct for named 6979 // returns. 6980 func (_OnApproveConstant *OnApproveConstantCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 6981 return _OnApproveConstant.Contract.contract.Call(opts, result, method, params...) 6982 } 6983 6984 // Transfer initiates a plain transaction to move funds to the contract, calling 6985 // its default method if one is available. 6986 func (_OnApproveConstant *OnApproveConstantTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6987 return _OnApproveConstant.Contract.contract.Transfer(opts) 6988 } 6989 6990 // Transact invokes the (paid) contract method with params as input values. 6991 func (_OnApproveConstant *OnApproveConstantTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6992 return _OnApproveConstant.Contract.contract.Transact(opts, method, params...) 6993 } 6994 6995 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 6996 // 6997 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 6998 func (_OnApproveConstant *OnApproveConstantCaller) INTERFACEIDONAPPROVE(opts *bind.CallOpts) ([4]byte, error) { 6999 var ( 7000 ret0 = new([4]byte) 7001 ) 7002 out := ret0 7003 err := _OnApproveConstant.contract.Call(opts, out, "INTERFACE_ID_ON_APPROVE") 7004 return *ret0, err 7005 } 7006 7007 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 7008 // 7009 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 7010 func (_OnApproveConstant *OnApproveConstantSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 7011 return _OnApproveConstant.Contract.INTERFACEIDONAPPROVE(&_OnApproveConstant.CallOpts) 7012 } 7013 7014 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 7015 // 7016 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 7017 func (_OnApproveConstant *OnApproveConstantCallerSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 7018 return _OnApproveConstant.Contract.INTERFACEIDONAPPROVE(&_OnApproveConstant.CallOpts) 7019 } 7020 7021 // OwnableABI is the input ABI used to generate the binding from. 7022 const OwnableABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 7023 7024 // OwnableFuncSigs maps the 4-byte function signature to its string representation. 7025 var OwnableFuncSigs = map[string]string{ 7026 "8f32d59b": "isOwner()", 7027 "8da5cb5b": "owner()", 7028 "715018a6": "renounceOwnership()", 7029 "f2fde38b": "transferOwnership(address)", 7030 } 7031 7032 // Ownable is an auto generated Go binding around an Ethereum contract. 7033 type Ownable struct { 7034 OwnableCaller // Read-only binding to the contract 7035 OwnableTransactor // Write-only binding to the contract 7036 OwnableFilterer // Log filterer for contract events 7037 } 7038 7039 // OwnableCaller is an auto generated read-only Go binding around an Ethereum contract. 7040 type OwnableCaller struct { 7041 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7042 } 7043 7044 // OwnableTransactor is an auto generated write-only Go binding around an Ethereum contract. 7045 type OwnableTransactor struct { 7046 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7047 } 7048 7049 // OwnableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7050 type OwnableFilterer struct { 7051 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7052 } 7053 7054 // OwnableSession is an auto generated Go binding around an Ethereum contract, 7055 // with pre-set call and transact options. 7056 type OwnableSession struct { 7057 Contract *Ownable // Generic contract binding to set the session for 7058 CallOpts bind.CallOpts // Call options to use throughout this session 7059 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7060 } 7061 7062 // OwnableCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7063 // with pre-set call options. 7064 type OwnableCallerSession struct { 7065 Contract *OwnableCaller // Generic contract caller binding to set the session for 7066 CallOpts bind.CallOpts // Call options to use throughout this session 7067 } 7068 7069 // OwnableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 7070 // with pre-set transact options. 7071 type OwnableTransactorSession struct { 7072 Contract *OwnableTransactor // Generic contract transactor binding to set the session for 7073 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7074 } 7075 7076 // OwnableRaw is an auto generated low-level Go binding around an Ethereum contract. 7077 type OwnableRaw struct { 7078 Contract *Ownable // Generic contract binding to access the raw methods on 7079 } 7080 7081 // OwnableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 7082 type OwnableCallerRaw struct { 7083 Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on 7084 } 7085 7086 // OwnableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 7087 type OwnableTransactorRaw struct { 7088 Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on 7089 } 7090 7091 // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. 7092 func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { 7093 contract, err := bindOwnable(address, backend, backend, backend) 7094 if err != nil { 7095 return nil, err 7096 } 7097 return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil 7098 } 7099 7100 // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. 7101 func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { 7102 contract, err := bindOwnable(address, caller, nil, nil) 7103 if err != nil { 7104 return nil, err 7105 } 7106 return &OwnableCaller{contract: contract}, nil 7107 } 7108 7109 // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. 7110 func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { 7111 contract, err := bindOwnable(address, nil, transactor, nil) 7112 if err != nil { 7113 return nil, err 7114 } 7115 return &OwnableTransactor{contract: contract}, nil 7116 } 7117 7118 // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. 7119 func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { 7120 contract, err := bindOwnable(address, nil, nil, filterer) 7121 if err != nil { 7122 return nil, err 7123 } 7124 return &OwnableFilterer{contract: contract}, nil 7125 } 7126 7127 // bindOwnable binds a generic wrapper to an already deployed contract. 7128 func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7129 parsed, err := abi.JSON(strings.NewReader(OwnableABI)) 7130 if err != nil { 7131 return nil, err 7132 } 7133 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7134 } 7135 7136 // Call invokes the (constant) contract method with params as input values and 7137 // sets the output to result. The result type might be a single field for simple 7138 // returns, a slice of interfaces for anonymous returns and a struct for named 7139 // returns. 7140 func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7141 return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...) 7142 } 7143 7144 // Transfer initiates a plain transaction to move funds to the contract, calling 7145 // its default method if one is available. 7146 func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7147 return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) 7148 } 7149 7150 // Transact invokes the (paid) contract method with params as input values. 7151 func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7152 return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...) 7153 } 7154 7155 // Call invokes the (constant) contract method with params as input values and 7156 // sets the output to result. The result type might be a single field for simple 7157 // returns, a slice of interfaces for anonymous returns and a struct for named 7158 // returns. 7159 func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7160 return _Ownable.Contract.contract.Call(opts, result, method, params...) 7161 } 7162 7163 // Transfer initiates a plain transaction to move funds to the contract, calling 7164 // its default method if one is available. 7165 func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7166 return _Ownable.Contract.contract.Transfer(opts) 7167 } 7168 7169 // Transact invokes the (paid) contract method with params as input values. 7170 func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7171 return _Ownable.Contract.contract.Transact(opts, method, params...) 7172 } 7173 7174 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7175 // 7176 // Solidity: function isOwner() constant returns(bool) 7177 func (_Ownable *OwnableCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 7178 var ( 7179 ret0 = new(bool) 7180 ) 7181 out := ret0 7182 err := _Ownable.contract.Call(opts, out, "isOwner") 7183 return *ret0, err 7184 } 7185 7186 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7187 // 7188 // Solidity: function isOwner() constant returns(bool) 7189 func (_Ownable *OwnableSession) IsOwner() (bool, error) { 7190 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 7191 } 7192 7193 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 7194 // 7195 // Solidity: function isOwner() constant returns(bool) 7196 func (_Ownable *OwnableCallerSession) IsOwner() (bool, error) { 7197 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 7198 } 7199 7200 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7201 // 7202 // Solidity: function owner() constant returns(address) 7203 func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 7204 var ( 7205 ret0 = new(common.Address) 7206 ) 7207 out := ret0 7208 err := _Ownable.contract.Call(opts, out, "owner") 7209 return *ret0, err 7210 } 7211 7212 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7213 // 7214 // Solidity: function owner() constant returns(address) 7215 func (_Ownable *OwnableSession) Owner() (common.Address, error) { 7216 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 7217 } 7218 7219 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 7220 // 7221 // Solidity: function owner() constant returns(address) 7222 func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { 7223 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 7224 } 7225 7226 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7227 // 7228 // Solidity: function renounceOwnership() returns() 7229 func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 7230 return _Ownable.contract.Transact(opts, "renounceOwnership") 7231 } 7232 7233 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7234 // 7235 // Solidity: function renounceOwnership() returns() 7236 func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { 7237 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 7238 } 7239 7240 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7241 // 7242 // Solidity: function renounceOwnership() returns() 7243 func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { 7244 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 7245 } 7246 7247 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7248 // 7249 // Solidity: function transferOwnership(address newOwner) returns() 7250 func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 7251 return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) 7252 } 7253 7254 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7255 // 7256 // Solidity: function transferOwnership(address newOwner) returns() 7257 func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7258 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 7259 } 7260 7261 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7262 // 7263 // Solidity: function transferOwnership(address newOwner) returns() 7264 func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7265 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 7266 } 7267 7268 // 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. 7269 type OwnableOwnershipTransferredIterator struct { 7270 Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log 7271 7272 contract *bind.BoundContract // Generic contract to use for unpacking event data 7273 event string // Event name to use for unpacking event data 7274 7275 logs chan types.Log // Log channel receiving the found contract events 7276 sub ethereum.Subscription // Subscription for errors, completion and termination 7277 done bool // Whether the subscription completed delivering logs 7278 fail error // Occurred error to stop iteration 7279 } 7280 7281 // Next advances the iterator to the subsequent event, returning whether there 7282 // are any more events found. In case of a retrieval or parsing error, false is 7283 // returned and Error() can be queried for the exact failure. 7284 func (it *OwnableOwnershipTransferredIterator) Next() bool { 7285 // If the iterator failed, stop iterating 7286 if it.fail != nil { 7287 return false 7288 } 7289 // If the iterator completed, deliver directly whatever's available 7290 if it.done { 7291 select { 7292 case log := <-it.logs: 7293 it.Event = new(OwnableOwnershipTransferred) 7294 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7295 it.fail = err 7296 return false 7297 } 7298 it.Event.Raw = log 7299 return true 7300 7301 default: 7302 return false 7303 } 7304 } 7305 // Iterator still in progress, wait for either a data or an error event 7306 select { 7307 case log := <-it.logs: 7308 it.Event = new(OwnableOwnershipTransferred) 7309 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7310 it.fail = err 7311 return false 7312 } 7313 it.Event.Raw = log 7314 return true 7315 7316 case err := <-it.sub.Err(): 7317 it.done = true 7318 it.fail = err 7319 return it.Next() 7320 } 7321 } 7322 7323 // Error returns any retrieval or parsing error occurred during filtering. 7324 func (it *OwnableOwnershipTransferredIterator) Error() error { 7325 return it.fail 7326 } 7327 7328 // Close terminates the iteration process, releasing any pending underlying 7329 // resources. 7330 func (it *OwnableOwnershipTransferredIterator) Close() error { 7331 it.sub.Unsubscribe() 7332 return nil 7333 } 7334 7335 // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. 7336 type OwnableOwnershipTransferred struct { 7337 PreviousOwner common.Address 7338 NewOwner common.Address 7339 Raw types.Log // Blockchain specific contextual infos 7340 } 7341 7342 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7343 // 7344 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7345 func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { 7346 7347 var previousOwnerRule []interface{} 7348 for _, previousOwnerItem := range previousOwner { 7349 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7350 } 7351 var newOwnerRule []interface{} 7352 for _, newOwnerItem := range newOwner { 7353 newOwnerRule = append(newOwnerRule, newOwnerItem) 7354 } 7355 7356 logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7357 if err != nil { 7358 return nil, err 7359 } 7360 return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 7361 } 7362 7363 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7364 // 7365 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7366 func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 7367 7368 var previousOwnerRule []interface{} 7369 for _, previousOwnerItem := range previousOwner { 7370 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7371 } 7372 var newOwnerRule []interface{} 7373 for _, newOwnerItem := range newOwner { 7374 newOwnerRule = append(newOwnerRule, newOwnerItem) 7375 } 7376 7377 logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7378 if err != nil { 7379 return nil, err 7380 } 7381 return event.NewSubscription(func(quit <-chan struct{}) error { 7382 defer sub.Unsubscribe() 7383 for { 7384 select { 7385 case log := <-logs: 7386 // New log arrived, parse the event and forward to the user 7387 event := new(OwnableOwnershipTransferred) 7388 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7389 return err 7390 } 7391 event.Raw = log 7392 7393 select { 7394 case sink <- event: 7395 case err := <-sub.Err(): 7396 return err 7397 case <-quit: 7398 return nil 7399 } 7400 case err := <-sub.Err(): 7401 return err 7402 case <-quit: 7403 return nil 7404 } 7405 } 7406 }), nil 7407 } 7408 7409 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7410 // 7411 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7412 func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) { 7413 event := new(OwnableOwnershipTransferred) 7414 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7415 return nil, err 7416 } 7417 return event, nil 7418 } 7419 7420 // OwnableTargetABI is the input ABI used to generate the binding from. 7421 const OwnableTargetABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 7422 7423 // OwnableTargetFuncSigs maps the 4-byte function signature to its string representation. 7424 var OwnableTargetFuncSigs = map[string]string{ 7425 "715018a6": "renounceOwnership()", 7426 "f2fde38b": "transferOwnership(address)", 7427 } 7428 7429 // OwnableTarget is an auto generated Go binding around an Ethereum contract. 7430 type OwnableTarget struct { 7431 OwnableTargetCaller // Read-only binding to the contract 7432 OwnableTargetTransactor // Write-only binding to the contract 7433 OwnableTargetFilterer // Log filterer for contract events 7434 } 7435 7436 // OwnableTargetCaller is an auto generated read-only Go binding around an Ethereum contract. 7437 type OwnableTargetCaller struct { 7438 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7439 } 7440 7441 // OwnableTargetTransactor is an auto generated write-only Go binding around an Ethereum contract. 7442 type OwnableTargetTransactor struct { 7443 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7444 } 7445 7446 // OwnableTargetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7447 type OwnableTargetFilterer struct { 7448 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7449 } 7450 7451 // OwnableTargetSession is an auto generated Go binding around an Ethereum contract, 7452 // with pre-set call and transact options. 7453 type OwnableTargetSession struct { 7454 Contract *OwnableTarget // Generic contract binding to set the session for 7455 CallOpts bind.CallOpts // Call options to use throughout this session 7456 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7457 } 7458 7459 // OwnableTargetCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7460 // with pre-set call options. 7461 type OwnableTargetCallerSession struct { 7462 Contract *OwnableTargetCaller // Generic contract caller binding to set the session for 7463 CallOpts bind.CallOpts // Call options to use throughout this session 7464 } 7465 7466 // OwnableTargetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 7467 // with pre-set transact options. 7468 type OwnableTargetTransactorSession struct { 7469 Contract *OwnableTargetTransactor // Generic contract transactor binding to set the session for 7470 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7471 } 7472 7473 // OwnableTargetRaw is an auto generated low-level Go binding around an Ethereum contract. 7474 type OwnableTargetRaw struct { 7475 Contract *OwnableTarget // Generic contract binding to access the raw methods on 7476 } 7477 7478 // OwnableTargetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 7479 type OwnableTargetCallerRaw struct { 7480 Contract *OwnableTargetCaller // Generic read-only contract binding to access the raw methods on 7481 } 7482 7483 // OwnableTargetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 7484 type OwnableTargetTransactorRaw struct { 7485 Contract *OwnableTargetTransactor // Generic write-only contract binding to access the raw methods on 7486 } 7487 7488 // NewOwnableTarget creates a new instance of OwnableTarget, bound to a specific deployed contract. 7489 func NewOwnableTarget(address common.Address, backend bind.ContractBackend) (*OwnableTarget, error) { 7490 contract, err := bindOwnableTarget(address, backend, backend, backend) 7491 if err != nil { 7492 return nil, err 7493 } 7494 return &OwnableTarget{OwnableTargetCaller: OwnableTargetCaller{contract: contract}, OwnableTargetTransactor: OwnableTargetTransactor{contract: contract}, OwnableTargetFilterer: OwnableTargetFilterer{contract: contract}}, nil 7495 } 7496 7497 // NewOwnableTargetCaller creates a new read-only instance of OwnableTarget, bound to a specific deployed contract. 7498 func NewOwnableTargetCaller(address common.Address, caller bind.ContractCaller) (*OwnableTargetCaller, error) { 7499 contract, err := bindOwnableTarget(address, caller, nil, nil) 7500 if err != nil { 7501 return nil, err 7502 } 7503 return &OwnableTargetCaller{contract: contract}, nil 7504 } 7505 7506 // NewOwnableTargetTransactor creates a new write-only instance of OwnableTarget, bound to a specific deployed contract. 7507 func NewOwnableTargetTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTargetTransactor, error) { 7508 contract, err := bindOwnableTarget(address, nil, transactor, nil) 7509 if err != nil { 7510 return nil, err 7511 } 7512 return &OwnableTargetTransactor{contract: contract}, nil 7513 } 7514 7515 // NewOwnableTargetFilterer creates a new log filterer instance of OwnableTarget, bound to a specific deployed contract. 7516 func NewOwnableTargetFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableTargetFilterer, error) { 7517 contract, err := bindOwnableTarget(address, nil, nil, filterer) 7518 if err != nil { 7519 return nil, err 7520 } 7521 return &OwnableTargetFilterer{contract: contract}, nil 7522 } 7523 7524 // bindOwnableTarget binds a generic wrapper to an already deployed contract. 7525 func bindOwnableTarget(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7526 parsed, err := abi.JSON(strings.NewReader(OwnableTargetABI)) 7527 if err != nil { 7528 return nil, err 7529 } 7530 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7531 } 7532 7533 // Call invokes the (constant) contract method with params as input values and 7534 // sets the output to result. The result type might be a single field for simple 7535 // returns, a slice of interfaces for anonymous returns and a struct for named 7536 // returns. 7537 func (_OwnableTarget *OwnableTargetRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7538 return _OwnableTarget.Contract.OwnableTargetCaller.contract.Call(opts, result, method, params...) 7539 } 7540 7541 // Transfer initiates a plain transaction to move funds to the contract, calling 7542 // its default method if one is available. 7543 func (_OwnableTarget *OwnableTargetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7544 return _OwnableTarget.Contract.OwnableTargetTransactor.contract.Transfer(opts) 7545 } 7546 7547 // Transact invokes the (paid) contract method with params as input values. 7548 func (_OwnableTarget *OwnableTargetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7549 return _OwnableTarget.Contract.OwnableTargetTransactor.contract.Transact(opts, method, params...) 7550 } 7551 7552 // Call invokes the (constant) contract method with params as input values and 7553 // sets the output to result. The result type might be a single field for simple 7554 // returns, a slice of interfaces for anonymous returns and a struct for named 7555 // returns. 7556 func (_OwnableTarget *OwnableTargetCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7557 return _OwnableTarget.Contract.contract.Call(opts, result, method, params...) 7558 } 7559 7560 // Transfer initiates a plain transaction to move funds to the contract, calling 7561 // its default method if one is available. 7562 func (_OwnableTarget *OwnableTargetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7563 return _OwnableTarget.Contract.contract.Transfer(opts) 7564 } 7565 7566 // Transact invokes the (paid) contract method with params as input values. 7567 func (_OwnableTarget *OwnableTargetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7568 return _OwnableTarget.Contract.contract.Transact(opts, method, params...) 7569 } 7570 7571 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7572 // 7573 // Solidity: function renounceOwnership() returns() 7574 func (_OwnableTarget *OwnableTargetTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 7575 return _OwnableTarget.contract.Transact(opts, "renounceOwnership") 7576 } 7577 7578 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7579 // 7580 // Solidity: function renounceOwnership() returns() 7581 func (_OwnableTarget *OwnableTargetSession) RenounceOwnership() (*types.Transaction, error) { 7582 return _OwnableTarget.Contract.RenounceOwnership(&_OwnableTarget.TransactOpts) 7583 } 7584 7585 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 7586 // 7587 // Solidity: function renounceOwnership() returns() 7588 func (_OwnableTarget *OwnableTargetTransactorSession) RenounceOwnership() (*types.Transaction, error) { 7589 return _OwnableTarget.Contract.RenounceOwnership(&_OwnableTarget.TransactOpts) 7590 } 7591 7592 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7593 // 7594 // Solidity: function transferOwnership(address newOwner) returns() 7595 func (_OwnableTarget *OwnableTargetTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 7596 return _OwnableTarget.contract.Transact(opts, "transferOwnership", newOwner) 7597 } 7598 7599 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7600 // 7601 // Solidity: function transferOwnership(address newOwner) returns() 7602 func (_OwnableTarget *OwnableTargetSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7603 return _OwnableTarget.Contract.TransferOwnership(&_OwnableTarget.TransactOpts, newOwner) 7604 } 7605 7606 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 7607 // 7608 // Solidity: function transferOwnership(address newOwner) returns() 7609 func (_OwnableTarget *OwnableTargetTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 7610 return _OwnableTarget.Contract.TransferOwnership(&_OwnableTarget.TransactOpts, newOwner) 7611 } 7612 7613 // PauserRoleRenounceTargetABI is the input ABI used to generate the binding from. 7614 const PauserRoleRenounceTargetABI = "[{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 7615 7616 // PauserRoleRenounceTargetFuncSigs maps the 4-byte function signature to its string representation. 7617 var PauserRoleRenounceTargetFuncSigs = map[string]string{ 7618 "6ef8d66d": "renouncePauser()", 7619 } 7620 7621 // PauserRoleRenounceTarget is an auto generated Go binding around an Ethereum contract. 7622 type PauserRoleRenounceTarget struct { 7623 PauserRoleRenounceTargetCaller // Read-only binding to the contract 7624 PauserRoleRenounceTargetTransactor // Write-only binding to the contract 7625 PauserRoleRenounceTargetFilterer // Log filterer for contract events 7626 } 7627 7628 // PauserRoleRenounceTargetCaller is an auto generated read-only Go binding around an Ethereum contract. 7629 type PauserRoleRenounceTargetCaller struct { 7630 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7631 } 7632 7633 // PauserRoleRenounceTargetTransactor is an auto generated write-only Go binding around an Ethereum contract. 7634 type PauserRoleRenounceTargetTransactor struct { 7635 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7636 } 7637 7638 // PauserRoleRenounceTargetFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7639 type PauserRoleRenounceTargetFilterer struct { 7640 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7641 } 7642 7643 // PauserRoleRenounceTargetSession is an auto generated Go binding around an Ethereum contract, 7644 // with pre-set call and transact options. 7645 type PauserRoleRenounceTargetSession struct { 7646 Contract *PauserRoleRenounceTarget // Generic contract binding to set the session for 7647 CallOpts bind.CallOpts // Call options to use throughout this session 7648 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7649 } 7650 7651 // PauserRoleRenounceTargetCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7652 // with pre-set call options. 7653 type PauserRoleRenounceTargetCallerSession struct { 7654 Contract *PauserRoleRenounceTargetCaller // Generic contract caller binding to set the session for 7655 CallOpts bind.CallOpts // Call options to use throughout this session 7656 } 7657 7658 // PauserRoleRenounceTargetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 7659 // with pre-set transact options. 7660 type PauserRoleRenounceTargetTransactorSession struct { 7661 Contract *PauserRoleRenounceTargetTransactor // Generic contract transactor binding to set the session for 7662 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7663 } 7664 7665 // PauserRoleRenounceTargetRaw is an auto generated low-level Go binding around an Ethereum contract. 7666 type PauserRoleRenounceTargetRaw struct { 7667 Contract *PauserRoleRenounceTarget // Generic contract binding to access the raw methods on 7668 } 7669 7670 // PauserRoleRenounceTargetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 7671 type PauserRoleRenounceTargetCallerRaw struct { 7672 Contract *PauserRoleRenounceTargetCaller // Generic read-only contract binding to access the raw methods on 7673 } 7674 7675 // PauserRoleRenounceTargetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 7676 type PauserRoleRenounceTargetTransactorRaw struct { 7677 Contract *PauserRoleRenounceTargetTransactor // Generic write-only contract binding to access the raw methods on 7678 } 7679 7680 // NewPauserRoleRenounceTarget creates a new instance of PauserRoleRenounceTarget, bound to a specific deployed contract. 7681 func NewPauserRoleRenounceTarget(address common.Address, backend bind.ContractBackend) (*PauserRoleRenounceTarget, error) { 7682 contract, err := bindPauserRoleRenounceTarget(address, backend, backend, backend) 7683 if err != nil { 7684 return nil, err 7685 } 7686 return &PauserRoleRenounceTarget{PauserRoleRenounceTargetCaller: PauserRoleRenounceTargetCaller{contract: contract}, PauserRoleRenounceTargetTransactor: PauserRoleRenounceTargetTransactor{contract: contract}, PauserRoleRenounceTargetFilterer: PauserRoleRenounceTargetFilterer{contract: contract}}, nil 7687 } 7688 7689 // NewPauserRoleRenounceTargetCaller creates a new read-only instance of PauserRoleRenounceTarget, bound to a specific deployed contract. 7690 func NewPauserRoleRenounceTargetCaller(address common.Address, caller bind.ContractCaller) (*PauserRoleRenounceTargetCaller, error) { 7691 contract, err := bindPauserRoleRenounceTarget(address, caller, nil, nil) 7692 if err != nil { 7693 return nil, err 7694 } 7695 return &PauserRoleRenounceTargetCaller{contract: contract}, nil 7696 } 7697 7698 // NewPauserRoleRenounceTargetTransactor creates a new write-only instance of PauserRoleRenounceTarget, bound to a specific deployed contract. 7699 func NewPauserRoleRenounceTargetTransactor(address common.Address, transactor bind.ContractTransactor) (*PauserRoleRenounceTargetTransactor, error) { 7700 contract, err := bindPauserRoleRenounceTarget(address, nil, transactor, nil) 7701 if err != nil { 7702 return nil, err 7703 } 7704 return &PauserRoleRenounceTargetTransactor{contract: contract}, nil 7705 } 7706 7707 // NewPauserRoleRenounceTargetFilterer creates a new log filterer instance of PauserRoleRenounceTarget, bound to a specific deployed contract. 7708 func NewPauserRoleRenounceTargetFilterer(address common.Address, filterer bind.ContractFilterer) (*PauserRoleRenounceTargetFilterer, error) { 7709 contract, err := bindPauserRoleRenounceTarget(address, nil, nil, filterer) 7710 if err != nil { 7711 return nil, err 7712 } 7713 return &PauserRoleRenounceTargetFilterer{contract: contract}, nil 7714 } 7715 7716 // bindPauserRoleRenounceTarget binds a generic wrapper to an already deployed contract. 7717 func bindPauserRoleRenounceTarget(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7718 parsed, err := abi.JSON(strings.NewReader(PauserRoleRenounceTargetABI)) 7719 if err != nil { 7720 return nil, err 7721 } 7722 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7723 } 7724 7725 // Call invokes the (constant) contract method with params as input values and 7726 // sets the output to result. The result type might be a single field for simple 7727 // returns, a slice of interfaces for anonymous returns and a struct for named 7728 // returns. 7729 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7730 return _PauserRoleRenounceTarget.Contract.PauserRoleRenounceTargetCaller.contract.Call(opts, result, method, params...) 7731 } 7732 7733 // Transfer initiates a plain transaction to move funds to the contract, calling 7734 // its default method if one is available. 7735 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7736 return _PauserRoleRenounceTarget.Contract.PauserRoleRenounceTargetTransactor.contract.Transfer(opts) 7737 } 7738 7739 // Transact invokes the (paid) contract method with params as input values. 7740 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7741 return _PauserRoleRenounceTarget.Contract.PauserRoleRenounceTargetTransactor.contract.Transact(opts, method, params...) 7742 } 7743 7744 // Call invokes the (constant) contract method with params as input values and 7745 // sets the output to result. The result type might be a single field for simple 7746 // returns, a slice of interfaces for anonymous returns and a struct for named 7747 // returns. 7748 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7749 return _PauserRoleRenounceTarget.Contract.contract.Call(opts, result, method, params...) 7750 } 7751 7752 // Transfer initiates a plain transaction to move funds to the contract, calling 7753 // its default method if one is available. 7754 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7755 return _PauserRoleRenounceTarget.Contract.contract.Transfer(opts) 7756 } 7757 7758 // Transact invokes the (paid) contract method with params as input values. 7759 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7760 return _PauserRoleRenounceTarget.Contract.contract.Transact(opts, method, params...) 7761 } 7762 7763 // RenouncePauser is a paid mutator transaction binding the contract method 0x6ef8d66d. 7764 // 7765 // Solidity: function renouncePauser() returns() 7766 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetTransactor) RenouncePauser(opts *bind.TransactOpts) (*types.Transaction, error) { 7767 return _PauserRoleRenounceTarget.contract.Transact(opts, "renouncePauser") 7768 } 7769 7770 // RenouncePauser is a paid mutator transaction binding the contract method 0x6ef8d66d. 7771 // 7772 // Solidity: function renouncePauser() returns() 7773 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetSession) RenouncePauser() (*types.Transaction, error) { 7774 return _PauserRoleRenounceTarget.Contract.RenouncePauser(&_PauserRoleRenounceTarget.TransactOpts) 7775 } 7776 7777 // RenouncePauser is a paid mutator transaction binding the contract method 0x6ef8d66d. 7778 // 7779 // Solidity: function renouncePauser() returns() 7780 func (_PauserRoleRenounceTarget *PauserRoleRenounceTargetTransactorSession) RenouncePauser() (*types.Transaction, error) { 7781 return _PauserRoleRenounceTarget.Contract.RenouncePauser(&_PauserRoleRenounceTarget.TransactOpts) 7782 } 7783 7784 // ReentrancyGuardABI is the input ABI used to generate the binding from. 7785 const ReentrancyGuardABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" 7786 7787 // ReentrancyGuard is an auto generated Go binding around an Ethereum contract. 7788 type ReentrancyGuard struct { 7789 ReentrancyGuardCaller // Read-only binding to the contract 7790 ReentrancyGuardTransactor // Write-only binding to the contract 7791 ReentrancyGuardFilterer // Log filterer for contract events 7792 } 7793 7794 // ReentrancyGuardCaller is an auto generated read-only Go binding around an Ethereum contract. 7795 type ReentrancyGuardCaller struct { 7796 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7797 } 7798 7799 // ReentrancyGuardTransactor is an auto generated write-only Go binding around an Ethereum contract. 7800 type ReentrancyGuardTransactor struct { 7801 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7802 } 7803 7804 // ReentrancyGuardFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7805 type ReentrancyGuardFilterer struct { 7806 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7807 } 7808 7809 // ReentrancyGuardSession is an auto generated Go binding around an Ethereum contract, 7810 // with pre-set call and transact options. 7811 type ReentrancyGuardSession struct { 7812 Contract *ReentrancyGuard // Generic contract binding to set the session for 7813 CallOpts bind.CallOpts // Call options to use throughout this session 7814 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7815 } 7816 7817 // ReentrancyGuardCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7818 // with pre-set call options. 7819 type ReentrancyGuardCallerSession struct { 7820 Contract *ReentrancyGuardCaller // Generic contract caller binding to set the session for 7821 CallOpts bind.CallOpts // Call options to use throughout this session 7822 } 7823 7824 // ReentrancyGuardTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 7825 // with pre-set transact options. 7826 type ReentrancyGuardTransactorSession struct { 7827 Contract *ReentrancyGuardTransactor // Generic contract transactor binding to set the session for 7828 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7829 } 7830 7831 // ReentrancyGuardRaw is an auto generated low-level Go binding around an Ethereum contract. 7832 type ReentrancyGuardRaw struct { 7833 Contract *ReentrancyGuard // Generic contract binding to access the raw methods on 7834 } 7835 7836 // ReentrancyGuardCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 7837 type ReentrancyGuardCallerRaw struct { 7838 Contract *ReentrancyGuardCaller // Generic read-only contract binding to access the raw methods on 7839 } 7840 7841 // ReentrancyGuardTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 7842 type ReentrancyGuardTransactorRaw struct { 7843 Contract *ReentrancyGuardTransactor // Generic write-only contract binding to access the raw methods on 7844 } 7845 7846 // NewReentrancyGuard creates a new instance of ReentrancyGuard, bound to a specific deployed contract. 7847 func NewReentrancyGuard(address common.Address, backend bind.ContractBackend) (*ReentrancyGuard, error) { 7848 contract, err := bindReentrancyGuard(address, backend, backend, backend) 7849 if err != nil { 7850 return nil, err 7851 } 7852 return &ReentrancyGuard{ReentrancyGuardCaller: ReentrancyGuardCaller{contract: contract}, ReentrancyGuardTransactor: ReentrancyGuardTransactor{contract: contract}, ReentrancyGuardFilterer: ReentrancyGuardFilterer{contract: contract}}, nil 7853 } 7854 7855 // NewReentrancyGuardCaller creates a new read-only instance of ReentrancyGuard, bound to a specific deployed contract. 7856 func NewReentrancyGuardCaller(address common.Address, caller bind.ContractCaller) (*ReentrancyGuardCaller, error) { 7857 contract, err := bindReentrancyGuard(address, caller, nil, nil) 7858 if err != nil { 7859 return nil, err 7860 } 7861 return &ReentrancyGuardCaller{contract: contract}, nil 7862 } 7863 7864 // NewReentrancyGuardTransactor creates a new write-only instance of ReentrancyGuard, bound to a specific deployed contract. 7865 func NewReentrancyGuardTransactor(address common.Address, transactor bind.ContractTransactor) (*ReentrancyGuardTransactor, error) { 7866 contract, err := bindReentrancyGuard(address, nil, transactor, nil) 7867 if err != nil { 7868 return nil, err 7869 } 7870 return &ReentrancyGuardTransactor{contract: contract}, nil 7871 } 7872 7873 // NewReentrancyGuardFilterer creates a new log filterer instance of ReentrancyGuard, bound to a specific deployed contract. 7874 func NewReentrancyGuardFilterer(address common.Address, filterer bind.ContractFilterer) (*ReentrancyGuardFilterer, error) { 7875 contract, err := bindReentrancyGuard(address, nil, nil, filterer) 7876 if err != nil { 7877 return nil, err 7878 } 7879 return &ReentrancyGuardFilterer{contract: contract}, nil 7880 } 7881 7882 // bindReentrancyGuard binds a generic wrapper to an already deployed contract. 7883 func bindReentrancyGuard(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7884 parsed, err := abi.JSON(strings.NewReader(ReentrancyGuardABI)) 7885 if err != nil { 7886 return nil, err 7887 } 7888 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7889 } 7890 7891 // Call invokes the (constant) contract method with params as input values and 7892 // sets the output to result. The result type might be a single field for simple 7893 // returns, a slice of interfaces for anonymous returns and a struct for named 7894 // returns. 7895 func (_ReentrancyGuard *ReentrancyGuardRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7896 return _ReentrancyGuard.Contract.ReentrancyGuardCaller.contract.Call(opts, result, method, params...) 7897 } 7898 7899 // Transfer initiates a plain transaction to move funds to the contract, calling 7900 // its default method if one is available. 7901 func (_ReentrancyGuard *ReentrancyGuardRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7902 return _ReentrancyGuard.Contract.ReentrancyGuardTransactor.contract.Transfer(opts) 7903 } 7904 7905 // Transact invokes the (paid) contract method with params as input values. 7906 func (_ReentrancyGuard *ReentrancyGuardRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7907 return _ReentrancyGuard.Contract.ReentrancyGuardTransactor.contract.Transact(opts, method, params...) 7908 } 7909 7910 // Call invokes the (constant) contract method with params as input values and 7911 // sets the output to result. The result type might be a single field for simple 7912 // returns, a slice of interfaces for anonymous returns and a struct for named 7913 // returns. 7914 func (_ReentrancyGuard *ReentrancyGuardCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7915 return _ReentrancyGuard.Contract.contract.Call(opts, result, method, params...) 7916 } 7917 7918 // Transfer initiates a plain transaction to move funds to the contract, calling 7919 // its default method if one is available. 7920 func (_ReentrancyGuard *ReentrancyGuardTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7921 return _ReentrancyGuard.Contract.contract.Transfer(opts) 7922 } 7923 7924 // Transact invokes the (paid) contract method with params as input values. 7925 func (_ReentrancyGuard *ReentrancyGuardTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7926 return _ReentrancyGuard.Contract.contract.Transact(opts, method, params...) 7927 } 7928 7929 // RolesABI is the input ABI used to generate the binding from. 7930 const RolesABI = "[]" 7931 7932 // RolesBin is the compiled bytecode used for deploying new contracts. 7933 var RolesBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820451a2112c879141f72bbe0ec00d853511a9d98646af7e3081d90a3d70270eb1564736f6c634300050c0032" 7934 7935 // DeployRoles deploys a new Ethereum contract, binding an instance of Roles to it. 7936 func DeployRoles(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Roles, error) { 7937 parsed, err := abi.JSON(strings.NewReader(RolesABI)) 7938 if err != nil { 7939 return common.Address{}, nil, nil, err 7940 } 7941 7942 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RolesBin), backend) 7943 if err != nil { 7944 return common.Address{}, nil, nil, err 7945 } 7946 return address, tx, &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 7947 } 7948 7949 // Roles is an auto generated Go binding around an Ethereum contract. 7950 type Roles struct { 7951 RolesCaller // Read-only binding to the contract 7952 RolesTransactor // Write-only binding to the contract 7953 RolesFilterer // Log filterer for contract events 7954 } 7955 7956 // RolesCaller is an auto generated read-only Go binding around an Ethereum contract. 7957 type RolesCaller struct { 7958 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7959 } 7960 7961 // RolesTransactor is an auto generated write-only Go binding around an Ethereum contract. 7962 type RolesTransactor struct { 7963 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7964 } 7965 7966 // RolesFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7967 type RolesFilterer struct { 7968 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7969 } 7970 7971 // RolesSession is an auto generated Go binding around an Ethereum contract, 7972 // with pre-set call and transact options. 7973 type RolesSession struct { 7974 Contract *Roles // Generic contract binding to set the session for 7975 CallOpts bind.CallOpts // Call options to use throughout this session 7976 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7977 } 7978 7979 // RolesCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7980 // with pre-set call options. 7981 type RolesCallerSession struct { 7982 Contract *RolesCaller // Generic contract caller binding to set the session for 7983 CallOpts bind.CallOpts // Call options to use throughout this session 7984 } 7985 7986 // RolesTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 7987 // with pre-set transact options. 7988 type RolesTransactorSession struct { 7989 Contract *RolesTransactor // Generic contract transactor binding to set the session for 7990 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7991 } 7992 7993 // RolesRaw is an auto generated low-level Go binding around an Ethereum contract. 7994 type RolesRaw struct { 7995 Contract *Roles // Generic contract binding to access the raw methods on 7996 } 7997 7998 // RolesCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 7999 type RolesCallerRaw struct { 8000 Contract *RolesCaller // Generic read-only contract binding to access the raw methods on 8001 } 8002 8003 // RolesTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 8004 type RolesTransactorRaw struct { 8005 Contract *RolesTransactor // Generic write-only contract binding to access the raw methods on 8006 } 8007 8008 // NewRoles creates a new instance of Roles, bound to a specific deployed contract. 8009 func NewRoles(address common.Address, backend bind.ContractBackend) (*Roles, error) { 8010 contract, err := bindRoles(address, backend, backend, backend) 8011 if err != nil { 8012 return nil, err 8013 } 8014 return &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 8015 } 8016 8017 // NewRolesCaller creates a new read-only instance of Roles, bound to a specific deployed contract. 8018 func NewRolesCaller(address common.Address, caller bind.ContractCaller) (*RolesCaller, error) { 8019 contract, err := bindRoles(address, caller, nil, nil) 8020 if err != nil { 8021 return nil, err 8022 } 8023 return &RolesCaller{contract: contract}, nil 8024 } 8025 8026 // NewRolesTransactor creates a new write-only instance of Roles, bound to a specific deployed contract. 8027 func NewRolesTransactor(address common.Address, transactor bind.ContractTransactor) (*RolesTransactor, error) { 8028 contract, err := bindRoles(address, nil, transactor, nil) 8029 if err != nil { 8030 return nil, err 8031 } 8032 return &RolesTransactor{contract: contract}, nil 8033 } 8034 8035 // NewRolesFilterer creates a new log filterer instance of Roles, bound to a specific deployed contract. 8036 func NewRolesFilterer(address common.Address, filterer bind.ContractFilterer) (*RolesFilterer, error) { 8037 contract, err := bindRoles(address, nil, nil, filterer) 8038 if err != nil { 8039 return nil, err 8040 } 8041 return &RolesFilterer{contract: contract}, nil 8042 } 8043 8044 // bindRoles binds a generic wrapper to an already deployed contract. 8045 func bindRoles(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8046 parsed, err := abi.JSON(strings.NewReader(RolesABI)) 8047 if err != nil { 8048 return nil, err 8049 } 8050 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8051 } 8052 8053 // Call invokes the (constant) contract method with params as input values and 8054 // sets the output to result. The result type might be a single field for simple 8055 // returns, a slice of interfaces for anonymous returns and a struct for named 8056 // returns. 8057 func (_Roles *RolesRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8058 return _Roles.Contract.RolesCaller.contract.Call(opts, result, method, params...) 8059 } 8060 8061 // Transfer initiates a plain transaction to move funds to the contract, calling 8062 // its default method if one is available. 8063 func (_Roles *RolesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8064 return _Roles.Contract.RolesTransactor.contract.Transfer(opts) 8065 } 8066 8067 // Transact invokes the (paid) contract method with params as input values. 8068 func (_Roles *RolesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8069 return _Roles.Contract.RolesTransactor.contract.Transact(opts, method, params...) 8070 } 8071 8072 // Call invokes the (constant) contract method with params as input values and 8073 // sets the output to result. The result type might be a single field for simple 8074 // returns, a slice of interfaces for anonymous returns and a struct for named 8075 // returns. 8076 func (_Roles *RolesCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8077 return _Roles.Contract.contract.Call(opts, result, method, params...) 8078 } 8079 8080 // Transfer initiates a plain transaction to move funds to the contract, calling 8081 // its default method if one is available. 8082 func (_Roles *RolesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8083 return _Roles.Contract.contract.Transfer(opts) 8084 } 8085 8086 // Transact invokes the (paid) contract method with params as input values. 8087 func (_Roles *RolesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8088 return _Roles.Contract.contract.Transact(opts, method, params...) 8089 } 8090 8091 // SafeERC20ABI is the input ABI used to generate the binding from. 8092 const SafeERC20ABI = "[]" 8093 8094 // SafeERC20Bin is the compiled bytecode used for deploying new contracts. 8095 var SafeERC20Bin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582045a04cb654e4c37bcd57cef5b1e4313fd04e0fbb06c03b04321592cfa5eb149764736f6c634300050c0032" 8096 8097 // DeploySafeERC20 deploys a new Ethereum contract, binding an instance of SafeERC20 to it. 8098 func DeploySafeERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeERC20, error) { 8099 parsed, err := abi.JSON(strings.NewReader(SafeERC20ABI)) 8100 if err != nil { 8101 return common.Address{}, nil, nil, err 8102 } 8103 8104 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SafeERC20Bin), backend) 8105 if err != nil { 8106 return common.Address{}, nil, nil, err 8107 } 8108 return address, tx, &SafeERC20{SafeERC20Caller: SafeERC20Caller{contract: contract}, SafeERC20Transactor: SafeERC20Transactor{contract: contract}, SafeERC20Filterer: SafeERC20Filterer{contract: contract}}, nil 8109 } 8110 8111 // SafeERC20 is an auto generated Go binding around an Ethereum contract. 8112 type SafeERC20 struct { 8113 SafeERC20Caller // Read-only binding to the contract 8114 SafeERC20Transactor // Write-only binding to the contract 8115 SafeERC20Filterer // Log filterer for contract events 8116 } 8117 8118 // SafeERC20Caller is an auto generated read-only Go binding around an Ethereum contract. 8119 type SafeERC20Caller struct { 8120 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8121 } 8122 8123 // SafeERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. 8124 type SafeERC20Transactor struct { 8125 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8126 } 8127 8128 // SafeERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 8129 type SafeERC20Filterer struct { 8130 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8131 } 8132 8133 // SafeERC20Session is an auto generated Go binding around an Ethereum contract, 8134 // with pre-set call and transact options. 8135 type SafeERC20Session struct { 8136 Contract *SafeERC20 // Generic contract binding to set the session for 8137 CallOpts bind.CallOpts // Call options to use throughout this session 8138 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8139 } 8140 8141 // SafeERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, 8142 // with pre-set call options. 8143 type SafeERC20CallerSession struct { 8144 Contract *SafeERC20Caller // Generic contract caller binding to set the session for 8145 CallOpts bind.CallOpts // Call options to use throughout this session 8146 } 8147 8148 // SafeERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 8149 // with pre-set transact options. 8150 type SafeERC20TransactorSession struct { 8151 Contract *SafeERC20Transactor // Generic contract transactor binding to set the session for 8152 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8153 } 8154 8155 // SafeERC20Raw is an auto generated low-level Go binding around an Ethereum contract. 8156 type SafeERC20Raw struct { 8157 Contract *SafeERC20 // Generic contract binding to access the raw methods on 8158 } 8159 8160 // SafeERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 8161 type SafeERC20CallerRaw struct { 8162 Contract *SafeERC20Caller // Generic read-only contract binding to access the raw methods on 8163 } 8164 8165 // SafeERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 8166 type SafeERC20TransactorRaw struct { 8167 Contract *SafeERC20Transactor // Generic write-only contract binding to access the raw methods on 8168 } 8169 8170 // NewSafeERC20 creates a new instance of SafeERC20, bound to a specific deployed contract. 8171 func NewSafeERC20(address common.Address, backend bind.ContractBackend) (*SafeERC20, error) { 8172 contract, err := bindSafeERC20(address, backend, backend, backend) 8173 if err != nil { 8174 return nil, err 8175 } 8176 return &SafeERC20{SafeERC20Caller: SafeERC20Caller{contract: contract}, SafeERC20Transactor: SafeERC20Transactor{contract: contract}, SafeERC20Filterer: SafeERC20Filterer{contract: contract}}, nil 8177 } 8178 8179 // NewSafeERC20Caller creates a new read-only instance of SafeERC20, bound to a specific deployed contract. 8180 func NewSafeERC20Caller(address common.Address, caller bind.ContractCaller) (*SafeERC20Caller, error) { 8181 contract, err := bindSafeERC20(address, caller, nil, nil) 8182 if err != nil { 8183 return nil, err 8184 } 8185 return &SafeERC20Caller{contract: contract}, nil 8186 } 8187 8188 // NewSafeERC20Transactor creates a new write-only instance of SafeERC20, bound to a specific deployed contract. 8189 func NewSafeERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*SafeERC20Transactor, error) { 8190 contract, err := bindSafeERC20(address, nil, transactor, nil) 8191 if err != nil { 8192 return nil, err 8193 } 8194 return &SafeERC20Transactor{contract: contract}, nil 8195 } 8196 8197 // NewSafeERC20Filterer creates a new log filterer instance of SafeERC20, bound to a specific deployed contract. 8198 func NewSafeERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*SafeERC20Filterer, error) { 8199 contract, err := bindSafeERC20(address, nil, nil, filterer) 8200 if err != nil { 8201 return nil, err 8202 } 8203 return &SafeERC20Filterer{contract: contract}, nil 8204 } 8205 8206 // bindSafeERC20 binds a generic wrapper to an already deployed contract. 8207 func bindSafeERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8208 parsed, err := abi.JSON(strings.NewReader(SafeERC20ABI)) 8209 if err != nil { 8210 return nil, err 8211 } 8212 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8213 } 8214 8215 // Call invokes the (constant) contract method with params as input values and 8216 // sets the output to result. The result type might be a single field for simple 8217 // returns, a slice of interfaces for anonymous returns and a struct for named 8218 // returns. 8219 func (_SafeERC20 *SafeERC20Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8220 return _SafeERC20.Contract.SafeERC20Caller.contract.Call(opts, result, method, params...) 8221 } 8222 8223 // Transfer initiates a plain transaction to move funds to the contract, calling 8224 // its default method if one is available. 8225 func (_SafeERC20 *SafeERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8226 return _SafeERC20.Contract.SafeERC20Transactor.contract.Transfer(opts) 8227 } 8228 8229 // Transact invokes the (paid) contract method with params as input values. 8230 func (_SafeERC20 *SafeERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8231 return _SafeERC20.Contract.SafeERC20Transactor.contract.Transact(opts, method, params...) 8232 } 8233 8234 // Call invokes the (constant) contract method with params as input values and 8235 // sets the output to result. The result type might be a single field for simple 8236 // returns, a slice of interfaces for anonymous returns and a struct for named 8237 // returns. 8238 func (_SafeERC20 *SafeERC20CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8239 return _SafeERC20.Contract.contract.Call(opts, result, method, params...) 8240 } 8241 8242 // Transfer initiates a plain transaction to move funds to the contract, calling 8243 // its default method if one is available. 8244 func (_SafeERC20 *SafeERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8245 return _SafeERC20.Contract.contract.Transfer(opts) 8246 } 8247 8248 // Transact invokes the (paid) contract method with params as input values. 8249 func (_SafeERC20 *SafeERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8250 return _SafeERC20.Contract.contract.Transact(opts, method, params...) 8251 } 8252 8253 // SafeMathABI is the input ABI used to generate the binding from. 8254 const SafeMathABI = "[]" 8255 8256 // SafeMathBin is the compiled bytecode used for deploying new contracts. 8257 var SafeMathBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582045f810ccb41cd151344ccf006ddfbe7c3c58a867d26e345c6576ae09178171dc64736f6c634300050c0032" 8258 8259 // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it. 8260 func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { 8261 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 8262 if err != nil { 8263 return common.Address{}, nil, nil, err 8264 } 8265 8266 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SafeMathBin), backend) 8267 if err != nil { 8268 return common.Address{}, nil, nil, err 8269 } 8270 return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 8271 } 8272 8273 // SafeMath is an auto generated Go binding around an Ethereum contract. 8274 type SafeMath struct { 8275 SafeMathCaller // Read-only binding to the contract 8276 SafeMathTransactor // Write-only binding to the contract 8277 SafeMathFilterer // Log filterer for contract events 8278 } 8279 8280 // SafeMathCaller is an auto generated read-only Go binding around an Ethereum contract. 8281 type SafeMathCaller struct { 8282 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8283 } 8284 8285 // SafeMathTransactor is an auto generated write-only Go binding around an Ethereum contract. 8286 type SafeMathTransactor struct { 8287 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8288 } 8289 8290 // SafeMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 8291 type SafeMathFilterer struct { 8292 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8293 } 8294 8295 // SafeMathSession is an auto generated Go binding around an Ethereum contract, 8296 // with pre-set call and transact options. 8297 type SafeMathSession struct { 8298 Contract *SafeMath // Generic contract binding to set the session for 8299 CallOpts bind.CallOpts // Call options to use throughout this session 8300 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8301 } 8302 8303 // SafeMathCallerSession is an auto generated read-only Go binding around an Ethereum contract, 8304 // with pre-set call options. 8305 type SafeMathCallerSession struct { 8306 Contract *SafeMathCaller // Generic contract caller binding to set the session for 8307 CallOpts bind.CallOpts // Call options to use throughout this session 8308 } 8309 8310 // SafeMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 8311 // with pre-set transact options. 8312 type SafeMathTransactorSession struct { 8313 Contract *SafeMathTransactor // Generic contract transactor binding to set the session for 8314 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8315 } 8316 8317 // SafeMathRaw is an auto generated low-level Go binding around an Ethereum contract. 8318 type SafeMathRaw struct { 8319 Contract *SafeMath // Generic contract binding to access the raw methods on 8320 } 8321 8322 // SafeMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 8323 type SafeMathCallerRaw struct { 8324 Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on 8325 } 8326 8327 // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 8328 type SafeMathTransactorRaw struct { 8329 Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on 8330 } 8331 8332 // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. 8333 func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { 8334 contract, err := bindSafeMath(address, backend, backend, backend) 8335 if err != nil { 8336 return nil, err 8337 } 8338 return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 8339 } 8340 8341 // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. 8342 func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { 8343 contract, err := bindSafeMath(address, caller, nil, nil) 8344 if err != nil { 8345 return nil, err 8346 } 8347 return &SafeMathCaller{contract: contract}, nil 8348 } 8349 8350 // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. 8351 func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { 8352 contract, err := bindSafeMath(address, nil, transactor, nil) 8353 if err != nil { 8354 return nil, err 8355 } 8356 return &SafeMathTransactor{contract: contract}, nil 8357 } 8358 8359 // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. 8360 func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { 8361 contract, err := bindSafeMath(address, nil, nil, filterer) 8362 if err != nil { 8363 return nil, err 8364 } 8365 return &SafeMathFilterer{contract: contract}, nil 8366 } 8367 8368 // bindSafeMath binds a generic wrapper to an already deployed contract. 8369 func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8370 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 8371 if err != nil { 8372 return nil, err 8373 } 8374 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8375 } 8376 8377 // Call invokes the (constant) contract method with params as input values and 8378 // sets the output to result. The result type might be a single field for simple 8379 // returns, a slice of interfaces for anonymous returns and a struct for named 8380 // returns. 8381 func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8382 return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) 8383 } 8384 8385 // Transfer initiates a plain transaction to move funds to the contract, calling 8386 // its default method if one is available. 8387 func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8388 return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) 8389 } 8390 8391 // Transact invokes the (paid) contract method with params as input values. 8392 func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8393 return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) 8394 } 8395 8396 // Call invokes the (constant) contract method with params as input values and 8397 // sets the output to result. The result type might be a single field for simple 8398 // returns, a slice of interfaces for anonymous returns and a struct for named 8399 // returns. 8400 func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8401 return _SafeMath.Contract.contract.Call(opts, result, method, params...) 8402 } 8403 8404 // Transfer initiates a plain transaction to move funds to the contract, calling 8405 // its default method if one is available. 8406 func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8407 return _SafeMath.Contract.contract.Transfer(opts) 8408 } 8409 8410 // Transact invokes the (paid) contract method with params as input values. 8411 func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8412 return _SafeMath.Contract.contract.Transact(opts, method, params...) 8413 } 8414 8415 // SeigManagerIABI is the input ABI used to generate the binding from. 8416 const SeigManagerIABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"DEFAULT_FACTOR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"additionalTotBurnAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totAmount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"}],\"name\":\"coinages\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"}],\"name\":\"commissionRates\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"}],\"name\":\"deployCoinage\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"depositManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"}],\"name\":\"lastCommitBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastSeigBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"onCommit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"onDeposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"onTransfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"onWithdraw\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"pausedBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"powerton\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"seigPerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"commission\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isCommissionRateNegative\",\"type\":\"bool\"}],\"name\":\"setCommissionRate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"stakeOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ton\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tot\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootchain\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"uncomittedStakeOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"unpausedBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"wton\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 8417 8418 // SeigManagerIFuncSigs maps the 4-byte function signature to its string representation. 8419 var SeigManagerIFuncSigs = map[string]string{ 8420 "8bf91dc4": "DEFAULT_FACTOR()", 8421 "48c8577e": "additionalTotBurnAmount(address,address,uint256)", 8422 "4c063c19": "coinages(address)", 8423 "7b056c1b": "commissionRates(address)", 8424 "833a774f": "deployCoinage(address)", 8425 "6c7ac9d8": "depositManager()", 8426 "c59f1046": "lastCommitBlock(address)", 8427 "f35c89e8": "lastSeigBlock()", 8428 "359c4d59": "onCommit()", 8429 "412c6d50": "onDeposit(address,address,uint256)", 8430 "4a393149": "onTransfer(address,address,uint256)", 8431 "f850ffaa": "onWithdraw(address,address,uint256)", 8432 "32053c99": "pausedBlock()", 8433 "3e832e1d": "powerton()", 8434 "7b103999": "registry()", 8435 "5f40a349": "seigPerBlock()", 8436 "4224ed66": "setCommissionRate(address,uint256,bool)", 8437 "ce4cb876": "stakeOf(address,address)", 8438 "cc48b947": "ton()", 8439 "a16d6aa7": "tot()", 8440 "fa9789c8": "uncomittedStakeOf(address,address)", 8441 "1cc47890": "unpausedBlock()", 8442 "8d62d949": "wton()", 8443 } 8444 8445 // SeigManagerI is an auto generated Go binding around an Ethereum contract. 8446 type SeigManagerI struct { 8447 SeigManagerICaller // Read-only binding to the contract 8448 SeigManagerITransactor // Write-only binding to the contract 8449 SeigManagerIFilterer // Log filterer for contract events 8450 } 8451 8452 // SeigManagerICaller is an auto generated read-only Go binding around an Ethereum contract. 8453 type SeigManagerICaller struct { 8454 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8455 } 8456 8457 // SeigManagerITransactor is an auto generated write-only Go binding around an Ethereum contract. 8458 type SeigManagerITransactor struct { 8459 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8460 } 8461 8462 // SeigManagerIFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 8463 type SeigManagerIFilterer struct { 8464 contract *bind.BoundContract // Generic contract wrapper for the low level calls 8465 } 8466 8467 // SeigManagerISession is an auto generated Go binding around an Ethereum contract, 8468 // with pre-set call and transact options. 8469 type SeigManagerISession struct { 8470 Contract *SeigManagerI // Generic contract binding to set the session for 8471 CallOpts bind.CallOpts // Call options to use throughout this session 8472 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8473 } 8474 8475 // SeigManagerICallerSession is an auto generated read-only Go binding around an Ethereum contract, 8476 // with pre-set call options. 8477 type SeigManagerICallerSession struct { 8478 Contract *SeigManagerICaller // Generic contract caller binding to set the session for 8479 CallOpts bind.CallOpts // Call options to use throughout this session 8480 } 8481 8482 // SeigManagerITransactorSession is an auto generated write-only Go binding around an Ethereum contract, 8483 // with pre-set transact options. 8484 type SeigManagerITransactorSession struct { 8485 Contract *SeigManagerITransactor // Generic contract transactor binding to set the session for 8486 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 8487 } 8488 8489 // SeigManagerIRaw is an auto generated low-level Go binding around an Ethereum contract. 8490 type SeigManagerIRaw struct { 8491 Contract *SeigManagerI // Generic contract binding to access the raw methods on 8492 } 8493 8494 // SeigManagerICallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 8495 type SeigManagerICallerRaw struct { 8496 Contract *SeigManagerICaller // Generic read-only contract binding to access the raw methods on 8497 } 8498 8499 // SeigManagerITransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 8500 type SeigManagerITransactorRaw struct { 8501 Contract *SeigManagerITransactor // Generic write-only contract binding to access the raw methods on 8502 } 8503 8504 // NewSeigManagerI creates a new instance of SeigManagerI, bound to a specific deployed contract. 8505 func NewSeigManagerI(address common.Address, backend bind.ContractBackend) (*SeigManagerI, error) { 8506 contract, err := bindSeigManagerI(address, backend, backend, backend) 8507 if err != nil { 8508 return nil, err 8509 } 8510 return &SeigManagerI{SeigManagerICaller: SeigManagerICaller{contract: contract}, SeigManagerITransactor: SeigManagerITransactor{contract: contract}, SeigManagerIFilterer: SeigManagerIFilterer{contract: contract}}, nil 8511 } 8512 8513 // NewSeigManagerICaller creates a new read-only instance of SeigManagerI, bound to a specific deployed contract. 8514 func NewSeigManagerICaller(address common.Address, caller bind.ContractCaller) (*SeigManagerICaller, error) { 8515 contract, err := bindSeigManagerI(address, caller, nil, nil) 8516 if err != nil { 8517 return nil, err 8518 } 8519 return &SeigManagerICaller{contract: contract}, nil 8520 } 8521 8522 // NewSeigManagerITransactor creates a new write-only instance of SeigManagerI, bound to a specific deployed contract. 8523 func NewSeigManagerITransactor(address common.Address, transactor bind.ContractTransactor) (*SeigManagerITransactor, error) { 8524 contract, err := bindSeigManagerI(address, nil, transactor, nil) 8525 if err != nil { 8526 return nil, err 8527 } 8528 return &SeigManagerITransactor{contract: contract}, nil 8529 } 8530 8531 // NewSeigManagerIFilterer creates a new log filterer instance of SeigManagerI, bound to a specific deployed contract. 8532 func NewSeigManagerIFilterer(address common.Address, filterer bind.ContractFilterer) (*SeigManagerIFilterer, error) { 8533 contract, err := bindSeigManagerI(address, nil, nil, filterer) 8534 if err != nil { 8535 return nil, err 8536 } 8537 return &SeigManagerIFilterer{contract: contract}, nil 8538 } 8539 8540 // bindSeigManagerI binds a generic wrapper to an already deployed contract. 8541 func bindSeigManagerI(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 8542 parsed, err := abi.JSON(strings.NewReader(SeigManagerIABI)) 8543 if err != nil { 8544 return nil, err 8545 } 8546 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 8547 } 8548 8549 // Call invokes the (constant) contract method with params as input values and 8550 // sets the output to result. The result type might be a single field for simple 8551 // returns, a slice of interfaces for anonymous returns and a struct for named 8552 // returns. 8553 func (_SeigManagerI *SeigManagerIRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8554 return _SeigManagerI.Contract.SeigManagerICaller.contract.Call(opts, result, method, params...) 8555 } 8556 8557 // Transfer initiates a plain transaction to move funds to the contract, calling 8558 // its default method if one is available. 8559 func (_SeigManagerI *SeigManagerIRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8560 return _SeigManagerI.Contract.SeigManagerITransactor.contract.Transfer(opts) 8561 } 8562 8563 // Transact invokes the (paid) contract method with params as input values. 8564 func (_SeigManagerI *SeigManagerIRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8565 return _SeigManagerI.Contract.SeigManagerITransactor.contract.Transact(opts, method, params...) 8566 } 8567 8568 // Call invokes the (constant) contract method with params as input values and 8569 // sets the output to result. The result type might be a single field for simple 8570 // returns, a slice of interfaces for anonymous returns and a struct for named 8571 // returns. 8572 func (_SeigManagerI *SeigManagerICallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 8573 return _SeigManagerI.Contract.contract.Call(opts, result, method, params...) 8574 } 8575 8576 // Transfer initiates a plain transaction to move funds to the contract, calling 8577 // its default method if one is available. 8578 func (_SeigManagerI *SeigManagerITransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 8579 return _SeigManagerI.Contract.contract.Transfer(opts) 8580 } 8581 8582 // Transact invokes the (paid) contract method with params as input values. 8583 func (_SeigManagerI *SeigManagerITransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 8584 return _SeigManagerI.Contract.contract.Transact(opts, method, params...) 8585 } 8586 8587 // DEFAULTFACTOR is a free data retrieval call binding the contract method 0x8bf91dc4. 8588 // 8589 // Solidity: function DEFAULT_FACTOR() constant returns(uint256) 8590 func (_SeigManagerI *SeigManagerICaller) DEFAULTFACTOR(opts *bind.CallOpts) (*big.Int, error) { 8591 var ( 8592 ret0 = new(*big.Int) 8593 ) 8594 out := ret0 8595 err := _SeigManagerI.contract.Call(opts, out, "DEFAULT_FACTOR") 8596 return *ret0, err 8597 } 8598 8599 // DEFAULTFACTOR is a free data retrieval call binding the contract method 0x8bf91dc4. 8600 // 8601 // Solidity: function DEFAULT_FACTOR() constant returns(uint256) 8602 func (_SeigManagerI *SeigManagerISession) DEFAULTFACTOR() (*big.Int, error) { 8603 return _SeigManagerI.Contract.DEFAULTFACTOR(&_SeigManagerI.CallOpts) 8604 } 8605 8606 // DEFAULTFACTOR is a free data retrieval call binding the contract method 0x8bf91dc4. 8607 // 8608 // Solidity: function DEFAULT_FACTOR() constant returns(uint256) 8609 func (_SeigManagerI *SeigManagerICallerSession) DEFAULTFACTOR() (*big.Int, error) { 8610 return _SeigManagerI.Contract.DEFAULTFACTOR(&_SeigManagerI.CallOpts) 8611 } 8612 8613 // AdditionalTotBurnAmount is a free data retrieval call binding the contract method 0x48c8577e. 8614 // 8615 // Solidity: function additionalTotBurnAmount(address rootchain, address account, uint256 amount) constant returns(uint256 totAmount) 8616 func (_SeigManagerI *SeigManagerICaller) AdditionalTotBurnAmount(opts *bind.CallOpts, rootchain common.Address, account common.Address, amount *big.Int) (*big.Int, error) { 8617 var ( 8618 ret0 = new(*big.Int) 8619 ) 8620 out := ret0 8621 err := _SeigManagerI.contract.Call(opts, out, "additionalTotBurnAmount", rootchain, account, amount) 8622 return *ret0, err 8623 } 8624 8625 // AdditionalTotBurnAmount is a free data retrieval call binding the contract method 0x48c8577e. 8626 // 8627 // Solidity: function additionalTotBurnAmount(address rootchain, address account, uint256 amount) constant returns(uint256 totAmount) 8628 func (_SeigManagerI *SeigManagerISession) AdditionalTotBurnAmount(rootchain common.Address, account common.Address, amount *big.Int) (*big.Int, error) { 8629 return _SeigManagerI.Contract.AdditionalTotBurnAmount(&_SeigManagerI.CallOpts, rootchain, account, amount) 8630 } 8631 8632 // AdditionalTotBurnAmount is a free data retrieval call binding the contract method 0x48c8577e. 8633 // 8634 // Solidity: function additionalTotBurnAmount(address rootchain, address account, uint256 amount) constant returns(uint256 totAmount) 8635 func (_SeigManagerI *SeigManagerICallerSession) AdditionalTotBurnAmount(rootchain common.Address, account common.Address, amount *big.Int) (*big.Int, error) { 8636 return _SeigManagerI.Contract.AdditionalTotBurnAmount(&_SeigManagerI.CallOpts, rootchain, account, amount) 8637 } 8638 8639 // Coinages is a free data retrieval call binding the contract method 0x4c063c19. 8640 // 8641 // Solidity: function coinages(address rootchain) constant returns(address) 8642 func (_SeigManagerI *SeigManagerICaller) Coinages(opts *bind.CallOpts, rootchain common.Address) (common.Address, error) { 8643 var ( 8644 ret0 = new(common.Address) 8645 ) 8646 out := ret0 8647 err := _SeigManagerI.contract.Call(opts, out, "coinages", rootchain) 8648 return *ret0, err 8649 } 8650 8651 // Coinages is a free data retrieval call binding the contract method 0x4c063c19. 8652 // 8653 // Solidity: function coinages(address rootchain) constant returns(address) 8654 func (_SeigManagerI *SeigManagerISession) Coinages(rootchain common.Address) (common.Address, error) { 8655 return _SeigManagerI.Contract.Coinages(&_SeigManagerI.CallOpts, rootchain) 8656 } 8657 8658 // Coinages is a free data retrieval call binding the contract method 0x4c063c19. 8659 // 8660 // Solidity: function coinages(address rootchain) constant returns(address) 8661 func (_SeigManagerI *SeigManagerICallerSession) Coinages(rootchain common.Address) (common.Address, error) { 8662 return _SeigManagerI.Contract.Coinages(&_SeigManagerI.CallOpts, rootchain) 8663 } 8664 8665 // CommissionRates is a free data retrieval call binding the contract method 0x7b056c1b. 8666 // 8667 // Solidity: function commissionRates(address rootchain) constant returns(uint256) 8668 func (_SeigManagerI *SeigManagerICaller) CommissionRates(opts *bind.CallOpts, rootchain common.Address) (*big.Int, error) { 8669 var ( 8670 ret0 = new(*big.Int) 8671 ) 8672 out := ret0 8673 err := _SeigManagerI.contract.Call(opts, out, "commissionRates", rootchain) 8674 return *ret0, err 8675 } 8676 8677 // CommissionRates is a free data retrieval call binding the contract method 0x7b056c1b. 8678 // 8679 // Solidity: function commissionRates(address rootchain) constant returns(uint256) 8680 func (_SeigManagerI *SeigManagerISession) CommissionRates(rootchain common.Address) (*big.Int, error) { 8681 return _SeigManagerI.Contract.CommissionRates(&_SeigManagerI.CallOpts, rootchain) 8682 } 8683 8684 // CommissionRates is a free data retrieval call binding the contract method 0x7b056c1b. 8685 // 8686 // Solidity: function commissionRates(address rootchain) constant returns(uint256) 8687 func (_SeigManagerI *SeigManagerICallerSession) CommissionRates(rootchain common.Address) (*big.Int, error) { 8688 return _SeigManagerI.Contract.CommissionRates(&_SeigManagerI.CallOpts, rootchain) 8689 } 8690 8691 // DepositManager is a free data retrieval call binding the contract method 0x6c7ac9d8. 8692 // 8693 // Solidity: function depositManager() constant returns(address) 8694 func (_SeigManagerI *SeigManagerICaller) DepositManager(opts *bind.CallOpts) (common.Address, error) { 8695 var ( 8696 ret0 = new(common.Address) 8697 ) 8698 out := ret0 8699 err := _SeigManagerI.contract.Call(opts, out, "depositManager") 8700 return *ret0, err 8701 } 8702 8703 // DepositManager is a free data retrieval call binding the contract method 0x6c7ac9d8. 8704 // 8705 // Solidity: function depositManager() constant returns(address) 8706 func (_SeigManagerI *SeigManagerISession) DepositManager() (common.Address, error) { 8707 return _SeigManagerI.Contract.DepositManager(&_SeigManagerI.CallOpts) 8708 } 8709 8710 // DepositManager is a free data retrieval call binding the contract method 0x6c7ac9d8. 8711 // 8712 // Solidity: function depositManager() constant returns(address) 8713 func (_SeigManagerI *SeigManagerICallerSession) DepositManager() (common.Address, error) { 8714 return _SeigManagerI.Contract.DepositManager(&_SeigManagerI.CallOpts) 8715 } 8716 8717 // LastCommitBlock is a free data retrieval call binding the contract method 0xc59f1046. 8718 // 8719 // Solidity: function lastCommitBlock(address rootchain) constant returns(uint256) 8720 func (_SeigManagerI *SeigManagerICaller) LastCommitBlock(opts *bind.CallOpts, rootchain common.Address) (*big.Int, error) { 8721 var ( 8722 ret0 = new(*big.Int) 8723 ) 8724 out := ret0 8725 err := _SeigManagerI.contract.Call(opts, out, "lastCommitBlock", rootchain) 8726 return *ret0, err 8727 } 8728 8729 // LastCommitBlock is a free data retrieval call binding the contract method 0xc59f1046. 8730 // 8731 // Solidity: function lastCommitBlock(address rootchain) constant returns(uint256) 8732 func (_SeigManagerI *SeigManagerISession) LastCommitBlock(rootchain common.Address) (*big.Int, error) { 8733 return _SeigManagerI.Contract.LastCommitBlock(&_SeigManagerI.CallOpts, rootchain) 8734 } 8735 8736 // LastCommitBlock is a free data retrieval call binding the contract method 0xc59f1046. 8737 // 8738 // Solidity: function lastCommitBlock(address rootchain) constant returns(uint256) 8739 func (_SeigManagerI *SeigManagerICallerSession) LastCommitBlock(rootchain common.Address) (*big.Int, error) { 8740 return _SeigManagerI.Contract.LastCommitBlock(&_SeigManagerI.CallOpts, rootchain) 8741 } 8742 8743 // LastSeigBlock is a free data retrieval call binding the contract method 0xf35c89e8. 8744 // 8745 // Solidity: function lastSeigBlock() constant returns(uint256) 8746 func (_SeigManagerI *SeigManagerICaller) LastSeigBlock(opts *bind.CallOpts) (*big.Int, error) { 8747 var ( 8748 ret0 = new(*big.Int) 8749 ) 8750 out := ret0 8751 err := _SeigManagerI.contract.Call(opts, out, "lastSeigBlock") 8752 return *ret0, err 8753 } 8754 8755 // LastSeigBlock is a free data retrieval call binding the contract method 0xf35c89e8. 8756 // 8757 // Solidity: function lastSeigBlock() constant returns(uint256) 8758 func (_SeigManagerI *SeigManagerISession) LastSeigBlock() (*big.Int, error) { 8759 return _SeigManagerI.Contract.LastSeigBlock(&_SeigManagerI.CallOpts) 8760 } 8761 8762 // LastSeigBlock is a free data retrieval call binding the contract method 0xf35c89e8. 8763 // 8764 // Solidity: function lastSeigBlock() constant returns(uint256) 8765 func (_SeigManagerI *SeigManagerICallerSession) LastSeigBlock() (*big.Int, error) { 8766 return _SeigManagerI.Contract.LastSeigBlock(&_SeigManagerI.CallOpts) 8767 } 8768 8769 // PausedBlock is a free data retrieval call binding the contract method 0x32053c99. 8770 // 8771 // Solidity: function pausedBlock() constant returns(uint256) 8772 func (_SeigManagerI *SeigManagerICaller) PausedBlock(opts *bind.CallOpts) (*big.Int, error) { 8773 var ( 8774 ret0 = new(*big.Int) 8775 ) 8776 out := ret0 8777 err := _SeigManagerI.contract.Call(opts, out, "pausedBlock") 8778 return *ret0, err 8779 } 8780 8781 // PausedBlock is a free data retrieval call binding the contract method 0x32053c99. 8782 // 8783 // Solidity: function pausedBlock() constant returns(uint256) 8784 func (_SeigManagerI *SeigManagerISession) PausedBlock() (*big.Int, error) { 8785 return _SeigManagerI.Contract.PausedBlock(&_SeigManagerI.CallOpts) 8786 } 8787 8788 // PausedBlock is a free data retrieval call binding the contract method 0x32053c99. 8789 // 8790 // Solidity: function pausedBlock() constant returns(uint256) 8791 func (_SeigManagerI *SeigManagerICallerSession) PausedBlock() (*big.Int, error) { 8792 return _SeigManagerI.Contract.PausedBlock(&_SeigManagerI.CallOpts) 8793 } 8794 8795 // Powerton is a free data retrieval call binding the contract method 0x3e832e1d. 8796 // 8797 // Solidity: function powerton() constant returns(address) 8798 func (_SeigManagerI *SeigManagerICaller) Powerton(opts *bind.CallOpts) (common.Address, error) { 8799 var ( 8800 ret0 = new(common.Address) 8801 ) 8802 out := ret0 8803 err := _SeigManagerI.contract.Call(opts, out, "powerton") 8804 return *ret0, err 8805 } 8806 8807 // Powerton is a free data retrieval call binding the contract method 0x3e832e1d. 8808 // 8809 // Solidity: function powerton() constant returns(address) 8810 func (_SeigManagerI *SeigManagerISession) Powerton() (common.Address, error) { 8811 return _SeigManagerI.Contract.Powerton(&_SeigManagerI.CallOpts) 8812 } 8813 8814 // Powerton is a free data retrieval call binding the contract method 0x3e832e1d. 8815 // 8816 // Solidity: function powerton() constant returns(address) 8817 func (_SeigManagerI *SeigManagerICallerSession) Powerton() (common.Address, error) { 8818 return _SeigManagerI.Contract.Powerton(&_SeigManagerI.CallOpts) 8819 } 8820 8821 // Registry is a free data retrieval call binding the contract method 0x7b103999. 8822 // 8823 // Solidity: function registry() constant returns(address) 8824 func (_SeigManagerI *SeigManagerICaller) Registry(opts *bind.CallOpts) (common.Address, error) { 8825 var ( 8826 ret0 = new(common.Address) 8827 ) 8828 out := ret0 8829 err := _SeigManagerI.contract.Call(opts, out, "registry") 8830 return *ret0, err 8831 } 8832 8833 // Registry is a free data retrieval call binding the contract method 0x7b103999. 8834 // 8835 // Solidity: function registry() constant returns(address) 8836 func (_SeigManagerI *SeigManagerISession) Registry() (common.Address, error) { 8837 return _SeigManagerI.Contract.Registry(&_SeigManagerI.CallOpts) 8838 } 8839 8840 // Registry is a free data retrieval call binding the contract method 0x7b103999. 8841 // 8842 // Solidity: function registry() constant returns(address) 8843 func (_SeigManagerI *SeigManagerICallerSession) Registry() (common.Address, error) { 8844 return _SeigManagerI.Contract.Registry(&_SeigManagerI.CallOpts) 8845 } 8846 8847 // SeigPerBlock is a free data retrieval call binding the contract method 0x5f40a349. 8848 // 8849 // Solidity: function seigPerBlock() constant returns(uint256) 8850 func (_SeigManagerI *SeigManagerICaller) SeigPerBlock(opts *bind.CallOpts) (*big.Int, error) { 8851 var ( 8852 ret0 = new(*big.Int) 8853 ) 8854 out := ret0 8855 err := _SeigManagerI.contract.Call(opts, out, "seigPerBlock") 8856 return *ret0, err 8857 } 8858 8859 // SeigPerBlock is a free data retrieval call binding the contract method 0x5f40a349. 8860 // 8861 // Solidity: function seigPerBlock() constant returns(uint256) 8862 func (_SeigManagerI *SeigManagerISession) SeigPerBlock() (*big.Int, error) { 8863 return _SeigManagerI.Contract.SeigPerBlock(&_SeigManagerI.CallOpts) 8864 } 8865 8866 // SeigPerBlock is a free data retrieval call binding the contract method 0x5f40a349. 8867 // 8868 // Solidity: function seigPerBlock() constant returns(uint256) 8869 func (_SeigManagerI *SeigManagerICallerSession) SeigPerBlock() (*big.Int, error) { 8870 return _SeigManagerI.Contract.SeigPerBlock(&_SeigManagerI.CallOpts) 8871 } 8872 8873 // StakeOf is a free data retrieval call binding the contract method 0xce4cb876. 8874 // 8875 // Solidity: function stakeOf(address rootchain, address account) constant returns(uint256) 8876 func (_SeigManagerI *SeigManagerICaller) StakeOf(opts *bind.CallOpts, rootchain common.Address, account common.Address) (*big.Int, error) { 8877 var ( 8878 ret0 = new(*big.Int) 8879 ) 8880 out := ret0 8881 err := _SeigManagerI.contract.Call(opts, out, "stakeOf", rootchain, account) 8882 return *ret0, err 8883 } 8884 8885 // StakeOf is a free data retrieval call binding the contract method 0xce4cb876. 8886 // 8887 // Solidity: function stakeOf(address rootchain, address account) constant returns(uint256) 8888 func (_SeigManagerI *SeigManagerISession) StakeOf(rootchain common.Address, account common.Address) (*big.Int, error) { 8889 return _SeigManagerI.Contract.StakeOf(&_SeigManagerI.CallOpts, rootchain, account) 8890 } 8891 8892 // StakeOf is a free data retrieval call binding the contract method 0xce4cb876. 8893 // 8894 // Solidity: function stakeOf(address rootchain, address account) constant returns(uint256) 8895 func (_SeigManagerI *SeigManagerICallerSession) StakeOf(rootchain common.Address, account common.Address) (*big.Int, error) { 8896 return _SeigManagerI.Contract.StakeOf(&_SeigManagerI.CallOpts, rootchain, account) 8897 } 8898 8899 // Ton is a free data retrieval call binding the contract method 0xcc48b947. 8900 // 8901 // Solidity: function ton() constant returns(address) 8902 func (_SeigManagerI *SeigManagerICaller) Ton(opts *bind.CallOpts) (common.Address, error) { 8903 var ( 8904 ret0 = new(common.Address) 8905 ) 8906 out := ret0 8907 err := _SeigManagerI.contract.Call(opts, out, "ton") 8908 return *ret0, err 8909 } 8910 8911 // Ton is a free data retrieval call binding the contract method 0xcc48b947. 8912 // 8913 // Solidity: function ton() constant returns(address) 8914 func (_SeigManagerI *SeigManagerISession) Ton() (common.Address, error) { 8915 return _SeigManagerI.Contract.Ton(&_SeigManagerI.CallOpts) 8916 } 8917 8918 // Ton is a free data retrieval call binding the contract method 0xcc48b947. 8919 // 8920 // Solidity: function ton() constant returns(address) 8921 func (_SeigManagerI *SeigManagerICallerSession) Ton() (common.Address, error) { 8922 return _SeigManagerI.Contract.Ton(&_SeigManagerI.CallOpts) 8923 } 8924 8925 // Tot is a free data retrieval call binding the contract method 0xa16d6aa7. 8926 // 8927 // Solidity: function tot() constant returns(address) 8928 func (_SeigManagerI *SeigManagerICaller) Tot(opts *bind.CallOpts) (common.Address, error) { 8929 var ( 8930 ret0 = new(common.Address) 8931 ) 8932 out := ret0 8933 err := _SeigManagerI.contract.Call(opts, out, "tot") 8934 return *ret0, err 8935 } 8936 8937 // Tot is a free data retrieval call binding the contract method 0xa16d6aa7. 8938 // 8939 // Solidity: function tot() constant returns(address) 8940 func (_SeigManagerI *SeigManagerISession) Tot() (common.Address, error) { 8941 return _SeigManagerI.Contract.Tot(&_SeigManagerI.CallOpts) 8942 } 8943 8944 // Tot is a free data retrieval call binding the contract method 0xa16d6aa7. 8945 // 8946 // Solidity: function tot() constant returns(address) 8947 func (_SeigManagerI *SeigManagerICallerSession) Tot() (common.Address, error) { 8948 return _SeigManagerI.Contract.Tot(&_SeigManagerI.CallOpts) 8949 } 8950 8951 // UncomittedStakeOf is a free data retrieval call binding the contract method 0xfa9789c8. 8952 // 8953 // Solidity: function uncomittedStakeOf(address rootchain, address account) constant returns(uint256) 8954 func (_SeigManagerI *SeigManagerICaller) UncomittedStakeOf(opts *bind.CallOpts, rootchain common.Address, account common.Address) (*big.Int, error) { 8955 var ( 8956 ret0 = new(*big.Int) 8957 ) 8958 out := ret0 8959 err := _SeigManagerI.contract.Call(opts, out, "uncomittedStakeOf", rootchain, account) 8960 return *ret0, err 8961 } 8962 8963 // UncomittedStakeOf is a free data retrieval call binding the contract method 0xfa9789c8. 8964 // 8965 // Solidity: function uncomittedStakeOf(address rootchain, address account) constant returns(uint256) 8966 func (_SeigManagerI *SeigManagerISession) UncomittedStakeOf(rootchain common.Address, account common.Address) (*big.Int, error) { 8967 return _SeigManagerI.Contract.UncomittedStakeOf(&_SeigManagerI.CallOpts, rootchain, account) 8968 } 8969 8970 // UncomittedStakeOf is a free data retrieval call binding the contract method 0xfa9789c8. 8971 // 8972 // Solidity: function uncomittedStakeOf(address rootchain, address account) constant returns(uint256) 8973 func (_SeigManagerI *SeigManagerICallerSession) UncomittedStakeOf(rootchain common.Address, account common.Address) (*big.Int, error) { 8974 return _SeigManagerI.Contract.UncomittedStakeOf(&_SeigManagerI.CallOpts, rootchain, account) 8975 } 8976 8977 // UnpausedBlock is a free data retrieval call binding the contract method 0x1cc47890. 8978 // 8979 // Solidity: function unpausedBlock() constant returns(uint256) 8980 func (_SeigManagerI *SeigManagerICaller) UnpausedBlock(opts *bind.CallOpts) (*big.Int, error) { 8981 var ( 8982 ret0 = new(*big.Int) 8983 ) 8984 out := ret0 8985 err := _SeigManagerI.contract.Call(opts, out, "unpausedBlock") 8986 return *ret0, err 8987 } 8988 8989 // UnpausedBlock is a free data retrieval call binding the contract method 0x1cc47890. 8990 // 8991 // Solidity: function unpausedBlock() constant returns(uint256) 8992 func (_SeigManagerI *SeigManagerISession) UnpausedBlock() (*big.Int, error) { 8993 return _SeigManagerI.Contract.UnpausedBlock(&_SeigManagerI.CallOpts) 8994 } 8995 8996 // UnpausedBlock is a free data retrieval call binding the contract method 0x1cc47890. 8997 // 8998 // Solidity: function unpausedBlock() constant returns(uint256) 8999 func (_SeigManagerI *SeigManagerICallerSession) UnpausedBlock() (*big.Int, error) { 9000 return _SeigManagerI.Contract.UnpausedBlock(&_SeigManagerI.CallOpts) 9001 } 9002 9003 // Wton is a free data retrieval call binding the contract method 0x8d62d949. 9004 // 9005 // Solidity: function wton() constant returns(address) 9006 func (_SeigManagerI *SeigManagerICaller) Wton(opts *bind.CallOpts) (common.Address, error) { 9007 var ( 9008 ret0 = new(common.Address) 9009 ) 9010 out := ret0 9011 err := _SeigManagerI.contract.Call(opts, out, "wton") 9012 return *ret0, err 9013 } 9014 9015 // Wton is a free data retrieval call binding the contract method 0x8d62d949. 9016 // 9017 // Solidity: function wton() constant returns(address) 9018 func (_SeigManagerI *SeigManagerISession) Wton() (common.Address, error) { 9019 return _SeigManagerI.Contract.Wton(&_SeigManagerI.CallOpts) 9020 } 9021 9022 // Wton is a free data retrieval call binding the contract method 0x8d62d949. 9023 // 9024 // Solidity: function wton() constant returns(address) 9025 func (_SeigManagerI *SeigManagerICallerSession) Wton() (common.Address, error) { 9026 return _SeigManagerI.Contract.Wton(&_SeigManagerI.CallOpts) 9027 } 9028 9029 // DeployCoinage is a paid mutator transaction binding the contract method 0x833a774f. 9030 // 9031 // Solidity: function deployCoinage(address rootchain) returns(bool) 9032 func (_SeigManagerI *SeigManagerITransactor) DeployCoinage(opts *bind.TransactOpts, rootchain common.Address) (*types.Transaction, error) { 9033 return _SeigManagerI.contract.Transact(opts, "deployCoinage", rootchain) 9034 } 9035 9036 // DeployCoinage is a paid mutator transaction binding the contract method 0x833a774f. 9037 // 9038 // Solidity: function deployCoinage(address rootchain) returns(bool) 9039 func (_SeigManagerI *SeigManagerISession) DeployCoinage(rootchain common.Address) (*types.Transaction, error) { 9040 return _SeigManagerI.Contract.DeployCoinage(&_SeigManagerI.TransactOpts, rootchain) 9041 } 9042 9043 // DeployCoinage is a paid mutator transaction binding the contract method 0x833a774f. 9044 // 9045 // Solidity: function deployCoinage(address rootchain) returns(bool) 9046 func (_SeigManagerI *SeigManagerITransactorSession) DeployCoinage(rootchain common.Address) (*types.Transaction, error) { 9047 return _SeigManagerI.Contract.DeployCoinage(&_SeigManagerI.TransactOpts, rootchain) 9048 } 9049 9050 // OnCommit is a paid mutator transaction binding the contract method 0x359c4d59. 9051 // 9052 // Solidity: function onCommit() returns(bool) 9053 func (_SeigManagerI *SeigManagerITransactor) OnCommit(opts *bind.TransactOpts) (*types.Transaction, error) { 9054 return _SeigManagerI.contract.Transact(opts, "onCommit") 9055 } 9056 9057 // OnCommit is a paid mutator transaction binding the contract method 0x359c4d59. 9058 // 9059 // Solidity: function onCommit() returns(bool) 9060 func (_SeigManagerI *SeigManagerISession) OnCommit() (*types.Transaction, error) { 9061 return _SeigManagerI.Contract.OnCommit(&_SeigManagerI.TransactOpts) 9062 } 9063 9064 // OnCommit is a paid mutator transaction binding the contract method 0x359c4d59. 9065 // 9066 // Solidity: function onCommit() returns(bool) 9067 func (_SeigManagerI *SeigManagerITransactorSession) OnCommit() (*types.Transaction, error) { 9068 return _SeigManagerI.Contract.OnCommit(&_SeigManagerI.TransactOpts) 9069 } 9070 9071 // OnDeposit is a paid mutator transaction binding the contract method 0x412c6d50. 9072 // 9073 // Solidity: function onDeposit(address rootchain, address account, uint256 amount) returns(bool) 9074 func (_SeigManagerI *SeigManagerITransactor) OnDeposit(opts *bind.TransactOpts, rootchain common.Address, account common.Address, amount *big.Int) (*types.Transaction, error) { 9075 return _SeigManagerI.contract.Transact(opts, "onDeposit", rootchain, account, amount) 9076 } 9077 9078 // OnDeposit is a paid mutator transaction binding the contract method 0x412c6d50. 9079 // 9080 // Solidity: function onDeposit(address rootchain, address account, uint256 amount) returns(bool) 9081 func (_SeigManagerI *SeigManagerISession) OnDeposit(rootchain common.Address, account common.Address, amount *big.Int) (*types.Transaction, error) { 9082 return _SeigManagerI.Contract.OnDeposit(&_SeigManagerI.TransactOpts, rootchain, account, amount) 9083 } 9084 9085 // OnDeposit is a paid mutator transaction binding the contract method 0x412c6d50. 9086 // 9087 // Solidity: function onDeposit(address rootchain, address account, uint256 amount) returns(bool) 9088 func (_SeigManagerI *SeigManagerITransactorSession) OnDeposit(rootchain common.Address, account common.Address, amount *big.Int) (*types.Transaction, error) { 9089 return _SeigManagerI.Contract.OnDeposit(&_SeigManagerI.TransactOpts, rootchain, account, amount) 9090 } 9091 9092 // OnTransfer is a paid mutator transaction binding the contract method 0x4a393149. 9093 // 9094 // Solidity: function onTransfer(address sender, address recipient, uint256 amount) returns(bool) 9095 func (_SeigManagerI *SeigManagerITransactor) OnTransfer(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9096 return _SeigManagerI.contract.Transact(opts, "onTransfer", sender, recipient, amount) 9097 } 9098 9099 // OnTransfer is a paid mutator transaction binding the contract method 0x4a393149. 9100 // 9101 // Solidity: function onTransfer(address sender, address recipient, uint256 amount) returns(bool) 9102 func (_SeigManagerI *SeigManagerISession) OnTransfer(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9103 return _SeigManagerI.Contract.OnTransfer(&_SeigManagerI.TransactOpts, sender, recipient, amount) 9104 } 9105 9106 // OnTransfer is a paid mutator transaction binding the contract method 0x4a393149. 9107 // 9108 // Solidity: function onTransfer(address sender, address recipient, uint256 amount) returns(bool) 9109 func (_SeigManagerI *SeigManagerITransactorSession) OnTransfer(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9110 return _SeigManagerI.Contract.OnTransfer(&_SeigManagerI.TransactOpts, sender, recipient, amount) 9111 } 9112 9113 // OnWithdraw is a paid mutator transaction binding the contract method 0xf850ffaa. 9114 // 9115 // Solidity: function onWithdraw(address rootchain, address account, uint256 amount) returns(bool) 9116 func (_SeigManagerI *SeigManagerITransactor) OnWithdraw(opts *bind.TransactOpts, rootchain common.Address, account common.Address, amount *big.Int) (*types.Transaction, error) { 9117 return _SeigManagerI.contract.Transact(opts, "onWithdraw", rootchain, account, amount) 9118 } 9119 9120 // OnWithdraw is a paid mutator transaction binding the contract method 0xf850ffaa. 9121 // 9122 // Solidity: function onWithdraw(address rootchain, address account, uint256 amount) returns(bool) 9123 func (_SeigManagerI *SeigManagerISession) OnWithdraw(rootchain common.Address, account common.Address, amount *big.Int) (*types.Transaction, error) { 9124 return _SeigManagerI.Contract.OnWithdraw(&_SeigManagerI.TransactOpts, rootchain, account, amount) 9125 } 9126 9127 // OnWithdraw is a paid mutator transaction binding the contract method 0xf850ffaa. 9128 // 9129 // Solidity: function onWithdraw(address rootchain, address account, uint256 amount) returns(bool) 9130 func (_SeigManagerI *SeigManagerITransactorSession) OnWithdraw(rootchain common.Address, account common.Address, amount *big.Int) (*types.Transaction, error) { 9131 return _SeigManagerI.Contract.OnWithdraw(&_SeigManagerI.TransactOpts, rootchain, account, amount) 9132 } 9133 9134 // SetCommissionRate is a paid mutator transaction binding the contract method 0x4224ed66. 9135 // 9136 // Solidity: function setCommissionRate(address rootchain, uint256 commission, bool isCommissionRateNegative) returns(bool) 9137 func (_SeigManagerI *SeigManagerITransactor) SetCommissionRate(opts *bind.TransactOpts, rootchain common.Address, commission *big.Int, isCommissionRateNegative bool) (*types.Transaction, error) { 9138 return _SeigManagerI.contract.Transact(opts, "setCommissionRate", rootchain, commission, isCommissionRateNegative) 9139 } 9140 9141 // SetCommissionRate is a paid mutator transaction binding the contract method 0x4224ed66. 9142 // 9143 // Solidity: function setCommissionRate(address rootchain, uint256 commission, bool isCommissionRateNegative) returns(bool) 9144 func (_SeigManagerI *SeigManagerISession) SetCommissionRate(rootchain common.Address, commission *big.Int, isCommissionRateNegative bool) (*types.Transaction, error) { 9145 return _SeigManagerI.Contract.SetCommissionRate(&_SeigManagerI.TransactOpts, rootchain, commission, isCommissionRateNegative) 9146 } 9147 9148 // SetCommissionRate is a paid mutator transaction binding the contract method 0x4224ed66. 9149 // 9150 // Solidity: function setCommissionRate(address rootchain, uint256 commission, bool isCommissionRateNegative) returns(bool) 9151 func (_SeigManagerI *SeigManagerITransactorSession) SetCommissionRate(rootchain common.Address, commission *big.Int, isCommissionRateNegative bool) (*types.Transaction, error) { 9152 return _SeigManagerI.Contract.SetCommissionRate(&_SeigManagerI.TransactOpts, rootchain, commission, isCommissionRateNegative) 9153 } 9154 9155 // SeigTokenABI is the input ABI used to generate the binding from. 9156 const SeigTokenABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"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\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"INTERFACE_ID_ON_APPROVE\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"seigManager\",\"outputs\":[{\"internalType\":\"contractSeigManagerI\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contractSeigManagerI\",\"name\":\"_seigManager\",\"type\":\"address\"}],\"name\":\"setSeigManager\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 9157 9158 // SeigTokenFuncSigs maps the 4-byte function signature to its string representation. 9159 var SeigTokenFuncSigs = map[string]string{ 9160 "6cd28f9a": "INTERFACE_ID_ON_APPROVE()", 9161 "dd62ed3e": "allowance(address,address)", 9162 "095ea7b3": "approve(address,uint256)", 9163 "cae9ca51": "approveAndCall(address,uint256,bytes)", 9164 "70a08231": "balanceOf(address)", 9165 "a457c2d7": "decreaseAllowance(address,uint256)", 9166 "39509351": "increaseAllowance(address,uint256)", 9167 "8f32d59b": "isOwner()", 9168 "8da5cb5b": "owner()", 9169 "5f112c68": "renounceMinter(address)", 9170 "715018a6": "renounceOwnership()", 9171 "38bf3cfa": "renounceOwnership(address)", 9172 "41eb24bb": "renouncePauser(address)", 9173 "6fb7f558": "seigManager()", 9174 "7657f20a": "setSeigManager(address)", 9175 "18160ddd": "totalSupply()", 9176 "a9059cbb": "transfer(address,uint256)", 9177 "23b872dd": "transferFrom(address,address,uint256)", 9178 "f2fde38b": "transferOwnership(address)", 9179 "6d435421": "transferOwnership(address,address)", 9180 } 9181 9182 // SeigTokenBin is the compiled bytecode used for deploying new contracts. 9183 var SeigTokenBin = "0x608060405260006100176001600160e01b0361006a16565b600380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061006e565b3390565b6114e68061007d6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d71461033c578063a9059cbb14610368578063cae9ca5114610394578063dd62ed3e1461044f578063f2fde38b1461047d5761012c565b806370a08231146102d8578063715018a6146102fe5780637657f20a146103065780638da5cb5b1461032c5780638f32d59b146103345761012c565b806341eb24bb116100f457806341eb24bb146102155780635f112c681461023b5780636cd28f9a146102615780636d435421146102865780636fb7f558146102b45761012c565b8063095ea7b31461013157806318160ddd1461017157806323b872dd1461018b57806338bf3cfa146101c157806339509351146101e9575b600080fd5b61015d6004803603604081101561014757600080fd5b506001600160a01b0381351690602001356104a3565b604080519115158252519081900360200190f35b6101796104c0565b60408051918252519081900360200190f35b61015d600480360360608110156101a157600080fd5b506001600160a01b038135811691602081013590911690604001356104c6565b6101e7600480360360208110156101d757600080fd5b50356001600160a01b0316610554565b005b61015d600480360360408110156101ff57600080fd5b506001600160a01b0381351690602001356105f1565b6101e76004803603602081101561022b57600080fd5b50356001600160a01b0316610645565b6101e76004803603602081101561025157600080fd5b50356001600160a01b03166106c7565b610269610749565b604080516001600160e01b03199092168252519081900360200190f35b6101e76004803603604081101561029c57600080fd5b506001600160a01b0381358116916020013516610764565b6102bc61081f565b604080516001600160a01b039092168252519081900360200190f35b610179600480360360208110156102ee57600080fd5b50356001600160a01b031661082e565b6101e7610849565b6101e76004803603602081101561031c57600080fd5b50356001600160a01b03166108da565b6102bc610943565b61015d610952565b61015d6004803603604081101561035257600080fd5b506001600160a01b038135169060200135610978565b61015d6004803603604081101561037e57600080fd5b506001600160a01b0381351690602001356109e6565b61015d600480360360608110156103aa57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109fa945050505050565b6101796004803603604081101561046557600080fd5b506001600160a01b0381358116916020013516610a1b565b6101e76004803603602081101561049357600080fd5b50356001600160a01b0316610a46565b60006104b76104b0610a99565b8484610a9d565b50600192915050565b60025490565b60006104d3848484610b89565b610549846104df610a99565b610544856040518060600160405280602881526020016113fc602891396001600160a01b038a1660009081526001602052604081209061051d610a99565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610bf316565b610a9d565b5060015b9392505050565b61055c610952565b61059b576040805162461bcd60e51b81526020600482018190526024820152600080516020611424833981519152604482015290519081900360640190fd5b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105d657600080fd5b505af11580156105ea573d6000803e3d6000fd5b5050505050565b60006104b76105fe610a99565b84610544856001600061060f610a99565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610c8a16565b61064d610952565b61068c576040805162461bcd60e51b81526020600482018190526024820152600080516020611424833981519152604482015290519081900360640190fd5b806001600160a01b0316636ef8d66d6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105d657600080fd5b6106cf610952565b61070e576040805162461bcd60e51b81526020600482018190526024820152600080516020611424833981519152604482015290519081900360640190fd5b806001600160a01b031663986502756040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105d657600080fd5b6040518060286113a482396028019050604051809103902081565b61076c610952565b6107ab576040805162461bcd60e51b81526020600482018190526024820152600080516020611424833981519152604482015290519081900360640190fd5b816001600160a01b031663f2fde38b826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561080357600080fd5b505af1158015610817573d6000803e3d6000fd5b505050505050565b6004546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b610851610952565b610890576040805162461bcd60e51b81526020600482018190526024820152600080516020611424833981519152604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b6108e2610952565b610921576040805162461bcd60e51b81526020600482018190526024820152600080516020611424833981519152604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031690565b6003546000906001600160a01b0316610969610a99565b6001600160a01b031614905090565b60006104b7610985610a99565b846105448560405180606001604052806025815260200161148d60259139600160006109af610a99565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610bf316565b60006104b76109f3610a99565b8484610b89565b6000610a0684846104a3565b610a0f57600080fd5b61054d33858585610ce4565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610a4e610952565b610a8d576040805162461bcd60e51b81526020600482018190526024820152600080516020611424833981519152604482015290519081900360640190fd5b610a9681610f3a565b50565b3390565b6001600160a01b038316610ae25760405162461bcd60e51b81526004018080602001828103825260248152602001806114696024913960400191505060405180910390fd5b6001600160a01b038216610b275760405162461bcd60e51b815260040180806020018281038252602281526020018061132b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b336001600160a01b0384161480610ba85750336001600160a01b038316145b610be35760405162461bcd60e51b81526004018080602001828103825260308152602001806113cc6030913960400191505060405180910390fd5b610bee838383610fdb565b505050565b60008184841115610c825760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c47578181015183820152602001610c2f565b50505050905090810190601f168015610c745780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008282018381101561054d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b610d068360405180806113a46028913960280190506040518091039020611137565b610d415760405162461bcd60e51b815260040180806020018281038252603181526020018061134d6031913960400191505060405180910390fd5b60006060846001600160a01b031660405180806113a460289139602801905060405180910390208787878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610de2578181015183820152602001610dca565b50505050905090810190601f168015610e0f5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b60208310610e775780518252601f199092019160209182019101610e58565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ed9576040519150601f19603f3d011682016040523d82523d6000602084013e610ede565b606091505b5091509150818190610f315760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610c47578181015183820152602001610c2f565b50505050505050565b6001600160a01b038116610f7f5760405162461bcd60e51b81526004018080602001828103825260268152602001806113056026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110205760405162461bcd60e51b81526004018080602001828103825260258152602001806114446025913960400191505060405180910390fd5b6001600160a01b0382166110655760405162461bcd60e51b81526004018080602001828103825260238152602001806112e26023913960400191505060405180910390fd5b6110a88160405180606001604052806026815260200161137e602691396001600160a01b038616600090815260208190526040902054919063ffffffff610bf316565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546110dd908263ffffffff610c8a16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600061114283611153565b801561054d575061054d8383611187565b6000611166826301ffc9a760e01b611187565b8015611181575061117f826001600160e01b0319611187565b155b92915050565b600080600061119685856111ad565b915091508180156111a45750805b95945050505050565b604080516001600160e01b0319831660248083019190915282518083039091018152604490910182526020810180516001600160e01b03166301ffc9a760e01b1781529151815160009384939284926060926001600160a01b038a169261753092879282918083835b602083106112355780518252601f199092019160209182019101611216565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303818686fa925050503d8060008114611296576040519150601f19603f3d011682016040523d82523d6000602084013e61129b565b606091505b50915091506020815110156112b957600080945094505050506112da565b818180602001905160208110156112cf57600080fd5b505190955093505050505b925092905056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332304f6e417070726f76653a207370656e64657220646f65736e277420737570706f7274206f6e417070726f766545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63656f6e417070726f766528616464726573732c616464726573732c75696e743235362c62797465732953656967546f6b656e3a206f6e6c792073656e646572206f7220726563697069656e742063616e207472616e7366657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582076279835faafec28aae7facfa0911aaea8f78f2ebf1707778dba15d0dbc0713964736f6c634300050c0032" 9184 9185 // DeploySeigToken deploys a new Ethereum contract, binding an instance of SeigToken to it. 9186 func DeploySeigToken(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SeigToken, error) { 9187 parsed, err := abi.JSON(strings.NewReader(SeigTokenABI)) 9188 if err != nil { 9189 return common.Address{}, nil, nil, err 9190 } 9191 9192 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SeigTokenBin), backend) 9193 if err != nil { 9194 return common.Address{}, nil, nil, err 9195 } 9196 return address, tx, &SeigToken{SeigTokenCaller: SeigTokenCaller{contract: contract}, SeigTokenTransactor: SeigTokenTransactor{contract: contract}, SeigTokenFilterer: SeigTokenFilterer{contract: contract}}, nil 9197 } 9198 9199 // SeigToken is an auto generated Go binding around an Ethereum contract. 9200 type SeigToken struct { 9201 SeigTokenCaller // Read-only binding to the contract 9202 SeigTokenTransactor // Write-only binding to the contract 9203 SeigTokenFilterer // Log filterer for contract events 9204 } 9205 9206 // SeigTokenCaller is an auto generated read-only Go binding around an Ethereum contract. 9207 type SeigTokenCaller struct { 9208 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9209 } 9210 9211 // SeigTokenTransactor is an auto generated write-only Go binding around an Ethereum contract. 9212 type SeigTokenTransactor struct { 9213 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9214 } 9215 9216 // SeigTokenFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 9217 type SeigTokenFilterer struct { 9218 contract *bind.BoundContract // Generic contract wrapper for the low level calls 9219 } 9220 9221 // SeigTokenSession is an auto generated Go binding around an Ethereum contract, 9222 // with pre-set call and transact options. 9223 type SeigTokenSession struct { 9224 Contract *SeigToken // Generic contract binding to set the session for 9225 CallOpts bind.CallOpts // Call options to use throughout this session 9226 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9227 } 9228 9229 // SeigTokenCallerSession is an auto generated read-only Go binding around an Ethereum contract, 9230 // with pre-set call options. 9231 type SeigTokenCallerSession struct { 9232 Contract *SeigTokenCaller // Generic contract caller binding to set the session for 9233 CallOpts bind.CallOpts // Call options to use throughout this session 9234 } 9235 9236 // SeigTokenTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 9237 // with pre-set transact options. 9238 type SeigTokenTransactorSession struct { 9239 Contract *SeigTokenTransactor // Generic contract transactor binding to set the session for 9240 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 9241 } 9242 9243 // SeigTokenRaw is an auto generated low-level Go binding around an Ethereum contract. 9244 type SeigTokenRaw struct { 9245 Contract *SeigToken // Generic contract binding to access the raw methods on 9246 } 9247 9248 // SeigTokenCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 9249 type SeigTokenCallerRaw struct { 9250 Contract *SeigTokenCaller // Generic read-only contract binding to access the raw methods on 9251 } 9252 9253 // SeigTokenTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 9254 type SeigTokenTransactorRaw struct { 9255 Contract *SeigTokenTransactor // Generic write-only contract binding to access the raw methods on 9256 } 9257 9258 // NewSeigToken creates a new instance of SeigToken, bound to a specific deployed contract. 9259 func NewSeigToken(address common.Address, backend bind.ContractBackend) (*SeigToken, error) { 9260 contract, err := bindSeigToken(address, backend, backend, backend) 9261 if err != nil { 9262 return nil, err 9263 } 9264 return &SeigToken{SeigTokenCaller: SeigTokenCaller{contract: contract}, SeigTokenTransactor: SeigTokenTransactor{contract: contract}, SeigTokenFilterer: SeigTokenFilterer{contract: contract}}, nil 9265 } 9266 9267 // NewSeigTokenCaller creates a new read-only instance of SeigToken, bound to a specific deployed contract. 9268 func NewSeigTokenCaller(address common.Address, caller bind.ContractCaller) (*SeigTokenCaller, error) { 9269 contract, err := bindSeigToken(address, caller, nil, nil) 9270 if err != nil { 9271 return nil, err 9272 } 9273 return &SeigTokenCaller{contract: contract}, nil 9274 } 9275 9276 // NewSeigTokenTransactor creates a new write-only instance of SeigToken, bound to a specific deployed contract. 9277 func NewSeigTokenTransactor(address common.Address, transactor bind.ContractTransactor) (*SeigTokenTransactor, error) { 9278 contract, err := bindSeigToken(address, nil, transactor, nil) 9279 if err != nil { 9280 return nil, err 9281 } 9282 return &SeigTokenTransactor{contract: contract}, nil 9283 } 9284 9285 // NewSeigTokenFilterer creates a new log filterer instance of SeigToken, bound to a specific deployed contract. 9286 func NewSeigTokenFilterer(address common.Address, filterer bind.ContractFilterer) (*SeigTokenFilterer, error) { 9287 contract, err := bindSeigToken(address, nil, nil, filterer) 9288 if err != nil { 9289 return nil, err 9290 } 9291 return &SeigTokenFilterer{contract: contract}, nil 9292 } 9293 9294 // bindSeigToken binds a generic wrapper to an already deployed contract. 9295 func bindSeigToken(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 9296 parsed, err := abi.JSON(strings.NewReader(SeigTokenABI)) 9297 if err != nil { 9298 return nil, err 9299 } 9300 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 9301 } 9302 9303 // Call invokes the (constant) contract method with params as input values and 9304 // sets the output to result. The result type might be a single field for simple 9305 // returns, a slice of interfaces for anonymous returns and a struct for named 9306 // returns. 9307 func (_SeigToken *SeigTokenRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 9308 return _SeigToken.Contract.SeigTokenCaller.contract.Call(opts, result, method, params...) 9309 } 9310 9311 // Transfer initiates a plain transaction to move funds to the contract, calling 9312 // its default method if one is available. 9313 func (_SeigToken *SeigTokenRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9314 return _SeigToken.Contract.SeigTokenTransactor.contract.Transfer(opts) 9315 } 9316 9317 // Transact invokes the (paid) contract method with params as input values. 9318 func (_SeigToken *SeigTokenRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9319 return _SeigToken.Contract.SeigTokenTransactor.contract.Transact(opts, method, params...) 9320 } 9321 9322 // Call invokes the (constant) contract method with params as input values and 9323 // sets the output to result. The result type might be a single field for simple 9324 // returns, a slice of interfaces for anonymous returns and a struct for named 9325 // returns. 9326 func (_SeigToken *SeigTokenCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 9327 return _SeigToken.Contract.contract.Call(opts, result, method, params...) 9328 } 9329 9330 // Transfer initiates a plain transaction to move funds to the contract, calling 9331 // its default method if one is available. 9332 func (_SeigToken *SeigTokenTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 9333 return _SeigToken.Contract.contract.Transfer(opts) 9334 } 9335 9336 // Transact invokes the (paid) contract method with params as input values. 9337 func (_SeigToken *SeigTokenTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 9338 return _SeigToken.Contract.contract.Transact(opts, method, params...) 9339 } 9340 9341 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 9342 // 9343 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 9344 func (_SeigToken *SeigTokenCaller) INTERFACEIDONAPPROVE(opts *bind.CallOpts) ([4]byte, error) { 9345 var ( 9346 ret0 = new([4]byte) 9347 ) 9348 out := ret0 9349 err := _SeigToken.contract.Call(opts, out, "INTERFACE_ID_ON_APPROVE") 9350 return *ret0, err 9351 } 9352 9353 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 9354 // 9355 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 9356 func (_SeigToken *SeigTokenSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 9357 return _SeigToken.Contract.INTERFACEIDONAPPROVE(&_SeigToken.CallOpts) 9358 } 9359 9360 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 9361 // 9362 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 9363 func (_SeigToken *SeigTokenCallerSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 9364 return _SeigToken.Contract.INTERFACEIDONAPPROVE(&_SeigToken.CallOpts) 9365 } 9366 9367 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 9368 // 9369 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 9370 func (_SeigToken *SeigTokenCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 9371 var ( 9372 ret0 = new(*big.Int) 9373 ) 9374 out := ret0 9375 err := _SeigToken.contract.Call(opts, out, "allowance", owner, spender) 9376 return *ret0, err 9377 } 9378 9379 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 9380 // 9381 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 9382 func (_SeigToken *SeigTokenSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 9383 return _SeigToken.Contract.Allowance(&_SeigToken.CallOpts, owner, spender) 9384 } 9385 9386 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 9387 // 9388 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 9389 func (_SeigToken *SeigTokenCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 9390 return _SeigToken.Contract.Allowance(&_SeigToken.CallOpts, owner, spender) 9391 } 9392 9393 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9394 // 9395 // Solidity: function balanceOf(address account) constant returns(uint256) 9396 func (_SeigToken *SeigTokenCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 9397 var ( 9398 ret0 = new(*big.Int) 9399 ) 9400 out := ret0 9401 err := _SeigToken.contract.Call(opts, out, "balanceOf", account) 9402 return *ret0, err 9403 } 9404 9405 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9406 // 9407 // Solidity: function balanceOf(address account) constant returns(uint256) 9408 func (_SeigToken *SeigTokenSession) BalanceOf(account common.Address) (*big.Int, error) { 9409 return _SeigToken.Contract.BalanceOf(&_SeigToken.CallOpts, account) 9410 } 9411 9412 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 9413 // 9414 // Solidity: function balanceOf(address account) constant returns(uint256) 9415 func (_SeigToken *SeigTokenCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 9416 return _SeigToken.Contract.BalanceOf(&_SeigToken.CallOpts, account) 9417 } 9418 9419 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 9420 // 9421 // Solidity: function isOwner() constant returns(bool) 9422 func (_SeigToken *SeigTokenCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 9423 var ( 9424 ret0 = new(bool) 9425 ) 9426 out := ret0 9427 err := _SeigToken.contract.Call(opts, out, "isOwner") 9428 return *ret0, err 9429 } 9430 9431 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 9432 // 9433 // Solidity: function isOwner() constant returns(bool) 9434 func (_SeigToken *SeigTokenSession) IsOwner() (bool, error) { 9435 return _SeigToken.Contract.IsOwner(&_SeigToken.CallOpts) 9436 } 9437 9438 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 9439 // 9440 // Solidity: function isOwner() constant returns(bool) 9441 func (_SeigToken *SeigTokenCallerSession) IsOwner() (bool, error) { 9442 return _SeigToken.Contract.IsOwner(&_SeigToken.CallOpts) 9443 } 9444 9445 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 9446 // 9447 // Solidity: function owner() constant returns(address) 9448 func (_SeigToken *SeigTokenCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 9449 var ( 9450 ret0 = new(common.Address) 9451 ) 9452 out := ret0 9453 err := _SeigToken.contract.Call(opts, out, "owner") 9454 return *ret0, err 9455 } 9456 9457 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 9458 // 9459 // Solidity: function owner() constant returns(address) 9460 func (_SeigToken *SeigTokenSession) Owner() (common.Address, error) { 9461 return _SeigToken.Contract.Owner(&_SeigToken.CallOpts) 9462 } 9463 9464 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 9465 // 9466 // Solidity: function owner() constant returns(address) 9467 func (_SeigToken *SeigTokenCallerSession) Owner() (common.Address, error) { 9468 return _SeigToken.Contract.Owner(&_SeigToken.CallOpts) 9469 } 9470 9471 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 9472 // 9473 // Solidity: function seigManager() constant returns(address) 9474 func (_SeigToken *SeigTokenCaller) SeigManager(opts *bind.CallOpts) (common.Address, error) { 9475 var ( 9476 ret0 = new(common.Address) 9477 ) 9478 out := ret0 9479 err := _SeigToken.contract.Call(opts, out, "seigManager") 9480 return *ret0, err 9481 } 9482 9483 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 9484 // 9485 // Solidity: function seigManager() constant returns(address) 9486 func (_SeigToken *SeigTokenSession) SeigManager() (common.Address, error) { 9487 return _SeigToken.Contract.SeigManager(&_SeigToken.CallOpts) 9488 } 9489 9490 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 9491 // 9492 // Solidity: function seigManager() constant returns(address) 9493 func (_SeigToken *SeigTokenCallerSession) SeigManager() (common.Address, error) { 9494 return _SeigToken.Contract.SeigManager(&_SeigToken.CallOpts) 9495 } 9496 9497 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9498 // 9499 // Solidity: function totalSupply() constant returns(uint256) 9500 func (_SeigToken *SeigTokenCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 9501 var ( 9502 ret0 = new(*big.Int) 9503 ) 9504 out := ret0 9505 err := _SeigToken.contract.Call(opts, out, "totalSupply") 9506 return *ret0, err 9507 } 9508 9509 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9510 // 9511 // Solidity: function totalSupply() constant returns(uint256) 9512 func (_SeigToken *SeigTokenSession) TotalSupply() (*big.Int, error) { 9513 return _SeigToken.Contract.TotalSupply(&_SeigToken.CallOpts) 9514 } 9515 9516 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 9517 // 9518 // Solidity: function totalSupply() constant returns(uint256) 9519 func (_SeigToken *SeigTokenCallerSession) TotalSupply() (*big.Int, error) { 9520 return _SeigToken.Contract.TotalSupply(&_SeigToken.CallOpts) 9521 } 9522 9523 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9524 // 9525 // Solidity: function approve(address spender, uint256 amount) returns(bool) 9526 func (_SeigToken *SeigTokenTransactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 9527 return _SeigToken.contract.Transact(opts, "approve", spender, amount) 9528 } 9529 9530 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9531 // 9532 // Solidity: function approve(address spender, uint256 amount) returns(bool) 9533 func (_SeigToken *SeigTokenSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 9534 return _SeigToken.Contract.Approve(&_SeigToken.TransactOpts, spender, amount) 9535 } 9536 9537 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 9538 // 9539 // Solidity: function approve(address spender, uint256 amount) returns(bool) 9540 func (_SeigToken *SeigTokenTransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 9541 return _SeigToken.Contract.Approve(&_SeigToken.TransactOpts, spender, amount) 9542 } 9543 9544 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 9545 // 9546 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 9547 func (_SeigToken *SeigTokenTransactor) ApproveAndCall(opts *bind.TransactOpts, spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 9548 return _SeigToken.contract.Transact(opts, "approveAndCall", spender, amount, data) 9549 } 9550 9551 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 9552 // 9553 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 9554 func (_SeigToken *SeigTokenSession) ApproveAndCall(spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 9555 return _SeigToken.Contract.ApproveAndCall(&_SeigToken.TransactOpts, spender, amount, data) 9556 } 9557 9558 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 9559 // 9560 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 9561 func (_SeigToken *SeigTokenTransactorSession) ApproveAndCall(spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 9562 return _SeigToken.Contract.ApproveAndCall(&_SeigToken.TransactOpts, spender, amount, data) 9563 } 9564 9565 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 9566 // 9567 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 9568 func (_SeigToken *SeigTokenTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 9569 return _SeigToken.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 9570 } 9571 9572 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 9573 // 9574 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 9575 func (_SeigToken *SeigTokenSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 9576 return _SeigToken.Contract.DecreaseAllowance(&_SeigToken.TransactOpts, spender, subtractedValue) 9577 } 9578 9579 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 9580 // 9581 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 9582 func (_SeigToken *SeigTokenTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 9583 return _SeigToken.Contract.DecreaseAllowance(&_SeigToken.TransactOpts, spender, subtractedValue) 9584 } 9585 9586 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 9587 // 9588 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 9589 func (_SeigToken *SeigTokenTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 9590 return _SeigToken.contract.Transact(opts, "increaseAllowance", spender, addedValue) 9591 } 9592 9593 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 9594 // 9595 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 9596 func (_SeigToken *SeigTokenSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 9597 return _SeigToken.Contract.IncreaseAllowance(&_SeigToken.TransactOpts, spender, addedValue) 9598 } 9599 9600 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 9601 // 9602 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 9603 func (_SeigToken *SeigTokenTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 9604 return _SeigToken.Contract.IncreaseAllowance(&_SeigToken.TransactOpts, spender, addedValue) 9605 } 9606 9607 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 9608 // 9609 // Solidity: function renounceMinter(address target) returns() 9610 func (_SeigToken *SeigTokenTransactor) RenounceMinter(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 9611 return _SeigToken.contract.Transact(opts, "renounceMinter", target) 9612 } 9613 9614 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 9615 // 9616 // Solidity: function renounceMinter(address target) returns() 9617 func (_SeigToken *SeigTokenSession) RenounceMinter(target common.Address) (*types.Transaction, error) { 9618 return _SeigToken.Contract.RenounceMinter(&_SeigToken.TransactOpts, target) 9619 } 9620 9621 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 9622 // 9623 // Solidity: function renounceMinter(address target) returns() 9624 func (_SeigToken *SeigTokenTransactorSession) RenounceMinter(target common.Address) (*types.Transaction, error) { 9625 return _SeigToken.Contract.RenounceMinter(&_SeigToken.TransactOpts, target) 9626 } 9627 9628 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 9629 // 9630 // Solidity: function renounceOwnership(address target) returns() 9631 func (_SeigToken *SeigTokenTransactor) RenounceOwnership(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 9632 return _SeigToken.contract.Transact(opts, "renounceOwnership", target) 9633 } 9634 9635 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 9636 // 9637 // Solidity: function renounceOwnership(address target) returns() 9638 func (_SeigToken *SeigTokenSession) RenounceOwnership(target common.Address) (*types.Transaction, error) { 9639 return _SeigToken.Contract.RenounceOwnership(&_SeigToken.TransactOpts, target) 9640 } 9641 9642 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 9643 // 9644 // Solidity: function renounceOwnership(address target) returns() 9645 func (_SeigToken *SeigTokenTransactorSession) RenounceOwnership(target common.Address) (*types.Transaction, error) { 9646 return _SeigToken.Contract.RenounceOwnership(&_SeigToken.TransactOpts, target) 9647 } 9648 9649 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 9650 // 9651 // Solidity: function renounceOwnership() returns() 9652 func (_SeigToken *SeigTokenTransactor) RenounceOwnership0(opts *bind.TransactOpts) (*types.Transaction, error) { 9653 return _SeigToken.contract.Transact(opts, "renounceOwnership0") 9654 } 9655 9656 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 9657 // 9658 // Solidity: function renounceOwnership() returns() 9659 func (_SeigToken *SeigTokenSession) RenounceOwnership0() (*types.Transaction, error) { 9660 return _SeigToken.Contract.RenounceOwnership0(&_SeigToken.TransactOpts) 9661 } 9662 9663 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 9664 // 9665 // Solidity: function renounceOwnership() returns() 9666 func (_SeigToken *SeigTokenTransactorSession) RenounceOwnership0() (*types.Transaction, error) { 9667 return _SeigToken.Contract.RenounceOwnership0(&_SeigToken.TransactOpts) 9668 } 9669 9670 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 9671 // 9672 // Solidity: function renouncePauser(address target) returns() 9673 func (_SeigToken *SeigTokenTransactor) RenouncePauser(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 9674 return _SeigToken.contract.Transact(opts, "renouncePauser", target) 9675 } 9676 9677 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 9678 // 9679 // Solidity: function renouncePauser(address target) returns() 9680 func (_SeigToken *SeigTokenSession) RenouncePauser(target common.Address) (*types.Transaction, error) { 9681 return _SeigToken.Contract.RenouncePauser(&_SeigToken.TransactOpts, target) 9682 } 9683 9684 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 9685 // 9686 // Solidity: function renouncePauser(address target) returns() 9687 func (_SeigToken *SeigTokenTransactorSession) RenouncePauser(target common.Address) (*types.Transaction, error) { 9688 return _SeigToken.Contract.RenouncePauser(&_SeigToken.TransactOpts, target) 9689 } 9690 9691 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 9692 // 9693 // Solidity: function setSeigManager(address _seigManager) returns() 9694 func (_SeigToken *SeigTokenTransactor) SetSeigManager(opts *bind.TransactOpts, _seigManager common.Address) (*types.Transaction, error) { 9695 return _SeigToken.contract.Transact(opts, "setSeigManager", _seigManager) 9696 } 9697 9698 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 9699 // 9700 // Solidity: function setSeigManager(address _seigManager) returns() 9701 func (_SeigToken *SeigTokenSession) SetSeigManager(_seigManager common.Address) (*types.Transaction, error) { 9702 return _SeigToken.Contract.SetSeigManager(&_SeigToken.TransactOpts, _seigManager) 9703 } 9704 9705 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 9706 // 9707 // Solidity: function setSeigManager(address _seigManager) returns() 9708 func (_SeigToken *SeigTokenTransactorSession) SetSeigManager(_seigManager common.Address) (*types.Transaction, error) { 9709 return _SeigToken.Contract.SetSeigManager(&_SeigToken.TransactOpts, _seigManager) 9710 } 9711 9712 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 9713 // 9714 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 9715 func (_SeigToken *SeigTokenTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9716 return _SeigToken.contract.Transact(opts, "transfer", recipient, amount) 9717 } 9718 9719 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 9720 // 9721 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 9722 func (_SeigToken *SeigTokenSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9723 return _SeigToken.Contract.Transfer(&_SeigToken.TransactOpts, recipient, amount) 9724 } 9725 9726 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 9727 // 9728 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 9729 func (_SeigToken *SeigTokenTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9730 return _SeigToken.Contract.Transfer(&_SeigToken.TransactOpts, recipient, amount) 9731 } 9732 9733 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 9734 // 9735 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 9736 func (_SeigToken *SeigTokenTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9737 return _SeigToken.contract.Transact(opts, "transferFrom", sender, recipient, amount) 9738 } 9739 9740 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 9741 // 9742 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 9743 func (_SeigToken *SeigTokenSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9744 return _SeigToken.Contract.TransferFrom(&_SeigToken.TransactOpts, sender, recipient, amount) 9745 } 9746 9747 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 9748 // 9749 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 9750 func (_SeigToken *SeigTokenTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 9751 return _SeigToken.Contract.TransferFrom(&_SeigToken.TransactOpts, sender, recipient, amount) 9752 } 9753 9754 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 9755 // 9756 // Solidity: function transferOwnership(address target, address newOwner) returns() 9757 func (_SeigToken *SeigTokenTransactor) TransferOwnership(opts *bind.TransactOpts, target common.Address, newOwner common.Address) (*types.Transaction, error) { 9758 return _SeigToken.contract.Transact(opts, "transferOwnership", target, newOwner) 9759 } 9760 9761 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 9762 // 9763 // Solidity: function transferOwnership(address target, address newOwner) returns() 9764 func (_SeigToken *SeigTokenSession) TransferOwnership(target common.Address, newOwner common.Address) (*types.Transaction, error) { 9765 return _SeigToken.Contract.TransferOwnership(&_SeigToken.TransactOpts, target, newOwner) 9766 } 9767 9768 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 9769 // 9770 // Solidity: function transferOwnership(address target, address newOwner) returns() 9771 func (_SeigToken *SeigTokenTransactorSession) TransferOwnership(target common.Address, newOwner common.Address) (*types.Transaction, error) { 9772 return _SeigToken.Contract.TransferOwnership(&_SeigToken.TransactOpts, target, newOwner) 9773 } 9774 9775 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 9776 // 9777 // Solidity: function transferOwnership(address newOwner) returns() 9778 func (_SeigToken *SeigTokenTransactor) TransferOwnership0(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 9779 return _SeigToken.contract.Transact(opts, "transferOwnership0", newOwner) 9780 } 9781 9782 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 9783 // 9784 // Solidity: function transferOwnership(address newOwner) returns() 9785 func (_SeigToken *SeigTokenSession) TransferOwnership0(newOwner common.Address) (*types.Transaction, error) { 9786 return _SeigToken.Contract.TransferOwnership0(&_SeigToken.TransactOpts, newOwner) 9787 } 9788 9789 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 9790 // 9791 // Solidity: function transferOwnership(address newOwner) returns() 9792 func (_SeigToken *SeigTokenTransactorSession) TransferOwnership0(newOwner common.Address) (*types.Transaction, error) { 9793 return _SeigToken.Contract.TransferOwnership0(&_SeigToken.TransactOpts, newOwner) 9794 } 9795 9796 // SeigTokenApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the SeigToken contract. 9797 type SeigTokenApprovalIterator struct { 9798 Event *SeigTokenApproval // Event containing the contract specifics and raw log 9799 9800 contract *bind.BoundContract // Generic contract to use for unpacking event data 9801 event string // Event name to use for unpacking event data 9802 9803 logs chan types.Log // Log channel receiving the found contract events 9804 sub ethereum.Subscription // Subscription for errors, completion and termination 9805 done bool // Whether the subscription completed delivering logs 9806 fail error // Occurred error to stop iteration 9807 } 9808 9809 // Next advances the iterator to the subsequent event, returning whether there 9810 // are any more events found. In case of a retrieval or parsing error, false is 9811 // returned and Error() can be queried for the exact failure. 9812 func (it *SeigTokenApprovalIterator) Next() bool { 9813 // If the iterator failed, stop iterating 9814 if it.fail != nil { 9815 return false 9816 } 9817 // If the iterator completed, deliver directly whatever's available 9818 if it.done { 9819 select { 9820 case log := <-it.logs: 9821 it.Event = new(SeigTokenApproval) 9822 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9823 it.fail = err 9824 return false 9825 } 9826 it.Event.Raw = log 9827 return true 9828 9829 default: 9830 return false 9831 } 9832 } 9833 // Iterator still in progress, wait for either a data or an error event 9834 select { 9835 case log := <-it.logs: 9836 it.Event = new(SeigTokenApproval) 9837 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9838 it.fail = err 9839 return false 9840 } 9841 it.Event.Raw = log 9842 return true 9843 9844 case err := <-it.sub.Err(): 9845 it.done = true 9846 it.fail = err 9847 return it.Next() 9848 } 9849 } 9850 9851 // Error returns any retrieval or parsing error occurred during filtering. 9852 func (it *SeigTokenApprovalIterator) Error() error { 9853 return it.fail 9854 } 9855 9856 // Close terminates the iteration process, releasing any pending underlying 9857 // resources. 9858 func (it *SeigTokenApprovalIterator) Close() error { 9859 it.sub.Unsubscribe() 9860 return nil 9861 } 9862 9863 // SeigTokenApproval represents a Approval event raised by the SeigToken contract. 9864 type SeigTokenApproval struct { 9865 Owner common.Address 9866 Spender common.Address 9867 Value *big.Int 9868 Raw types.Log // Blockchain specific contextual infos 9869 } 9870 9871 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 9872 // 9873 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 9874 func (_SeigToken *SeigTokenFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*SeigTokenApprovalIterator, error) { 9875 9876 var ownerRule []interface{} 9877 for _, ownerItem := range owner { 9878 ownerRule = append(ownerRule, ownerItem) 9879 } 9880 var spenderRule []interface{} 9881 for _, spenderItem := range spender { 9882 spenderRule = append(spenderRule, spenderItem) 9883 } 9884 9885 logs, sub, err := _SeigToken.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 9886 if err != nil { 9887 return nil, err 9888 } 9889 return &SeigTokenApprovalIterator{contract: _SeigToken.contract, event: "Approval", logs: logs, sub: sub}, nil 9890 } 9891 9892 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 9893 // 9894 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 9895 func (_SeigToken *SeigTokenFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *SeigTokenApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 9896 9897 var ownerRule []interface{} 9898 for _, ownerItem := range owner { 9899 ownerRule = append(ownerRule, ownerItem) 9900 } 9901 var spenderRule []interface{} 9902 for _, spenderItem := range spender { 9903 spenderRule = append(spenderRule, spenderItem) 9904 } 9905 9906 logs, sub, err := _SeigToken.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 9907 if err != nil { 9908 return nil, err 9909 } 9910 return event.NewSubscription(func(quit <-chan struct{}) error { 9911 defer sub.Unsubscribe() 9912 for { 9913 select { 9914 case log := <-logs: 9915 // New log arrived, parse the event and forward to the user 9916 event := new(SeigTokenApproval) 9917 if err := _SeigToken.contract.UnpackLog(event, "Approval", log); err != nil { 9918 return err 9919 } 9920 event.Raw = log 9921 9922 select { 9923 case sink <- event: 9924 case err := <-sub.Err(): 9925 return err 9926 case <-quit: 9927 return nil 9928 } 9929 case err := <-sub.Err(): 9930 return err 9931 case <-quit: 9932 return nil 9933 } 9934 } 9935 }), nil 9936 } 9937 9938 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 9939 // 9940 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 9941 func (_SeigToken *SeigTokenFilterer) ParseApproval(log types.Log) (*SeigTokenApproval, error) { 9942 event := new(SeigTokenApproval) 9943 if err := _SeigToken.contract.UnpackLog(event, "Approval", log); err != nil { 9944 return nil, err 9945 } 9946 return event, nil 9947 } 9948 9949 // SeigTokenOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the SeigToken contract. 9950 type SeigTokenOwnershipTransferredIterator struct { 9951 Event *SeigTokenOwnershipTransferred // Event containing the contract specifics and raw log 9952 9953 contract *bind.BoundContract // Generic contract to use for unpacking event data 9954 event string // Event name to use for unpacking event data 9955 9956 logs chan types.Log // Log channel receiving the found contract events 9957 sub ethereum.Subscription // Subscription for errors, completion and termination 9958 done bool // Whether the subscription completed delivering logs 9959 fail error // Occurred error to stop iteration 9960 } 9961 9962 // Next advances the iterator to the subsequent event, returning whether there 9963 // are any more events found. In case of a retrieval or parsing error, false is 9964 // returned and Error() can be queried for the exact failure. 9965 func (it *SeigTokenOwnershipTransferredIterator) Next() bool { 9966 // If the iterator failed, stop iterating 9967 if it.fail != nil { 9968 return false 9969 } 9970 // If the iterator completed, deliver directly whatever's available 9971 if it.done { 9972 select { 9973 case log := <-it.logs: 9974 it.Event = new(SeigTokenOwnershipTransferred) 9975 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9976 it.fail = err 9977 return false 9978 } 9979 it.Event.Raw = log 9980 return true 9981 9982 default: 9983 return false 9984 } 9985 } 9986 // Iterator still in progress, wait for either a data or an error event 9987 select { 9988 case log := <-it.logs: 9989 it.Event = new(SeigTokenOwnershipTransferred) 9990 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9991 it.fail = err 9992 return false 9993 } 9994 it.Event.Raw = log 9995 return true 9996 9997 case err := <-it.sub.Err(): 9998 it.done = true 9999 it.fail = err 10000 return it.Next() 10001 } 10002 } 10003 10004 // Error returns any retrieval or parsing error occurred during filtering. 10005 func (it *SeigTokenOwnershipTransferredIterator) Error() error { 10006 return it.fail 10007 } 10008 10009 // Close terminates the iteration process, releasing any pending underlying 10010 // resources. 10011 func (it *SeigTokenOwnershipTransferredIterator) Close() error { 10012 it.sub.Unsubscribe() 10013 return nil 10014 } 10015 10016 // SeigTokenOwnershipTransferred represents a OwnershipTransferred event raised by the SeigToken contract. 10017 type SeigTokenOwnershipTransferred struct { 10018 PreviousOwner common.Address 10019 NewOwner common.Address 10020 Raw types.Log // Blockchain specific contextual infos 10021 } 10022 10023 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 10024 // 10025 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 10026 func (_SeigToken *SeigTokenFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*SeigTokenOwnershipTransferredIterator, error) { 10027 10028 var previousOwnerRule []interface{} 10029 for _, previousOwnerItem := range previousOwner { 10030 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 10031 } 10032 var newOwnerRule []interface{} 10033 for _, newOwnerItem := range newOwner { 10034 newOwnerRule = append(newOwnerRule, newOwnerItem) 10035 } 10036 10037 logs, sub, err := _SeigToken.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 10038 if err != nil { 10039 return nil, err 10040 } 10041 return &SeigTokenOwnershipTransferredIterator{contract: _SeigToken.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 10042 } 10043 10044 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 10045 // 10046 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 10047 func (_SeigToken *SeigTokenFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *SeigTokenOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 10048 10049 var previousOwnerRule []interface{} 10050 for _, previousOwnerItem := range previousOwner { 10051 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 10052 } 10053 var newOwnerRule []interface{} 10054 for _, newOwnerItem := range newOwner { 10055 newOwnerRule = append(newOwnerRule, newOwnerItem) 10056 } 10057 10058 logs, sub, err := _SeigToken.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 10059 if err != nil { 10060 return nil, err 10061 } 10062 return event.NewSubscription(func(quit <-chan struct{}) error { 10063 defer sub.Unsubscribe() 10064 for { 10065 select { 10066 case log := <-logs: 10067 // New log arrived, parse the event and forward to the user 10068 event := new(SeigTokenOwnershipTransferred) 10069 if err := _SeigToken.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 10070 return err 10071 } 10072 event.Raw = log 10073 10074 select { 10075 case sink <- event: 10076 case err := <-sub.Err(): 10077 return err 10078 case <-quit: 10079 return nil 10080 } 10081 case err := <-sub.Err(): 10082 return err 10083 case <-quit: 10084 return nil 10085 } 10086 } 10087 }), nil 10088 } 10089 10090 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 10091 // 10092 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 10093 func (_SeigToken *SeigTokenFilterer) ParseOwnershipTransferred(log types.Log) (*SeigTokenOwnershipTransferred, error) { 10094 event := new(SeigTokenOwnershipTransferred) 10095 if err := _SeigToken.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 10096 return nil, err 10097 } 10098 return event, nil 10099 } 10100 10101 // SeigTokenTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the SeigToken contract. 10102 type SeigTokenTransferIterator struct { 10103 Event *SeigTokenTransfer // Event containing the contract specifics and raw log 10104 10105 contract *bind.BoundContract // Generic contract to use for unpacking event data 10106 event string // Event name to use for unpacking event data 10107 10108 logs chan types.Log // Log channel receiving the found contract events 10109 sub ethereum.Subscription // Subscription for errors, completion and termination 10110 done bool // Whether the subscription completed delivering logs 10111 fail error // Occurred error to stop iteration 10112 } 10113 10114 // Next advances the iterator to the subsequent event, returning whether there 10115 // are any more events found. In case of a retrieval or parsing error, false is 10116 // returned and Error() can be queried for the exact failure. 10117 func (it *SeigTokenTransferIterator) Next() bool { 10118 // If the iterator failed, stop iterating 10119 if it.fail != nil { 10120 return false 10121 } 10122 // If the iterator completed, deliver directly whatever's available 10123 if it.done { 10124 select { 10125 case log := <-it.logs: 10126 it.Event = new(SeigTokenTransfer) 10127 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10128 it.fail = err 10129 return false 10130 } 10131 it.Event.Raw = log 10132 return true 10133 10134 default: 10135 return false 10136 } 10137 } 10138 // Iterator still in progress, wait for either a data or an error event 10139 select { 10140 case log := <-it.logs: 10141 it.Event = new(SeigTokenTransfer) 10142 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10143 it.fail = err 10144 return false 10145 } 10146 it.Event.Raw = log 10147 return true 10148 10149 case err := <-it.sub.Err(): 10150 it.done = true 10151 it.fail = err 10152 return it.Next() 10153 } 10154 } 10155 10156 // Error returns any retrieval or parsing error occurred during filtering. 10157 func (it *SeigTokenTransferIterator) Error() error { 10158 return it.fail 10159 } 10160 10161 // Close terminates the iteration process, releasing any pending underlying 10162 // resources. 10163 func (it *SeigTokenTransferIterator) Close() error { 10164 it.sub.Unsubscribe() 10165 return nil 10166 } 10167 10168 // SeigTokenTransfer represents a Transfer event raised by the SeigToken contract. 10169 type SeigTokenTransfer struct { 10170 From common.Address 10171 To common.Address 10172 Value *big.Int 10173 Raw types.Log // Blockchain specific contextual infos 10174 } 10175 10176 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10177 // 10178 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 10179 func (_SeigToken *SeigTokenFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*SeigTokenTransferIterator, error) { 10180 10181 var fromRule []interface{} 10182 for _, fromItem := range from { 10183 fromRule = append(fromRule, fromItem) 10184 } 10185 var toRule []interface{} 10186 for _, toItem := range to { 10187 toRule = append(toRule, toItem) 10188 } 10189 10190 logs, sub, err := _SeigToken.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 10191 if err != nil { 10192 return nil, err 10193 } 10194 return &SeigTokenTransferIterator{contract: _SeigToken.contract, event: "Transfer", logs: logs, sub: sub}, nil 10195 } 10196 10197 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10198 // 10199 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 10200 func (_SeigToken *SeigTokenFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *SeigTokenTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 10201 10202 var fromRule []interface{} 10203 for _, fromItem := range from { 10204 fromRule = append(fromRule, fromItem) 10205 } 10206 var toRule []interface{} 10207 for _, toItem := range to { 10208 toRule = append(toRule, toItem) 10209 } 10210 10211 logs, sub, err := _SeigToken.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 10212 if err != nil { 10213 return nil, err 10214 } 10215 return event.NewSubscription(func(quit <-chan struct{}) error { 10216 defer sub.Unsubscribe() 10217 for { 10218 select { 10219 case log := <-logs: 10220 // New log arrived, parse the event and forward to the user 10221 event := new(SeigTokenTransfer) 10222 if err := _SeigToken.contract.UnpackLog(event, "Transfer", log); err != nil { 10223 return err 10224 } 10225 event.Raw = log 10226 10227 select { 10228 case sink <- event: 10229 case err := <-sub.Err(): 10230 return err 10231 case <-quit: 10232 return nil 10233 } 10234 case err := <-sub.Err(): 10235 return err 10236 case <-quit: 10237 return nil 10238 } 10239 } 10240 }), nil 10241 } 10242 10243 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 10244 // 10245 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 10246 func (_SeigToken *SeigTokenFilterer) ParseTransfer(log types.Log) (*SeigTokenTransfer, error) { 10247 event := new(SeigTokenTransfer) 10248 if err := _SeigToken.contract.UnpackLog(event, "Transfer", log); err != nil { 10249 return nil, err 10250 } 10251 return event, nil 10252 } 10253 10254 // WTONABI is the input ABI used to generate the binding from. 10255 const WTONABI = "[{\"inputs\":[{\"internalType\":\"contractERC20Mintable\",\"name\":\"_ton\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"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\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"INTERFACE_ID_ON_APPROVE\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tonAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onApprove\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"seigManager\",\"outputs\":[{\"internalType\":\"contractSeigManagerI\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contractSeigManagerI\",\"name\":\"_seigManager\",\"type\":\"address\"}],\"name\":\"setSeigManager\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tonAmount\",\"type\":\"uint256\"}],\"name\":\"swapFromTON\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tonAmount\",\"type\":\"uint256\"}],\"name\":\"swapFromTONAndTransfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wtonAmount\",\"type\":\"uint256\"}],\"name\":\"swapToTON\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wtonAmount\",\"type\":\"uint256\"}],\"name\":\"swapToTONAndTransfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ton\",\"outputs\":[{\"internalType\":\"contractERC20Mintable\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 10256 10257 // WTONFuncSigs maps the 4-byte function signature to its string representation. 10258 var WTONFuncSigs = map[string]string{ 10259 "6cd28f9a": "INTERFACE_ID_ON_APPROVE()", 10260 "983b2d56": "addMinter(address)", 10261 "dd62ed3e": "allowance(address,address)", 10262 "095ea7b3": "approve(address,uint256)", 10263 "cae9ca51": "approveAndCall(address,uint256,bytes)", 10264 "70a08231": "balanceOf(address)", 10265 "42966c68": "burn(uint256)", 10266 "79cc6790": "burnFrom(address,uint256)", 10267 "313ce567": "decimals()", 10268 "a457c2d7": "decreaseAllowance(address,uint256)", 10269 "39509351": "increaseAllowance(address,uint256)", 10270 "aa271e1a": "isMinter(address)", 10271 "8f32d59b": "isOwner()", 10272 "40c10f19": "mint(address,uint256)", 10273 "06fdde03": "name()", 10274 "4273ca16": "onApprove(address,address,uint256,bytes)", 10275 "8da5cb5b": "owner()", 10276 "98650275": "renounceMinter()", 10277 "5f112c68": "renounceMinter(address)", 10278 "715018a6": "renounceOwnership()", 10279 "38bf3cfa": "renounceOwnership(address)", 10280 "41eb24bb": "renouncePauser(address)", 10281 "6fb7f558": "seigManager()", 10282 "7657f20a": "setSeigManager(address)", 10283 "01ffc9a7": "supportsInterface(bytes4)", 10284 "e34869d7": "swapFromTON(uint256)", 10285 "588420b7": "swapFromTONAndTransfer(address,uint256)", 10286 "f53fe70f": "swapToTON(uint256)", 10287 "e3b99e85": "swapToTONAndTransfer(address,uint256)", 10288 "95d89b41": "symbol()", 10289 "cc48b947": "ton()", 10290 "18160ddd": "totalSupply()", 10291 "a9059cbb": "transfer(address,uint256)", 10292 "23b872dd": "transferFrom(address,address,uint256)", 10293 "f2fde38b": "transferOwnership(address)", 10294 "6d435421": "transferOwnership(address,address)", 10295 } 10296 10297 // WTONBin is the compiled bytecode used for deploying new contracts. 10298 var WTONBin = "0x60806040523480156200001157600080fd5b5060405162002dd338038062002dd3833981810160405260208110156200003757600080fd5b5051604080518082018252600b81527f5772617070656420544f4e0000000000000000000000000000000000000000006020828101919091528251808401909352600483527f57544f4e00000000000000000000000000000000000000000000000000000000908301526000805460ff1916600117905590601b620000d7620000c86001600160e01b03620002d616565b6001600160e01b03620002db16565b6000620000ec6001600160e01b03620002d616565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35082516200014f90600690602086019062000526565b5081516200016590600790602085019062000526565b506008805460ff191660ff9290921691909117905550620001a890507f01ffc9a7000000000000000000000000000000000000000000000000000000006200032d565b620001d6604051808062002d896028913960405190819003602801902090506001600160e01b036200032d16565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021057600080fd5b505afa15801562000225573d6000803e3d6000fd5b505050506040513d60208110156200023c57600080fd5b505160ff16601214620002b057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f57544f4e3a20646563696d616c73206f6620544f4e206d757374206265203138604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055620005c8565b335b90565b620002f6816004620003fc60201b62001f5f1790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620003bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152600960205260409020805460ff19166001179055565b6200041182826001600160e01b03620004a316565b156200047e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b03821662000506576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062002db16022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200056957805160ff191683800117855562000599565b8280016001018555821562000599579182015b82811115620005995782518255916020019190600101906200057c565b50620005a7929150620005ab565b5090565b620002d891905b80821115620005a75760008155600101620005b2565b6127b180620005d86000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c8063715018a611610125578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e14610796578063e34869d7146107c4578063e3b99e85146107e1578063f2fde38b1461080d578063f53fe70f146108335761021c565b8063a9059cbb14610681578063aa271e1a146106ad578063cae9ca51146106d3578063cc48b9471461078e5761021c565b80638f32d59b116100f45780638f32d59b1461061757806395d89b411461061f578063983b2d5614610627578063986502751461064d578063a457c2d7146106555761021c565b8063715018a6146105b55780637657f20a146105bd57806379cc6790146105e35780638da5cb5b1461060f5761021c565b806341eb24bb116101a85780635f112c68116101775780635f112c68146104f25780636cd28f9a146105185780636d4354211461053d5780636fb7f5581461056b57806370a082311461058f5761021c565b806341eb24bb146103f35780634273ca161461041957806342966c68146104a9578063588420b7146104c65761021c565b806323b872dd116101ef57806323b872dd1461031f578063313ce5671461035557806338bf3cfa14610373578063395093511461039b57806340c10f19146103c75761021c565b806301ffc9a71461022157806306fdde031461025c578063095ea7b3146102d957806318160ddd14610305575b600080fd5b6102486004803603602081101561023757600080fd5b50356001600160e01b031916610850565b604080519115158252519081900360200190f35b61026461086f565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029e578181015183820152602001610286565b50505050905090810190601f1680156102cb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610248600480360360408110156102ef57600080fd5b506001600160a01b038135169060200135610905565b61030d610922565b60408051918252519081900360200190f35b6102486004803603606081101561033557600080fd5b506001600160a01b03813581169160208101359091169060400135610928565b61035d6109b6565b6040805160ff9092168252519081900360200190f35b6103996004803603602081101561038957600080fd5b50356001600160a01b03166109bf565b005b610248600480360360408110156103b157600080fd5b506001600160a01b038135169060200135610a5c565b610248600480360360408110156103dd57600080fd5b506001600160a01b038135169060200135610ab0565b6103996004803603602081101561040957600080fd5b50356001600160a01b0316610b07565b6102486004803603608081101561042f57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561046a57600080fd5b82018360208201111561047c57600080fd5b8035906020019184600183028401116401000000008311171561049e57600080fd5b509092509050610b89565b610399600480360360208110156104bf57600080fd5b5035610c68565b610248600480360360408110156104dc57600080fd5b506001600160a01b038135169060200135610c7c565b6103996004803603602081101561050857600080fd5b50356001600160a01b0316610cec565b610520610d6e565b604080516001600160e01b03199092168252519081900360200190f35b6103996004803603604081101561055357600080fd5b506001600160a01b0381358116916020013516610d89565b610573610e44565b604080516001600160a01b039092168252519081900360200190f35b61030d600480360360208110156105a557600080fd5b50356001600160a01b0316610e58565b610399610e73565b610399600480360360208110156105d357600080fd5b50356001600160a01b0316610f04565b610399600480360360408110156105f957600080fd5b506001600160a01b038135169060200135610f73565b610573610f9e565b610248610fad565b610264610fd3565b6103996004803603602081101561063d57600080fd5b50356001600160a01b0316611034565b610399611083565b6102486004803603604081101561066b57600080fd5b506001600160a01b038135169060200135611095565b6102486004803603604081101561069757600080fd5b506001600160a01b038135169060200135611103565b610248600480360360208110156106c357600080fd5b50356001600160a01b0316611117565b610248600480360360608110156106e957600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561071957600080fd5b82018360208201111561072b57600080fd5b8035906020019184600183028401116401000000008311171561074d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611130945050505050565b610573611151565b61030d600480360360408110156107ac57600080fd5b506001600160a01b0381358116916020013516611160565b610248600480360360208110156107da57600080fd5b503561118b565b610248600480360360408110156107f757600080fd5b506001600160a01b0381351690602001356111fa565b6103996004803603602081101561082357600080fd5b50356001600160a01b0316611255565b6102486004803603602081101561084957600080fd5b50356112a5565b6001600160e01b03191660009081526009602052604090205460ff1690565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108fb5780601f106108d0576101008083540402835291602001916108fb565b820191906000526020600020905b8154815290600101906020018083116108de57829003601f168201915b5050505050905090565b6000610919610912611300565b8484611304565b50600192915050565b60035490565b60006109358484846113f0565b6109ab84610941611300565b6109a685604051806060016040528060288152602001612610602891396001600160a01b038a1660009081526002602052604081209061097f611300565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61145a16565b611304565b5060015b9392505050565b60085460ff1690565b6109c7610fad565b610a06576040805162461bcd60e51b81526020600482018190526024820152600080516020612638833981519152604482015290519081900360640190fd5b806001600160a01b031663715018a66040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b5050505050565b6000610919610a69611300565b846109a68560026000610a7a611300565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6114f116565b6000610ac2610abd611300565b611117565b610afd5760405162461bcd60e51b81526004018080602001828103825260308152602001806125bf6030913960400191505060405180910390fd5b610919838361154b565b610b0f610fad565b610b4e576040805162461bcd60e51b81526020600482018190526024820152600080516020612638833981519152604482015290519081900360640190fd5b806001600160a01b0316636ef8d66d6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a4157600080fd5b600a546000906001600160a01b03163314610bd55760405162461bcd60e51b81526004018080602001828103825260268152602001806127086026913960400191505060405180910390fd5b610be0868786611555565b506000610bec85611587565b9050600080610c3086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061159092505050565b91509150610c3f898385611304565b6060610c4a826115b2565b9050610c588a8486846115dc565b5060019998505050505050505050565b610c79610c73611300565b82611832565b50565b6000805460ff16610cc2576040805162461bcd60e51b815260206004820152601f6024820152600080516020612486833981519152604482015290519081900360640190fd5b6000805460ff19169055610cd7338484611555565b90506000805460ff1916600117905592915050565b610cf4610fad565b610d33576040805162461bcd60e51b81526020600482018190526024820152600080516020612638833981519152604482015290519081900360640190fd5b806001600160a01b031663986502756040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a4157600080fd5b60405180602861256782396028019050604051809103902081565b610d91610fad565b610dd0576040805162461bcd60e51b81526020600482018190526024820152600080516020612638833981519152604482015290519081900360640190fd5b816001600160a01b031663f2fde38b826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015610e2857600080fd5b505af1158015610e3c573d6000803e3d6000fd5b505050505050565b60085461010090046001600160a01b031681565b6001600160a01b031660009081526001602052604090205490565b610e7b610fad565b610eba576040805162461bcd60e51b81526020600482018190526024820152600080516020612638833981519152604482015290519081900360640190fd5b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b610f0c610fad565b610f4b576040805162461bcd60e51b81526020600482018190526024820152600080516020612638833981519152604482015290519081900360640190fd5b600880546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b610f7c33611117565b15610f9057610f8b8282611832565b610f9a565b610f9a828261183c565b5050565b6005546001600160a01b031690565b6005546000906001600160a01b0316610fc4611300565b6001600160a01b031614905090565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108fb5780601f106108d0576101008083540402835291602001916108fb565b61103f610abd611300565b61107a5760405162461bcd60e51b81526004018080602001828103825260308152602001806125bf6030913960400191505060405180910390fd5b610c7981611846565b61109361108e611300565b61188e565b565b60006109196110a2611300565b846109a68560405180606001604052806025815260200161275860259139600260006110cc611300565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61145a16565b6000610919611110611300565b84846113f0565b600061112a60048363ffffffff6118d616565b92915050565b600061113c8484610905565b61114557600080fd5b6109af338585856115dc565b600a546001600160a01b031681565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000805460ff166111d1576040805162461bcd60e51b815260206004820152601f6024820152600080516020612486833981519152604482015290519081900360640190fd5b6000805460ff191690556111e6338084611555565b90506000805460ff19166001179055919050565b6000805460ff16611240576040805162461bcd60e51b815260206004820152601f6024820152600080516020612486833981519152604482015290519081900360640190fd5b6000805460ff19169055610cd783338461193d565b61125d610fad565b61129c576040805162461bcd60e51b81526020600482018190526024820152600080516020612638833981519152604482015290519081900360640190fd5b610c7981611aa2565b6000805460ff166112eb576040805162461bcd60e51b815260206004820152601f6024820152600080516020612486833981519152604482015290519081900360640190fd5b6000805460ff191690556111e633808461193d565b3390565b6001600160a01b0383166113495760405162461bcd60e51b81526004018080602001828103825260248152602001806126e46024913960400191505060405180910390fd5b6001600160a01b03821661138e5760405162461bcd60e51b81526004018080602001828103825260228152602001806124ee6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b336001600160a01b038416148061140f5750336001600160a01b038316145b61144a5760405162461bcd60e51b815260040180806020018281038252603081526020018061258f6030913960400191505060405180910390fd5b611455838383611b43565b505050565b600081848411156114e95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114ae578181015183820152602001611496565b50505050905090810190601f1680156114db5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156109af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b610f9a8282611ca1565b60006115698361156484611587565b61154b565b600a546109ab906001600160a01b031685308563ffffffff611d9316565b633b9aca000290565b60008082516040146115a157600080fd5b505060208101516040909101519091565b60408051602080825281830190925260609160208201818038833950505060208101929092525090565b6115fe8360405180806125676028913960280190506040518091039020611df3565b6116395760405162461bcd60e51b81526004018080602001828103825260318152602001806125106031913960400191505060405180910390fd5b60006060846001600160a01b0316604051808061256760289139602801905060405180910390208787878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156116da5781810151838201526020016116c2565b50505050905090810190601f1680156117075780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b6020831061176f5780518252601f199092019160209182019101611750565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146117d1576040519150601f19603f3d011682016040523d82523d6000602084013e6117d6565b606091505b50915091508181906118295760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114ae578181015183820152602001611496565b50505050505050565b610f9a8282611e0f565b610f9a8282611f0b565b61185760048263ffffffff611f5f16565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61189f60048263ffffffff611fe016565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661191d5760405162461bcd60e51b81526004018080602001828103825260228152602001806126586022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b60006119498383611832565b600061195483612047565b600a54604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119a557600080fd5b505afa1580156119b9573d6000803e3d6000fd5b505050506040513d60208110156119cf57600080fd5b5051905081811015611a7957600a546001600160a01b03166340c10f19306119fd858563ffffffff61205116565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611a4c57600080fd5b505af1158015611a60573d6000803e3d6000fd5b505050506040513d6020811015611a7657600080fd5b50505b600a54611a96906001600160a01b0316878463ffffffff61209316565b50600195945050505050565b6001600160a01b038116611ae75760405162461bcd60e51b81526004018080602001828103825260268152602001806124c86026913960400191505060405180910390fd5b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611b885760405162461bcd60e51b81526004018080602001828103825260258152602001806126bf6025913960400191505060405180910390fd5b6001600160a01b038216611bcd5760405162461bcd60e51b81526004018080602001828103825260238152602001806124636023913960400191505060405180910390fd5b611c1081604051806060016040528060268152602001612541602691396001600160a01b038616600090815260016020526040902054919063ffffffff61145a16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611c45908263ffffffff6114f116565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b038216611cfc576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600354611d0f908263ffffffff6114f116565b6003556001600160a01b038216600090815260016020526040902054611d3b908263ffffffff6114f116565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611ded9085906120e1565b50505050565b6000611dfe83612299565b80156109af57506109af83836122cc565b6001600160a01b038216611e545760405162461bcd60e51b815260040180806020018281038252602181526020018061269e6021913960400191505060405180910390fd5b611e97816040518060600160405280602281526020016124a6602291396001600160a01b038516600090815260016020526040902054919063ffffffff61145a16565b6001600160a01b038316600090815260016020526040902055600354611ec3908263ffffffff61205116565b6003556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b611f158282611832565b610f9a82611f21611300565b6109a68460405180606001604052806024815260200161267a602491396001600160a01b03881660009081526002602052604081209061097f611300565b611f6982826118d6565b15611fbb576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b611fea82826118d6565b6120255760405162461bcd60e51b81526004018080602001828103825260218152602001806125ef6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b633b9aca00900490565b60006109af83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061145a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114559084905b6120f3826001600160a01b03166122f2565b612144576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106121825780518252601f199092019160209182019101612163565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146121e4576040519150601f19603f3d011682016040523d82523d6000602084013e6121e9565b606091505b509150915081612240576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611ded5780806020019051602081101561225c57600080fd5b5051611ded5760405162461bcd60e51b815260040180806020018281038252602a81526020018061272e602a913960400191505060405180910390fd5b60006122ac826301ffc9a760e01b6122cc565b801561112a57506122c5826001600160e01b03196122cc565b1592915050565b60008060006122db858561232e565b915091508180156122e95750805b95945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061232657508115155b949350505050565b604080516001600160e01b0319831660248083019190915282518083039091018152604490910182526020810180516001600160e01b03166301ffc9a760e01b1781529151815160009384939284926060926001600160a01b038a169261753092879282918083835b602083106123b65780518252601f199092019160209182019101612397565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303818686fa925050503d8060008114612417576040519150601f19603f3d011682016040523d82523d6000602084013e61241c565b606091505b509150915060208151101561243a576000809450945050505061245b565b8181806020019051602081101561245057600080fd5b505190955093505050505b925092905056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735265656e7472616e637947756172643a207265656e7472616e742063616c6c0045524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332304f6e417070726f76653a207370656e64657220646f65736e277420737570706f7274206f6e417070726f766545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63656f6e417070726f766528616464726573732c616464726573732c75696e743235362c62797465732953656967546f6b656e3a206f6e6c792073656e646572206f7220726563697069656e742063616e207472616e736665724d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737357544f4e3a206f6e6c792061636365707420544f4e20617070726f76652063616c6c6261636b5361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158202bfe31d10b317d00b331127684b94dbdcf8eb8656dc5af1f2f15bd57a3cd166664736f6c634300050c00326f6e417070726f766528616464726573732c616464726573732c75696e743235362c627974657329526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373" 10299 10300 // DeployWTON deploys a new Ethereum contract, binding an instance of WTON to it. 10301 func DeployWTON(auth *bind.TransactOpts, backend bind.ContractBackend, _ton common.Address) (common.Address, *types.Transaction, *WTON, error) { 10302 parsed, err := abi.JSON(strings.NewReader(WTONABI)) 10303 if err != nil { 10304 return common.Address{}, nil, nil, err 10305 } 10306 10307 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(WTONBin), backend, _ton) 10308 if err != nil { 10309 return common.Address{}, nil, nil, err 10310 } 10311 return address, tx, &WTON{WTONCaller: WTONCaller{contract: contract}, WTONTransactor: WTONTransactor{contract: contract}, WTONFilterer: WTONFilterer{contract: contract}}, nil 10312 } 10313 10314 // WTON is an auto generated Go binding around an Ethereum contract. 10315 type WTON struct { 10316 WTONCaller // Read-only binding to the contract 10317 WTONTransactor // Write-only binding to the contract 10318 WTONFilterer // Log filterer for contract events 10319 } 10320 10321 // WTONCaller is an auto generated read-only Go binding around an Ethereum contract. 10322 type WTONCaller struct { 10323 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10324 } 10325 10326 // WTONTransactor is an auto generated write-only Go binding around an Ethereum contract. 10327 type WTONTransactor struct { 10328 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10329 } 10330 10331 // WTONFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 10332 type WTONFilterer struct { 10333 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10334 } 10335 10336 // WTONSession is an auto generated Go binding around an Ethereum contract, 10337 // with pre-set call and transact options. 10338 type WTONSession struct { 10339 Contract *WTON // Generic contract binding to set the session for 10340 CallOpts bind.CallOpts // Call options to use throughout this session 10341 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10342 } 10343 10344 // WTONCallerSession is an auto generated read-only Go binding around an Ethereum contract, 10345 // with pre-set call options. 10346 type WTONCallerSession struct { 10347 Contract *WTONCaller // Generic contract caller binding to set the session for 10348 CallOpts bind.CallOpts // Call options to use throughout this session 10349 } 10350 10351 // WTONTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 10352 // with pre-set transact options. 10353 type WTONTransactorSession struct { 10354 Contract *WTONTransactor // Generic contract transactor binding to set the session for 10355 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10356 } 10357 10358 // WTONRaw is an auto generated low-level Go binding around an Ethereum contract. 10359 type WTONRaw struct { 10360 Contract *WTON // Generic contract binding to access the raw methods on 10361 } 10362 10363 // WTONCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 10364 type WTONCallerRaw struct { 10365 Contract *WTONCaller // Generic read-only contract binding to access the raw methods on 10366 } 10367 10368 // WTONTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 10369 type WTONTransactorRaw struct { 10370 Contract *WTONTransactor // Generic write-only contract binding to access the raw methods on 10371 } 10372 10373 // NewWTON creates a new instance of WTON, bound to a specific deployed contract. 10374 func NewWTON(address common.Address, backend bind.ContractBackend) (*WTON, error) { 10375 contract, err := bindWTON(address, backend, backend, backend) 10376 if err != nil { 10377 return nil, err 10378 } 10379 return &WTON{WTONCaller: WTONCaller{contract: contract}, WTONTransactor: WTONTransactor{contract: contract}, WTONFilterer: WTONFilterer{contract: contract}}, nil 10380 } 10381 10382 // NewWTONCaller creates a new read-only instance of WTON, bound to a specific deployed contract. 10383 func NewWTONCaller(address common.Address, caller bind.ContractCaller) (*WTONCaller, error) { 10384 contract, err := bindWTON(address, caller, nil, nil) 10385 if err != nil { 10386 return nil, err 10387 } 10388 return &WTONCaller{contract: contract}, nil 10389 } 10390 10391 // NewWTONTransactor creates a new write-only instance of WTON, bound to a specific deployed contract. 10392 func NewWTONTransactor(address common.Address, transactor bind.ContractTransactor) (*WTONTransactor, error) { 10393 contract, err := bindWTON(address, nil, transactor, nil) 10394 if err != nil { 10395 return nil, err 10396 } 10397 return &WTONTransactor{contract: contract}, nil 10398 } 10399 10400 // NewWTONFilterer creates a new log filterer instance of WTON, bound to a specific deployed contract. 10401 func NewWTONFilterer(address common.Address, filterer bind.ContractFilterer) (*WTONFilterer, error) { 10402 contract, err := bindWTON(address, nil, nil, filterer) 10403 if err != nil { 10404 return nil, err 10405 } 10406 return &WTONFilterer{contract: contract}, nil 10407 } 10408 10409 // bindWTON binds a generic wrapper to an already deployed contract. 10410 func bindWTON(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 10411 parsed, err := abi.JSON(strings.NewReader(WTONABI)) 10412 if err != nil { 10413 return nil, err 10414 } 10415 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 10416 } 10417 10418 // Call invokes the (constant) contract method with params as input values and 10419 // sets the output to result. The result type might be a single field for simple 10420 // returns, a slice of interfaces for anonymous returns and a struct for named 10421 // returns. 10422 func (_WTON *WTONRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 10423 return _WTON.Contract.WTONCaller.contract.Call(opts, result, method, params...) 10424 } 10425 10426 // Transfer initiates a plain transaction to move funds to the contract, calling 10427 // its default method if one is available. 10428 func (_WTON *WTONRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10429 return _WTON.Contract.WTONTransactor.contract.Transfer(opts) 10430 } 10431 10432 // Transact invokes the (paid) contract method with params as input values. 10433 func (_WTON *WTONRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10434 return _WTON.Contract.WTONTransactor.contract.Transact(opts, method, params...) 10435 } 10436 10437 // Call invokes the (constant) contract method with params as input values and 10438 // sets the output to result. The result type might be a single field for simple 10439 // returns, a slice of interfaces for anonymous returns and a struct for named 10440 // returns. 10441 func (_WTON *WTONCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 10442 return _WTON.Contract.contract.Call(opts, result, method, params...) 10443 } 10444 10445 // Transfer initiates a plain transaction to move funds to the contract, calling 10446 // its default method if one is available. 10447 func (_WTON *WTONTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10448 return _WTON.Contract.contract.Transfer(opts) 10449 } 10450 10451 // Transact invokes the (paid) contract method with params as input values. 10452 func (_WTON *WTONTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10453 return _WTON.Contract.contract.Transact(opts, method, params...) 10454 } 10455 10456 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 10457 // 10458 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 10459 func (_WTON *WTONCaller) INTERFACEIDONAPPROVE(opts *bind.CallOpts) ([4]byte, error) { 10460 var ( 10461 ret0 = new([4]byte) 10462 ) 10463 out := ret0 10464 err := _WTON.contract.Call(opts, out, "INTERFACE_ID_ON_APPROVE") 10465 return *ret0, err 10466 } 10467 10468 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 10469 // 10470 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 10471 func (_WTON *WTONSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 10472 return _WTON.Contract.INTERFACEIDONAPPROVE(&_WTON.CallOpts) 10473 } 10474 10475 // INTERFACEIDONAPPROVE is a free data retrieval call binding the contract method 0x6cd28f9a. 10476 // 10477 // Solidity: function INTERFACE_ID_ON_APPROVE() constant returns(bytes4) 10478 func (_WTON *WTONCallerSession) INTERFACEIDONAPPROVE() ([4]byte, error) { 10479 return _WTON.Contract.INTERFACEIDONAPPROVE(&_WTON.CallOpts) 10480 } 10481 10482 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 10483 // 10484 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 10485 func (_WTON *WTONCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 10486 var ( 10487 ret0 = new(*big.Int) 10488 ) 10489 out := ret0 10490 err := _WTON.contract.Call(opts, out, "allowance", owner, spender) 10491 return *ret0, err 10492 } 10493 10494 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 10495 // 10496 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 10497 func (_WTON *WTONSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 10498 return _WTON.Contract.Allowance(&_WTON.CallOpts, owner, spender) 10499 } 10500 10501 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 10502 // 10503 // Solidity: function allowance(address owner, address spender) constant returns(uint256) 10504 func (_WTON *WTONCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 10505 return _WTON.Contract.Allowance(&_WTON.CallOpts, owner, spender) 10506 } 10507 10508 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10509 // 10510 // Solidity: function balanceOf(address account) constant returns(uint256) 10511 func (_WTON *WTONCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 10512 var ( 10513 ret0 = new(*big.Int) 10514 ) 10515 out := ret0 10516 err := _WTON.contract.Call(opts, out, "balanceOf", account) 10517 return *ret0, err 10518 } 10519 10520 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10521 // 10522 // Solidity: function balanceOf(address account) constant returns(uint256) 10523 func (_WTON *WTONSession) BalanceOf(account common.Address) (*big.Int, error) { 10524 return _WTON.Contract.BalanceOf(&_WTON.CallOpts, account) 10525 } 10526 10527 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 10528 // 10529 // Solidity: function balanceOf(address account) constant returns(uint256) 10530 func (_WTON *WTONCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 10531 return _WTON.Contract.BalanceOf(&_WTON.CallOpts, account) 10532 } 10533 10534 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 10535 // 10536 // Solidity: function decimals() constant returns(uint8) 10537 func (_WTON *WTONCaller) Decimals(opts *bind.CallOpts) (uint8, error) { 10538 var ( 10539 ret0 = new(uint8) 10540 ) 10541 out := ret0 10542 err := _WTON.contract.Call(opts, out, "decimals") 10543 return *ret0, err 10544 } 10545 10546 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 10547 // 10548 // Solidity: function decimals() constant returns(uint8) 10549 func (_WTON *WTONSession) Decimals() (uint8, error) { 10550 return _WTON.Contract.Decimals(&_WTON.CallOpts) 10551 } 10552 10553 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 10554 // 10555 // Solidity: function decimals() constant returns(uint8) 10556 func (_WTON *WTONCallerSession) Decimals() (uint8, error) { 10557 return _WTON.Contract.Decimals(&_WTON.CallOpts) 10558 } 10559 10560 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 10561 // 10562 // Solidity: function isMinter(address account) constant returns(bool) 10563 func (_WTON *WTONCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 10564 var ( 10565 ret0 = new(bool) 10566 ) 10567 out := ret0 10568 err := _WTON.contract.Call(opts, out, "isMinter", account) 10569 return *ret0, err 10570 } 10571 10572 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 10573 // 10574 // Solidity: function isMinter(address account) constant returns(bool) 10575 func (_WTON *WTONSession) IsMinter(account common.Address) (bool, error) { 10576 return _WTON.Contract.IsMinter(&_WTON.CallOpts, account) 10577 } 10578 10579 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 10580 // 10581 // Solidity: function isMinter(address account) constant returns(bool) 10582 func (_WTON *WTONCallerSession) IsMinter(account common.Address) (bool, error) { 10583 return _WTON.Contract.IsMinter(&_WTON.CallOpts, account) 10584 } 10585 10586 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 10587 // 10588 // Solidity: function isOwner() constant returns(bool) 10589 func (_WTON *WTONCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 10590 var ( 10591 ret0 = new(bool) 10592 ) 10593 out := ret0 10594 err := _WTON.contract.Call(opts, out, "isOwner") 10595 return *ret0, err 10596 } 10597 10598 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 10599 // 10600 // Solidity: function isOwner() constant returns(bool) 10601 func (_WTON *WTONSession) IsOwner() (bool, error) { 10602 return _WTON.Contract.IsOwner(&_WTON.CallOpts) 10603 } 10604 10605 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 10606 // 10607 // Solidity: function isOwner() constant returns(bool) 10608 func (_WTON *WTONCallerSession) IsOwner() (bool, error) { 10609 return _WTON.Contract.IsOwner(&_WTON.CallOpts) 10610 } 10611 10612 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10613 // 10614 // Solidity: function name() constant returns(string) 10615 func (_WTON *WTONCaller) Name(opts *bind.CallOpts) (string, error) { 10616 var ( 10617 ret0 = new(string) 10618 ) 10619 out := ret0 10620 err := _WTON.contract.Call(opts, out, "name") 10621 return *ret0, err 10622 } 10623 10624 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10625 // 10626 // Solidity: function name() constant returns(string) 10627 func (_WTON *WTONSession) Name() (string, error) { 10628 return _WTON.Contract.Name(&_WTON.CallOpts) 10629 } 10630 10631 // Name is a free data retrieval call binding the contract method 0x06fdde03. 10632 // 10633 // Solidity: function name() constant returns(string) 10634 func (_WTON *WTONCallerSession) Name() (string, error) { 10635 return _WTON.Contract.Name(&_WTON.CallOpts) 10636 } 10637 10638 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 10639 // 10640 // Solidity: function owner() constant returns(address) 10641 func (_WTON *WTONCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 10642 var ( 10643 ret0 = new(common.Address) 10644 ) 10645 out := ret0 10646 err := _WTON.contract.Call(opts, out, "owner") 10647 return *ret0, err 10648 } 10649 10650 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 10651 // 10652 // Solidity: function owner() constant returns(address) 10653 func (_WTON *WTONSession) Owner() (common.Address, error) { 10654 return _WTON.Contract.Owner(&_WTON.CallOpts) 10655 } 10656 10657 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 10658 // 10659 // Solidity: function owner() constant returns(address) 10660 func (_WTON *WTONCallerSession) Owner() (common.Address, error) { 10661 return _WTON.Contract.Owner(&_WTON.CallOpts) 10662 } 10663 10664 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 10665 // 10666 // Solidity: function seigManager() constant returns(address) 10667 func (_WTON *WTONCaller) SeigManager(opts *bind.CallOpts) (common.Address, error) { 10668 var ( 10669 ret0 = new(common.Address) 10670 ) 10671 out := ret0 10672 err := _WTON.contract.Call(opts, out, "seigManager") 10673 return *ret0, err 10674 } 10675 10676 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 10677 // 10678 // Solidity: function seigManager() constant returns(address) 10679 func (_WTON *WTONSession) SeigManager() (common.Address, error) { 10680 return _WTON.Contract.SeigManager(&_WTON.CallOpts) 10681 } 10682 10683 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 10684 // 10685 // Solidity: function seigManager() constant returns(address) 10686 func (_WTON *WTONCallerSession) SeigManager() (common.Address, error) { 10687 return _WTON.Contract.SeigManager(&_WTON.CallOpts) 10688 } 10689 10690 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10691 // 10692 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 10693 func (_WTON *WTONCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { 10694 var ( 10695 ret0 = new(bool) 10696 ) 10697 out := ret0 10698 err := _WTON.contract.Call(opts, out, "supportsInterface", interfaceId) 10699 return *ret0, err 10700 } 10701 10702 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10703 // 10704 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 10705 func (_WTON *WTONSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 10706 return _WTON.Contract.SupportsInterface(&_WTON.CallOpts, interfaceId) 10707 } 10708 10709 // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. 10710 // 10711 // Solidity: function supportsInterface(bytes4 interfaceId) constant returns(bool) 10712 func (_WTON *WTONCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { 10713 return _WTON.Contract.SupportsInterface(&_WTON.CallOpts, interfaceId) 10714 } 10715 10716 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10717 // 10718 // Solidity: function symbol() constant returns(string) 10719 func (_WTON *WTONCaller) Symbol(opts *bind.CallOpts) (string, error) { 10720 var ( 10721 ret0 = new(string) 10722 ) 10723 out := ret0 10724 err := _WTON.contract.Call(opts, out, "symbol") 10725 return *ret0, err 10726 } 10727 10728 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10729 // 10730 // Solidity: function symbol() constant returns(string) 10731 func (_WTON *WTONSession) Symbol() (string, error) { 10732 return _WTON.Contract.Symbol(&_WTON.CallOpts) 10733 } 10734 10735 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 10736 // 10737 // Solidity: function symbol() constant returns(string) 10738 func (_WTON *WTONCallerSession) Symbol() (string, error) { 10739 return _WTON.Contract.Symbol(&_WTON.CallOpts) 10740 } 10741 10742 // Ton is a free data retrieval call binding the contract method 0xcc48b947. 10743 // 10744 // Solidity: function ton() constant returns(address) 10745 func (_WTON *WTONCaller) Ton(opts *bind.CallOpts) (common.Address, error) { 10746 var ( 10747 ret0 = new(common.Address) 10748 ) 10749 out := ret0 10750 err := _WTON.contract.Call(opts, out, "ton") 10751 return *ret0, err 10752 } 10753 10754 // Ton is a free data retrieval call binding the contract method 0xcc48b947. 10755 // 10756 // Solidity: function ton() constant returns(address) 10757 func (_WTON *WTONSession) Ton() (common.Address, error) { 10758 return _WTON.Contract.Ton(&_WTON.CallOpts) 10759 } 10760 10761 // Ton is a free data retrieval call binding the contract method 0xcc48b947. 10762 // 10763 // Solidity: function ton() constant returns(address) 10764 func (_WTON *WTONCallerSession) Ton() (common.Address, error) { 10765 return _WTON.Contract.Ton(&_WTON.CallOpts) 10766 } 10767 10768 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 10769 // 10770 // Solidity: function totalSupply() constant returns(uint256) 10771 func (_WTON *WTONCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 10772 var ( 10773 ret0 = new(*big.Int) 10774 ) 10775 out := ret0 10776 err := _WTON.contract.Call(opts, out, "totalSupply") 10777 return *ret0, err 10778 } 10779 10780 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 10781 // 10782 // Solidity: function totalSupply() constant returns(uint256) 10783 func (_WTON *WTONSession) TotalSupply() (*big.Int, error) { 10784 return _WTON.Contract.TotalSupply(&_WTON.CallOpts) 10785 } 10786 10787 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 10788 // 10789 // Solidity: function totalSupply() constant returns(uint256) 10790 func (_WTON *WTONCallerSession) TotalSupply() (*big.Int, error) { 10791 return _WTON.Contract.TotalSupply(&_WTON.CallOpts) 10792 } 10793 10794 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 10795 // 10796 // Solidity: function addMinter(address account) returns() 10797 func (_WTON *WTONTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 10798 return _WTON.contract.Transact(opts, "addMinter", account) 10799 } 10800 10801 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 10802 // 10803 // Solidity: function addMinter(address account) returns() 10804 func (_WTON *WTONSession) AddMinter(account common.Address) (*types.Transaction, error) { 10805 return _WTON.Contract.AddMinter(&_WTON.TransactOpts, account) 10806 } 10807 10808 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 10809 // 10810 // Solidity: function addMinter(address account) returns() 10811 func (_WTON *WTONTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 10812 return _WTON.Contract.AddMinter(&_WTON.TransactOpts, account) 10813 } 10814 10815 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10816 // 10817 // Solidity: function approve(address spender, uint256 amount) returns(bool) 10818 func (_WTON *WTONTransactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 10819 return _WTON.contract.Transact(opts, "approve", spender, amount) 10820 } 10821 10822 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10823 // 10824 // Solidity: function approve(address spender, uint256 amount) returns(bool) 10825 func (_WTON *WTONSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 10826 return _WTON.Contract.Approve(&_WTON.TransactOpts, spender, amount) 10827 } 10828 10829 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 10830 // 10831 // Solidity: function approve(address spender, uint256 amount) returns(bool) 10832 func (_WTON *WTONTransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 10833 return _WTON.Contract.Approve(&_WTON.TransactOpts, spender, amount) 10834 } 10835 10836 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 10837 // 10838 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 10839 func (_WTON *WTONTransactor) ApproveAndCall(opts *bind.TransactOpts, spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 10840 return _WTON.contract.Transact(opts, "approveAndCall", spender, amount, data) 10841 } 10842 10843 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 10844 // 10845 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 10846 func (_WTON *WTONSession) ApproveAndCall(spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 10847 return _WTON.Contract.ApproveAndCall(&_WTON.TransactOpts, spender, amount, data) 10848 } 10849 10850 // ApproveAndCall is a paid mutator transaction binding the contract method 0xcae9ca51. 10851 // 10852 // Solidity: function approveAndCall(address spender, uint256 amount, bytes data) returns(bool) 10853 func (_WTON *WTONTransactorSession) ApproveAndCall(spender common.Address, amount *big.Int, data []byte) (*types.Transaction, error) { 10854 return _WTON.Contract.ApproveAndCall(&_WTON.TransactOpts, spender, amount, data) 10855 } 10856 10857 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 10858 // 10859 // Solidity: function burn(uint256 amount) returns() 10860 func (_WTON *WTONTransactor) Burn(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { 10861 return _WTON.contract.Transact(opts, "burn", amount) 10862 } 10863 10864 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 10865 // 10866 // Solidity: function burn(uint256 amount) returns() 10867 func (_WTON *WTONSession) Burn(amount *big.Int) (*types.Transaction, error) { 10868 return _WTON.Contract.Burn(&_WTON.TransactOpts, amount) 10869 } 10870 10871 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 10872 // 10873 // Solidity: function burn(uint256 amount) returns() 10874 func (_WTON *WTONTransactorSession) Burn(amount *big.Int) (*types.Transaction, error) { 10875 return _WTON.Contract.Burn(&_WTON.TransactOpts, amount) 10876 } 10877 10878 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 10879 // 10880 // Solidity: function burnFrom(address account, uint256 amount) returns() 10881 func (_WTON *WTONTransactor) BurnFrom(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { 10882 return _WTON.contract.Transact(opts, "burnFrom", account, amount) 10883 } 10884 10885 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 10886 // 10887 // Solidity: function burnFrom(address account, uint256 amount) returns() 10888 func (_WTON *WTONSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { 10889 return _WTON.Contract.BurnFrom(&_WTON.TransactOpts, account, amount) 10890 } 10891 10892 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 10893 // 10894 // Solidity: function burnFrom(address account, uint256 amount) returns() 10895 func (_WTON *WTONTransactorSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { 10896 return _WTON.Contract.BurnFrom(&_WTON.TransactOpts, account, amount) 10897 } 10898 10899 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 10900 // 10901 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 10902 func (_WTON *WTONTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 10903 return _WTON.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 10904 } 10905 10906 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 10907 // 10908 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 10909 func (_WTON *WTONSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 10910 return _WTON.Contract.DecreaseAllowance(&_WTON.TransactOpts, spender, subtractedValue) 10911 } 10912 10913 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 10914 // 10915 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 10916 func (_WTON *WTONTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 10917 return _WTON.Contract.DecreaseAllowance(&_WTON.TransactOpts, spender, subtractedValue) 10918 } 10919 10920 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 10921 // 10922 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 10923 func (_WTON *WTONTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 10924 return _WTON.contract.Transact(opts, "increaseAllowance", spender, addedValue) 10925 } 10926 10927 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 10928 // 10929 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 10930 func (_WTON *WTONSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 10931 return _WTON.Contract.IncreaseAllowance(&_WTON.TransactOpts, spender, addedValue) 10932 } 10933 10934 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 10935 // 10936 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 10937 func (_WTON *WTONTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 10938 return _WTON.Contract.IncreaseAllowance(&_WTON.TransactOpts, spender, addedValue) 10939 } 10940 10941 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 10942 // 10943 // Solidity: function mint(address account, uint256 amount) returns(bool) 10944 func (_WTON *WTONTransactor) Mint(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { 10945 return _WTON.contract.Transact(opts, "mint", account, amount) 10946 } 10947 10948 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 10949 // 10950 // Solidity: function mint(address account, uint256 amount) returns(bool) 10951 func (_WTON *WTONSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { 10952 return _WTON.Contract.Mint(&_WTON.TransactOpts, account, amount) 10953 } 10954 10955 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 10956 // 10957 // Solidity: function mint(address account, uint256 amount) returns(bool) 10958 func (_WTON *WTONTransactorSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { 10959 return _WTON.Contract.Mint(&_WTON.TransactOpts, account, amount) 10960 } 10961 10962 // OnApprove is a paid mutator transaction binding the contract method 0x4273ca16. 10963 // 10964 // Solidity: function onApprove(address owner, address spender, uint256 tonAmount, bytes data) returns(bool) 10965 func (_WTON *WTONTransactor) OnApprove(opts *bind.TransactOpts, owner common.Address, spender common.Address, tonAmount *big.Int, data []byte) (*types.Transaction, error) { 10966 return _WTON.contract.Transact(opts, "onApprove", owner, spender, tonAmount, data) 10967 } 10968 10969 // OnApprove is a paid mutator transaction binding the contract method 0x4273ca16. 10970 // 10971 // Solidity: function onApprove(address owner, address spender, uint256 tonAmount, bytes data) returns(bool) 10972 func (_WTON *WTONSession) OnApprove(owner common.Address, spender common.Address, tonAmount *big.Int, data []byte) (*types.Transaction, error) { 10973 return _WTON.Contract.OnApprove(&_WTON.TransactOpts, owner, spender, tonAmount, data) 10974 } 10975 10976 // OnApprove is a paid mutator transaction binding the contract method 0x4273ca16. 10977 // 10978 // Solidity: function onApprove(address owner, address spender, uint256 tonAmount, bytes data) returns(bool) 10979 func (_WTON *WTONTransactorSession) OnApprove(owner common.Address, spender common.Address, tonAmount *big.Int, data []byte) (*types.Transaction, error) { 10980 return _WTON.Contract.OnApprove(&_WTON.TransactOpts, owner, spender, tonAmount, data) 10981 } 10982 10983 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 10984 // 10985 // Solidity: function renounceMinter(address target) returns() 10986 func (_WTON *WTONTransactor) RenounceMinter(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 10987 return _WTON.contract.Transact(opts, "renounceMinter", target) 10988 } 10989 10990 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 10991 // 10992 // Solidity: function renounceMinter(address target) returns() 10993 func (_WTON *WTONSession) RenounceMinter(target common.Address) (*types.Transaction, error) { 10994 return _WTON.Contract.RenounceMinter(&_WTON.TransactOpts, target) 10995 } 10996 10997 // RenounceMinter is a paid mutator transaction binding the contract method 0x5f112c68. 10998 // 10999 // Solidity: function renounceMinter(address target) returns() 11000 func (_WTON *WTONTransactorSession) RenounceMinter(target common.Address) (*types.Transaction, error) { 11001 return _WTON.Contract.RenounceMinter(&_WTON.TransactOpts, target) 11002 } 11003 11004 // RenounceMinter0 is a paid mutator transaction binding the contract method 0x98650275. 11005 // 11006 // Solidity: function renounceMinter() returns() 11007 func (_WTON *WTONTransactor) RenounceMinter0(opts *bind.TransactOpts) (*types.Transaction, error) { 11008 return _WTON.contract.Transact(opts, "renounceMinter0") 11009 } 11010 11011 // RenounceMinter0 is a paid mutator transaction binding the contract method 0x98650275. 11012 // 11013 // Solidity: function renounceMinter() returns() 11014 func (_WTON *WTONSession) RenounceMinter0() (*types.Transaction, error) { 11015 return _WTON.Contract.RenounceMinter0(&_WTON.TransactOpts) 11016 } 11017 11018 // RenounceMinter0 is a paid mutator transaction binding the contract method 0x98650275. 11019 // 11020 // Solidity: function renounceMinter() returns() 11021 func (_WTON *WTONTransactorSession) RenounceMinter0() (*types.Transaction, error) { 11022 return _WTON.Contract.RenounceMinter0(&_WTON.TransactOpts) 11023 } 11024 11025 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 11026 // 11027 // Solidity: function renounceOwnership(address target) returns() 11028 func (_WTON *WTONTransactor) RenounceOwnership(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 11029 return _WTON.contract.Transact(opts, "renounceOwnership", target) 11030 } 11031 11032 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 11033 // 11034 // Solidity: function renounceOwnership(address target) returns() 11035 func (_WTON *WTONSession) RenounceOwnership(target common.Address) (*types.Transaction, error) { 11036 return _WTON.Contract.RenounceOwnership(&_WTON.TransactOpts, target) 11037 } 11038 11039 // RenounceOwnership is a paid mutator transaction binding the contract method 0x38bf3cfa. 11040 // 11041 // Solidity: function renounceOwnership(address target) returns() 11042 func (_WTON *WTONTransactorSession) RenounceOwnership(target common.Address) (*types.Transaction, error) { 11043 return _WTON.Contract.RenounceOwnership(&_WTON.TransactOpts, target) 11044 } 11045 11046 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 11047 // 11048 // Solidity: function renounceOwnership() returns() 11049 func (_WTON *WTONTransactor) RenounceOwnership0(opts *bind.TransactOpts) (*types.Transaction, error) { 11050 return _WTON.contract.Transact(opts, "renounceOwnership0") 11051 } 11052 11053 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 11054 // 11055 // Solidity: function renounceOwnership() returns() 11056 func (_WTON *WTONSession) RenounceOwnership0() (*types.Transaction, error) { 11057 return _WTON.Contract.RenounceOwnership0(&_WTON.TransactOpts) 11058 } 11059 11060 // RenounceOwnership0 is a paid mutator transaction binding the contract method 0x715018a6. 11061 // 11062 // Solidity: function renounceOwnership() returns() 11063 func (_WTON *WTONTransactorSession) RenounceOwnership0() (*types.Transaction, error) { 11064 return _WTON.Contract.RenounceOwnership0(&_WTON.TransactOpts) 11065 } 11066 11067 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 11068 // 11069 // Solidity: function renouncePauser(address target) returns() 11070 func (_WTON *WTONTransactor) RenouncePauser(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { 11071 return _WTON.contract.Transact(opts, "renouncePauser", target) 11072 } 11073 11074 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 11075 // 11076 // Solidity: function renouncePauser(address target) returns() 11077 func (_WTON *WTONSession) RenouncePauser(target common.Address) (*types.Transaction, error) { 11078 return _WTON.Contract.RenouncePauser(&_WTON.TransactOpts, target) 11079 } 11080 11081 // RenouncePauser is a paid mutator transaction binding the contract method 0x41eb24bb. 11082 // 11083 // Solidity: function renouncePauser(address target) returns() 11084 func (_WTON *WTONTransactorSession) RenouncePauser(target common.Address) (*types.Transaction, error) { 11085 return _WTON.Contract.RenouncePauser(&_WTON.TransactOpts, target) 11086 } 11087 11088 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 11089 // 11090 // Solidity: function setSeigManager(address _seigManager) returns() 11091 func (_WTON *WTONTransactor) SetSeigManager(opts *bind.TransactOpts, _seigManager common.Address) (*types.Transaction, error) { 11092 return _WTON.contract.Transact(opts, "setSeigManager", _seigManager) 11093 } 11094 11095 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 11096 // 11097 // Solidity: function setSeigManager(address _seigManager) returns() 11098 func (_WTON *WTONSession) SetSeigManager(_seigManager common.Address) (*types.Transaction, error) { 11099 return _WTON.Contract.SetSeigManager(&_WTON.TransactOpts, _seigManager) 11100 } 11101 11102 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 11103 // 11104 // Solidity: function setSeigManager(address _seigManager) returns() 11105 func (_WTON *WTONTransactorSession) SetSeigManager(_seigManager common.Address) (*types.Transaction, error) { 11106 return _WTON.Contract.SetSeigManager(&_WTON.TransactOpts, _seigManager) 11107 } 11108 11109 // SwapFromTON is a paid mutator transaction binding the contract method 0xe34869d7. 11110 // 11111 // Solidity: function swapFromTON(uint256 tonAmount) returns(bool) 11112 func (_WTON *WTONTransactor) SwapFromTON(opts *bind.TransactOpts, tonAmount *big.Int) (*types.Transaction, error) { 11113 return _WTON.contract.Transact(opts, "swapFromTON", tonAmount) 11114 } 11115 11116 // SwapFromTON is a paid mutator transaction binding the contract method 0xe34869d7. 11117 // 11118 // Solidity: function swapFromTON(uint256 tonAmount) returns(bool) 11119 func (_WTON *WTONSession) SwapFromTON(tonAmount *big.Int) (*types.Transaction, error) { 11120 return _WTON.Contract.SwapFromTON(&_WTON.TransactOpts, tonAmount) 11121 } 11122 11123 // SwapFromTON is a paid mutator transaction binding the contract method 0xe34869d7. 11124 // 11125 // Solidity: function swapFromTON(uint256 tonAmount) returns(bool) 11126 func (_WTON *WTONTransactorSession) SwapFromTON(tonAmount *big.Int) (*types.Transaction, error) { 11127 return _WTON.Contract.SwapFromTON(&_WTON.TransactOpts, tonAmount) 11128 } 11129 11130 // SwapFromTONAndTransfer is a paid mutator transaction binding the contract method 0x588420b7. 11131 // 11132 // Solidity: function swapFromTONAndTransfer(address to, uint256 tonAmount) returns(bool) 11133 func (_WTON *WTONTransactor) SwapFromTONAndTransfer(opts *bind.TransactOpts, to common.Address, tonAmount *big.Int) (*types.Transaction, error) { 11134 return _WTON.contract.Transact(opts, "swapFromTONAndTransfer", to, tonAmount) 11135 } 11136 11137 // SwapFromTONAndTransfer is a paid mutator transaction binding the contract method 0x588420b7. 11138 // 11139 // Solidity: function swapFromTONAndTransfer(address to, uint256 tonAmount) returns(bool) 11140 func (_WTON *WTONSession) SwapFromTONAndTransfer(to common.Address, tonAmount *big.Int) (*types.Transaction, error) { 11141 return _WTON.Contract.SwapFromTONAndTransfer(&_WTON.TransactOpts, to, tonAmount) 11142 } 11143 11144 // SwapFromTONAndTransfer is a paid mutator transaction binding the contract method 0x588420b7. 11145 // 11146 // Solidity: function swapFromTONAndTransfer(address to, uint256 tonAmount) returns(bool) 11147 func (_WTON *WTONTransactorSession) SwapFromTONAndTransfer(to common.Address, tonAmount *big.Int) (*types.Transaction, error) { 11148 return _WTON.Contract.SwapFromTONAndTransfer(&_WTON.TransactOpts, to, tonAmount) 11149 } 11150 11151 // SwapToTON is a paid mutator transaction binding the contract method 0xf53fe70f. 11152 // 11153 // Solidity: function swapToTON(uint256 wtonAmount) returns(bool) 11154 func (_WTON *WTONTransactor) SwapToTON(opts *bind.TransactOpts, wtonAmount *big.Int) (*types.Transaction, error) { 11155 return _WTON.contract.Transact(opts, "swapToTON", wtonAmount) 11156 } 11157 11158 // SwapToTON is a paid mutator transaction binding the contract method 0xf53fe70f. 11159 // 11160 // Solidity: function swapToTON(uint256 wtonAmount) returns(bool) 11161 func (_WTON *WTONSession) SwapToTON(wtonAmount *big.Int) (*types.Transaction, error) { 11162 return _WTON.Contract.SwapToTON(&_WTON.TransactOpts, wtonAmount) 11163 } 11164 11165 // SwapToTON is a paid mutator transaction binding the contract method 0xf53fe70f. 11166 // 11167 // Solidity: function swapToTON(uint256 wtonAmount) returns(bool) 11168 func (_WTON *WTONTransactorSession) SwapToTON(wtonAmount *big.Int) (*types.Transaction, error) { 11169 return _WTON.Contract.SwapToTON(&_WTON.TransactOpts, wtonAmount) 11170 } 11171 11172 // SwapToTONAndTransfer is a paid mutator transaction binding the contract method 0xe3b99e85. 11173 // 11174 // Solidity: function swapToTONAndTransfer(address to, uint256 wtonAmount) returns(bool) 11175 func (_WTON *WTONTransactor) SwapToTONAndTransfer(opts *bind.TransactOpts, to common.Address, wtonAmount *big.Int) (*types.Transaction, error) { 11176 return _WTON.contract.Transact(opts, "swapToTONAndTransfer", to, wtonAmount) 11177 } 11178 11179 // SwapToTONAndTransfer is a paid mutator transaction binding the contract method 0xe3b99e85. 11180 // 11181 // Solidity: function swapToTONAndTransfer(address to, uint256 wtonAmount) returns(bool) 11182 func (_WTON *WTONSession) SwapToTONAndTransfer(to common.Address, wtonAmount *big.Int) (*types.Transaction, error) { 11183 return _WTON.Contract.SwapToTONAndTransfer(&_WTON.TransactOpts, to, wtonAmount) 11184 } 11185 11186 // SwapToTONAndTransfer is a paid mutator transaction binding the contract method 0xe3b99e85. 11187 // 11188 // Solidity: function swapToTONAndTransfer(address to, uint256 wtonAmount) returns(bool) 11189 func (_WTON *WTONTransactorSession) SwapToTONAndTransfer(to common.Address, wtonAmount *big.Int) (*types.Transaction, error) { 11190 return _WTON.Contract.SwapToTONAndTransfer(&_WTON.TransactOpts, to, wtonAmount) 11191 } 11192 11193 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 11194 // 11195 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 11196 func (_WTON *WTONTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 11197 return _WTON.contract.Transact(opts, "transfer", recipient, amount) 11198 } 11199 11200 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 11201 // 11202 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 11203 func (_WTON *WTONSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 11204 return _WTON.Contract.Transfer(&_WTON.TransactOpts, recipient, amount) 11205 } 11206 11207 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 11208 // 11209 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 11210 func (_WTON *WTONTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 11211 return _WTON.Contract.Transfer(&_WTON.TransactOpts, recipient, amount) 11212 } 11213 11214 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11215 // 11216 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 11217 func (_WTON *WTONTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 11218 return _WTON.contract.Transact(opts, "transferFrom", sender, recipient, amount) 11219 } 11220 11221 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11222 // 11223 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 11224 func (_WTON *WTONSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 11225 return _WTON.Contract.TransferFrom(&_WTON.TransactOpts, sender, recipient, amount) 11226 } 11227 11228 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 11229 // 11230 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 11231 func (_WTON *WTONTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 11232 return _WTON.Contract.TransferFrom(&_WTON.TransactOpts, sender, recipient, amount) 11233 } 11234 11235 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 11236 // 11237 // Solidity: function transferOwnership(address target, address newOwner) returns() 11238 func (_WTON *WTONTransactor) TransferOwnership(opts *bind.TransactOpts, target common.Address, newOwner common.Address) (*types.Transaction, error) { 11239 return _WTON.contract.Transact(opts, "transferOwnership", target, newOwner) 11240 } 11241 11242 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 11243 // 11244 // Solidity: function transferOwnership(address target, address newOwner) returns() 11245 func (_WTON *WTONSession) TransferOwnership(target common.Address, newOwner common.Address) (*types.Transaction, error) { 11246 return _WTON.Contract.TransferOwnership(&_WTON.TransactOpts, target, newOwner) 11247 } 11248 11249 // TransferOwnership is a paid mutator transaction binding the contract method 0x6d435421. 11250 // 11251 // Solidity: function transferOwnership(address target, address newOwner) returns() 11252 func (_WTON *WTONTransactorSession) TransferOwnership(target common.Address, newOwner common.Address) (*types.Transaction, error) { 11253 return _WTON.Contract.TransferOwnership(&_WTON.TransactOpts, target, newOwner) 11254 } 11255 11256 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 11257 // 11258 // Solidity: function transferOwnership(address newOwner) returns() 11259 func (_WTON *WTONTransactor) TransferOwnership0(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 11260 return _WTON.contract.Transact(opts, "transferOwnership0", newOwner) 11261 } 11262 11263 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 11264 // 11265 // Solidity: function transferOwnership(address newOwner) returns() 11266 func (_WTON *WTONSession) TransferOwnership0(newOwner common.Address) (*types.Transaction, error) { 11267 return _WTON.Contract.TransferOwnership0(&_WTON.TransactOpts, newOwner) 11268 } 11269 11270 // TransferOwnership0 is a paid mutator transaction binding the contract method 0xf2fde38b. 11271 // 11272 // Solidity: function transferOwnership(address newOwner) returns() 11273 func (_WTON *WTONTransactorSession) TransferOwnership0(newOwner common.Address) (*types.Transaction, error) { 11274 return _WTON.Contract.TransferOwnership0(&_WTON.TransactOpts, newOwner) 11275 } 11276 11277 // WTONApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the WTON contract. 11278 type WTONApprovalIterator struct { 11279 Event *WTONApproval // Event containing the contract specifics and raw log 11280 11281 contract *bind.BoundContract // Generic contract to use for unpacking event data 11282 event string // Event name to use for unpacking event data 11283 11284 logs chan types.Log // Log channel receiving the found contract events 11285 sub ethereum.Subscription // Subscription for errors, completion and termination 11286 done bool // Whether the subscription completed delivering logs 11287 fail error // Occurred error to stop iteration 11288 } 11289 11290 // Next advances the iterator to the subsequent event, returning whether there 11291 // are any more events found. In case of a retrieval or parsing error, false is 11292 // returned and Error() can be queried for the exact failure. 11293 func (it *WTONApprovalIterator) Next() bool { 11294 // If the iterator failed, stop iterating 11295 if it.fail != nil { 11296 return false 11297 } 11298 // If the iterator completed, deliver directly whatever's available 11299 if it.done { 11300 select { 11301 case log := <-it.logs: 11302 it.Event = new(WTONApproval) 11303 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11304 it.fail = err 11305 return false 11306 } 11307 it.Event.Raw = log 11308 return true 11309 11310 default: 11311 return false 11312 } 11313 } 11314 // Iterator still in progress, wait for either a data or an error event 11315 select { 11316 case log := <-it.logs: 11317 it.Event = new(WTONApproval) 11318 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11319 it.fail = err 11320 return false 11321 } 11322 it.Event.Raw = log 11323 return true 11324 11325 case err := <-it.sub.Err(): 11326 it.done = true 11327 it.fail = err 11328 return it.Next() 11329 } 11330 } 11331 11332 // Error returns any retrieval or parsing error occurred during filtering. 11333 func (it *WTONApprovalIterator) Error() error { 11334 return it.fail 11335 } 11336 11337 // Close terminates the iteration process, releasing any pending underlying 11338 // resources. 11339 func (it *WTONApprovalIterator) Close() error { 11340 it.sub.Unsubscribe() 11341 return nil 11342 } 11343 11344 // WTONApproval represents a Approval event raised by the WTON contract. 11345 type WTONApproval struct { 11346 Owner common.Address 11347 Spender common.Address 11348 Value *big.Int 11349 Raw types.Log // Blockchain specific contextual infos 11350 } 11351 11352 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11353 // 11354 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 11355 func (_WTON *WTONFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*WTONApprovalIterator, error) { 11356 11357 var ownerRule []interface{} 11358 for _, ownerItem := range owner { 11359 ownerRule = append(ownerRule, ownerItem) 11360 } 11361 var spenderRule []interface{} 11362 for _, spenderItem := range spender { 11363 spenderRule = append(spenderRule, spenderItem) 11364 } 11365 11366 logs, sub, err := _WTON.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 11367 if err != nil { 11368 return nil, err 11369 } 11370 return &WTONApprovalIterator{contract: _WTON.contract, event: "Approval", logs: logs, sub: sub}, nil 11371 } 11372 11373 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11374 // 11375 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 11376 func (_WTON *WTONFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *WTONApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 11377 11378 var ownerRule []interface{} 11379 for _, ownerItem := range owner { 11380 ownerRule = append(ownerRule, ownerItem) 11381 } 11382 var spenderRule []interface{} 11383 for _, spenderItem := range spender { 11384 spenderRule = append(spenderRule, spenderItem) 11385 } 11386 11387 logs, sub, err := _WTON.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 11388 if err != nil { 11389 return nil, err 11390 } 11391 return event.NewSubscription(func(quit <-chan struct{}) error { 11392 defer sub.Unsubscribe() 11393 for { 11394 select { 11395 case log := <-logs: 11396 // New log arrived, parse the event and forward to the user 11397 event := new(WTONApproval) 11398 if err := _WTON.contract.UnpackLog(event, "Approval", log); err != nil { 11399 return err 11400 } 11401 event.Raw = log 11402 11403 select { 11404 case sink <- event: 11405 case err := <-sub.Err(): 11406 return err 11407 case <-quit: 11408 return nil 11409 } 11410 case err := <-sub.Err(): 11411 return err 11412 case <-quit: 11413 return nil 11414 } 11415 } 11416 }), nil 11417 } 11418 11419 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 11420 // 11421 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 11422 func (_WTON *WTONFilterer) ParseApproval(log types.Log) (*WTONApproval, error) { 11423 event := new(WTONApproval) 11424 if err := _WTON.contract.UnpackLog(event, "Approval", log); err != nil { 11425 return nil, err 11426 } 11427 return event, nil 11428 } 11429 11430 // WTONMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the WTON contract. 11431 type WTONMinterAddedIterator struct { 11432 Event *WTONMinterAdded // Event containing the contract specifics and raw log 11433 11434 contract *bind.BoundContract // Generic contract to use for unpacking event data 11435 event string // Event name to use for unpacking event data 11436 11437 logs chan types.Log // Log channel receiving the found contract events 11438 sub ethereum.Subscription // Subscription for errors, completion and termination 11439 done bool // Whether the subscription completed delivering logs 11440 fail error // Occurred error to stop iteration 11441 } 11442 11443 // Next advances the iterator to the subsequent event, returning whether there 11444 // are any more events found. In case of a retrieval or parsing error, false is 11445 // returned and Error() can be queried for the exact failure. 11446 func (it *WTONMinterAddedIterator) Next() bool { 11447 // If the iterator failed, stop iterating 11448 if it.fail != nil { 11449 return false 11450 } 11451 // If the iterator completed, deliver directly whatever's available 11452 if it.done { 11453 select { 11454 case log := <-it.logs: 11455 it.Event = new(WTONMinterAdded) 11456 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11457 it.fail = err 11458 return false 11459 } 11460 it.Event.Raw = log 11461 return true 11462 11463 default: 11464 return false 11465 } 11466 } 11467 // Iterator still in progress, wait for either a data or an error event 11468 select { 11469 case log := <-it.logs: 11470 it.Event = new(WTONMinterAdded) 11471 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11472 it.fail = err 11473 return false 11474 } 11475 it.Event.Raw = log 11476 return true 11477 11478 case err := <-it.sub.Err(): 11479 it.done = true 11480 it.fail = err 11481 return it.Next() 11482 } 11483 } 11484 11485 // Error returns any retrieval or parsing error occurred during filtering. 11486 func (it *WTONMinterAddedIterator) Error() error { 11487 return it.fail 11488 } 11489 11490 // Close terminates the iteration process, releasing any pending underlying 11491 // resources. 11492 func (it *WTONMinterAddedIterator) Close() error { 11493 it.sub.Unsubscribe() 11494 return nil 11495 } 11496 11497 // WTONMinterAdded represents a MinterAdded event raised by the WTON contract. 11498 type WTONMinterAdded struct { 11499 Account common.Address 11500 Raw types.Log // Blockchain specific contextual infos 11501 } 11502 11503 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 11504 // 11505 // Solidity: event MinterAdded(address indexed account) 11506 func (_WTON *WTONFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*WTONMinterAddedIterator, error) { 11507 11508 var accountRule []interface{} 11509 for _, accountItem := range account { 11510 accountRule = append(accountRule, accountItem) 11511 } 11512 11513 logs, sub, err := _WTON.contract.FilterLogs(opts, "MinterAdded", accountRule) 11514 if err != nil { 11515 return nil, err 11516 } 11517 return &WTONMinterAddedIterator{contract: _WTON.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 11518 } 11519 11520 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 11521 // 11522 // Solidity: event MinterAdded(address indexed account) 11523 func (_WTON *WTONFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *WTONMinterAdded, account []common.Address) (event.Subscription, error) { 11524 11525 var accountRule []interface{} 11526 for _, accountItem := range account { 11527 accountRule = append(accountRule, accountItem) 11528 } 11529 11530 logs, sub, err := _WTON.contract.WatchLogs(opts, "MinterAdded", accountRule) 11531 if err != nil { 11532 return nil, err 11533 } 11534 return event.NewSubscription(func(quit <-chan struct{}) error { 11535 defer sub.Unsubscribe() 11536 for { 11537 select { 11538 case log := <-logs: 11539 // New log arrived, parse the event and forward to the user 11540 event := new(WTONMinterAdded) 11541 if err := _WTON.contract.UnpackLog(event, "MinterAdded", log); err != nil { 11542 return err 11543 } 11544 event.Raw = log 11545 11546 select { 11547 case sink <- event: 11548 case err := <-sub.Err(): 11549 return err 11550 case <-quit: 11551 return nil 11552 } 11553 case err := <-sub.Err(): 11554 return err 11555 case <-quit: 11556 return nil 11557 } 11558 } 11559 }), nil 11560 } 11561 11562 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 11563 // 11564 // Solidity: event MinterAdded(address indexed account) 11565 func (_WTON *WTONFilterer) ParseMinterAdded(log types.Log) (*WTONMinterAdded, error) { 11566 event := new(WTONMinterAdded) 11567 if err := _WTON.contract.UnpackLog(event, "MinterAdded", log); err != nil { 11568 return nil, err 11569 } 11570 return event, nil 11571 } 11572 11573 // WTONMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the WTON contract. 11574 type WTONMinterRemovedIterator struct { 11575 Event *WTONMinterRemoved // Event containing the contract specifics and raw log 11576 11577 contract *bind.BoundContract // Generic contract to use for unpacking event data 11578 event string // Event name to use for unpacking event data 11579 11580 logs chan types.Log // Log channel receiving the found contract events 11581 sub ethereum.Subscription // Subscription for errors, completion and termination 11582 done bool // Whether the subscription completed delivering logs 11583 fail error // Occurred error to stop iteration 11584 } 11585 11586 // Next advances the iterator to the subsequent event, returning whether there 11587 // are any more events found. In case of a retrieval or parsing error, false is 11588 // returned and Error() can be queried for the exact failure. 11589 func (it *WTONMinterRemovedIterator) Next() bool { 11590 // If the iterator failed, stop iterating 11591 if it.fail != nil { 11592 return false 11593 } 11594 // If the iterator completed, deliver directly whatever's available 11595 if it.done { 11596 select { 11597 case log := <-it.logs: 11598 it.Event = new(WTONMinterRemoved) 11599 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11600 it.fail = err 11601 return false 11602 } 11603 it.Event.Raw = log 11604 return true 11605 11606 default: 11607 return false 11608 } 11609 } 11610 // Iterator still in progress, wait for either a data or an error event 11611 select { 11612 case log := <-it.logs: 11613 it.Event = new(WTONMinterRemoved) 11614 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11615 it.fail = err 11616 return false 11617 } 11618 it.Event.Raw = log 11619 return true 11620 11621 case err := <-it.sub.Err(): 11622 it.done = true 11623 it.fail = err 11624 return it.Next() 11625 } 11626 } 11627 11628 // Error returns any retrieval or parsing error occurred during filtering. 11629 func (it *WTONMinterRemovedIterator) Error() error { 11630 return it.fail 11631 } 11632 11633 // Close terminates the iteration process, releasing any pending underlying 11634 // resources. 11635 func (it *WTONMinterRemovedIterator) Close() error { 11636 it.sub.Unsubscribe() 11637 return nil 11638 } 11639 11640 // WTONMinterRemoved represents a MinterRemoved event raised by the WTON contract. 11641 type WTONMinterRemoved struct { 11642 Account common.Address 11643 Raw types.Log // Blockchain specific contextual infos 11644 } 11645 11646 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 11647 // 11648 // Solidity: event MinterRemoved(address indexed account) 11649 func (_WTON *WTONFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*WTONMinterRemovedIterator, error) { 11650 11651 var accountRule []interface{} 11652 for _, accountItem := range account { 11653 accountRule = append(accountRule, accountItem) 11654 } 11655 11656 logs, sub, err := _WTON.contract.FilterLogs(opts, "MinterRemoved", accountRule) 11657 if err != nil { 11658 return nil, err 11659 } 11660 return &WTONMinterRemovedIterator{contract: _WTON.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 11661 } 11662 11663 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 11664 // 11665 // Solidity: event MinterRemoved(address indexed account) 11666 func (_WTON *WTONFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *WTONMinterRemoved, account []common.Address) (event.Subscription, error) { 11667 11668 var accountRule []interface{} 11669 for _, accountItem := range account { 11670 accountRule = append(accountRule, accountItem) 11671 } 11672 11673 logs, sub, err := _WTON.contract.WatchLogs(opts, "MinterRemoved", accountRule) 11674 if err != nil { 11675 return nil, err 11676 } 11677 return event.NewSubscription(func(quit <-chan struct{}) error { 11678 defer sub.Unsubscribe() 11679 for { 11680 select { 11681 case log := <-logs: 11682 // New log arrived, parse the event and forward to the user 11683 event := new(WTONMinterRemoved) 11684 if err := _WTON.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 11685 return err 11686 } 11687 event.Raw = log 11688 11689 select { 11690 case sink <- event: 11691 case err := <-sub.Err(): 11692 return err 11693 case <-quit: 11694 return nil 11695 } 11696 case err := <-sub.Err(): 11697 return err 11698 case <-quit: 11699 return nil 11700 } 11701 } 11702 }), nil 11703 } 11704 11705 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 11706 // 11707 // Solidity: event MinterRemoved(address indexed account) 11708 func (_WTON *WTONFilterer) ParseMinterRemoved(log types.Log) (*WTONMinterRemoved, error) { 11709 event := new(WTONMinterRemoved) 11710 if err := _WTON.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 11711 return nil, err 11712 } 11713 return event, nil 11714 } 11715 11716 // WTONOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the WTON contract. 11717 type WTONOwnershipTransferredIterator struct { 11718 Event *WTONOwnershipTransferred // Event containing the contract specifics and raw log 11719 11720 contract *bind.BoundContract // Generic contract to use for unpacking event data 11721 event string // Event name to use for unpacking event data 11722 11723 logs chan types.Log // Log channel receiving the found contract events 11724 sub ethereum.Subscription // Subscription for errors, completion and termination 11725 done bool // Whether the subscription completed delivering logs 11726 fail error // Occurred error to stop iteration 11727 } 11728 11729 // Next advances the iterator to the subsequent event, returning whether there 11730 // are any more events found. In case of a retrieval or parsing error, false is 11731 // returned and Error() can be queried for the exact failure. 11732 func (it *WTONOwnershipTransferredIterator) Next() bool { 11733 // If the iterator failed, stop iterating 11734 if it.fail != nil { 11735 return false 11736 } 11737 // If the iterator completed, deliver directly whatever's available 11738 if it.done { 11739 select { 11740 case log := <-it.logs: 11741 it.Event = new(WTONOwnershipTransferred) 11742 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11743 it.fail = err 11744 return false 11745 } 11746 it.Event.Raw = log 11747 return true 11748 11749 default: 11750 return false 11751 } 11752 } 11753 // Iterator still in progress, wait for either a data or an error event 11754 select { 11755 case log := <-it.logs: 11756 it.Event = new(WTONOwnershipTransferred) 11757 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11758 it.fail = err 11759 return false 11760 } 11761 it.Event.Raw = log 11762 return true 11763 11764 case err := <-it.sub.Err(): 11765 it.done = true 11766 it.fail = err 11767 return it.Next() 11768 } 11769 } 11770 11771 // Error returns any retrieval or parsing error occurred during filtering. 11772 func (it *WTONOwnershipTransferredIterator) Error() error { 11773 return it.fail 11774 } 11775 11776 // Close terminates the iteration process, releasing any pending underlying 11777 // resources. 11778 func (it *WTONOwnershipTransferredIterator) Close() error { 11779 it.sub.Unsubscribe() 11780 return nil 11781 } 11782 11783 // WTONOwnershipTransferred represents a OwnershipTransferred event raised by the WTON contract. 11784 type WTONOwnershipTransferred struct { 11785 PreviousOwner common.Address 11786 NewOwner common.Address 11787 Raw types.Log // Blockchain specific contextual infos 11788 } 11789 11790 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 11791 // 11792 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 11793 func (_WTON *WTONFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*WTONOwnershipTransferredIterator, error) { 11794 11795 var previousOwnerRule []interface{} 11796 for _, previousOwnerItem := range previousOwner { 11797 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 11798 } 11799 var newOwnerRule []interface{} 11800 for _, newOwnerItem := range newOwner { 11801 newOwnerRule = append(newOwnerRule, newOwnerItem) 11802 } 11803 11804 logs, sub, err := _WTON.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 11805 if err != nil { 11806 return nil, err 11807 } 11808 return &WTONOwnershipTransferredIterator{contract: _WTON.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 11809 } 11810 11811 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 11812 // 11813 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 11814 func (_WTON *WTONFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *WTONOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 11815 11816 var previousOwnerRule []interface{} 11817 for _, previousOwnerItem := range previousOwner { 11818 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 11819 } 11820 var newOwnerRule []interface{} 11821 for _, newOwnerItem := range newOwner { 11822 newOwnerRule = append(newOwnerRule, newOwnerItem) 11823 } 11824 11825 logs, sub, err := _WTON.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 11826 if err != nil { 11827 return nil, err 11828 } 11829 return event.NewSubscription(func(quit <-chan struct{}) error { 11830 defer sub.Unsubscribe() 11831 for { 11832 select { 11833 case log := <-logs: 11834 // New log arrived, parse the event and forward to the user 11835 event := new(WTONOwnershipTransferred) 11836 if err := _WTON.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 11837 return err 11838 } 11839 event.Raw = log 11840 11841 select { 11842 case sink <- event: 11843 case err := <-sub.Err(): 11844 return err 11845 case <-quit: 11846 return nil 11847 } 11848 case err := <-sub.Err(): 11849 return err 11850 case <-quit: 11851 return nil 11852 } 11853 } 11854 }), nil 11855 } 11856 11857 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 11858 // 11859 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 11860 func (_WTON *WTONFilterer) ParseOwnershipTransferred(log types.Log) (*WTONOwnershipTransferred, error) { 11861 event := new(WTONOwnershipTransferred) 11862 if err := _WTON.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 11863 return nil, err 11864 } 11865 return event, nil 11866 } 11867 11868 // WTONTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the WTON contract. 11869 type WTONTransferIterator struct { 11870 Event *WTONTransfer // Event containing the contract specifics and raw log 11871 11872 contract *bind.BoundContract // Generic contract to use for unpacking event data 11873 event string // Event name to use for unpacking event data 11874 11875 logs chan types.Log // Log channel receiving the found contract events 11876 sub ethereum.Subscription // Subscription for errors, completion and termination 11877 done bool // Whether the subscription completed delivering logs 11878 fail error // Occurred error to stop iteration 11879 } 11880 11881 // Next advances the iterator to the subsequent event, returning whether there 11882 // are any more events found. In case of a retrieval or parsing error, false is 11883 // returned and Error() can be queried for the exact failure. 11884 func (it *WTONTransferIterator) Next() bool { 11885 // If the iterator failed, stop iterating 11886 if it.fail != nil { 11887 return false 11888 } 11889 // If the iterator completed, deliver directly whatever's available 11890 if it.done { 11891 select { 11892 case log := <-it.logs: 11893 it.Event = new(WTONTransfer) 11894 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11895 it.fail = err 11896 return false 11897 } 11898 it.Event.Raw = log 11899 return true 11900 11901 default: 11902 return false 11903 } 11904 } 11905 // Iterator still in progress, wait for either a data or an error event 11906 select { 11907 case log := <-it.logs: 11908 it.Event = new(WTONTransfer) 11909 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11910 it.fail = err 11911 return false 11912 } 11913 it.Event.Raw = log 11914 return true 11915 11916 case err := <-it.sub.Err(): 11917 it.done = true 11918 it.fail = err 11919 return it.Next() 11920 } 11921 } 11922 11923 // Error returns any retrieval or parsing error occurred during filtering. 11924 func (it *WTONTransferIterator) Error() error { 11925 return it.fail 11926 } 11927 11928 // Close terminates the iteration process, releasing any pending underlying 11929 // resources. 11930 func (it *WTONTransferIterator) Close() error { 11931 it.sub.Unsubscribe() 11932 return nil 11933 } 11934 11935 // WTONTransfer represents a Transfer event raised by the WTON contract. 11936 type WTONTransfer struct { 11937 From common.Address 11938 To common.Address 11939 Value *big.Int 11940 Raw types.Log // Blockchain specific contextual infos 11941 } 11942 11943 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 11944 // 11945 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 11946 func (_WTON *WTONFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*WTONTransferIterator, error) { 11947 11948 var fromRule []interface{} 11949 for _, fromItem := range from { 11950 fromRule = append(fromRule, fromItem) 11951 } 11952 var toRule []interface{} 11953 for _, toItem := range to { 11954 toRule = append(toRule, toItem) 11955 } 11956 11957 logs, sub, err := _WTON.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 11958 if err != nil { 11959 return nil, err 11960 } 11961 return &WTONTransferIterator{contract: _WTON.contract, event: "Transfer", logs: logs, sub: sub}, nil 11962 } 11963 11964 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 11965 // 11966 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 11967 func (_WTON *WTONFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *WTONTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 11968 11969 var fromRule []interface{} 11970 for _, fromItem := range from { 11971 fromRule = append(fromRule, fromItem) 11972 } 11973 var toRule []interface{} 11974 for _, toItem := range to { 11975 toRule = append(toRule, toItem) 11976 } 11977 11978 logs, sub, err := _WTON.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 11979 if err != nil { 11980 return nil, err 11981 } 11982 return event.NewSubscription(func(quit <-chan struct{}) error { 11983 defer sub.Unsubscribe() 11984 for { 11985 select { 11986 case log := <-logs: 11987 // New log arrived, parse the event and forward to the user 11988 event := new(WTONTransfer) 11989 if err := _WTON.contract.UnpackLog(event, "Transfer", log); err != nil { 11990 return err 11991 } 11992 event.Raw = log 11993 11994 select { 11995 case sink <- event: 11996 case err := <-sub.Err(): 11997 return err 11998 case <-quit: 11999 return nil 12000 } 12001 case err := <-sub.Err(): 12002 return err 12003 case <-quit: 12004 return nil 12005 } 12006 } 12007 }), nil 12008 } 12009 12010 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 12011 // 12012 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 12013 func (_WTON *WTONFilterer) ParseTransfer(log types.Log) (*WTONTransfer, error) { 12014 event := new(WTONTransfer) 12015 if err := _WTON.contract.UnpackLog(event, "Transfer", log); err != nil { 12016 return nil, err 12017 } 12018 return event, nil 12019 }