github.com/klaytn/klaytn@v1.12.1/contracts/sc_erc20/sc_token.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 sctoken 5 6 import ( 7 "errors" 8 "math/big" 9 "strings" 10 11 "github.com/klaytn/klaytn" 12 "github.com/klaytn/klaytn/accounts/abi" 13 "github.com/klaytn/klaytn/accounts/abi/bind" 14 "github.com/klaytn/klaytn/blockchain/types" 15 "github.com/klaytn/klaytn/common" 16 "github.com/klaytn/klaytn/event" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var ( 21 _ = errors.New 22 _ = big.NewInt 23 _ = strings.NewReader 24 _ = klaytn.NotFound 25 _ = bind.Bind 26 _ = common.Big1 27 _ = types.BloomLookup 28 _ = event.NewSubscription 29 _ = abi.ConvertType 30 ) 31 32 // AddressMetaData contains all meta data concerning the Address contract. 33 var AddressMetaData = &bind.MetaData{ 34 ABI: "[]", 35 Bin: "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820299ebfdf39258e62f3b1db6c55ebb9d11001cde07d51662fa2fd336c270f24630029", 36 } 37 38 // AddressABI is the input ABI used to generate the binding from. 39 // Deprecated: Use AddressMetaData.ABI instead. 40 var AddressABI = AddressMetaData.ABI 41 42 // AddressBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 43 const AddressBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820299ebfdf39258e62f3b1db6c55ebb9d11001cde07d51662fa2fd336c270f24630029` 44 45 // AddressBin is the compiled bytecode used for deploying new contracts. 46 // Deprecated: Use AddressMetaData.Bin instead. 47 var AddressBin = AddressMetaData.Bin 48 49 // DeployAddress deploys a new Klaytn contract, binding an instance of Address to it. 50 func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { 51 parsed, err := AddressMetaData.GetAbi() 52 if err != nil { 53 return common.Address{}, nil, nil, err 54 } 55 if parsed == nil { 56 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 57 } 58 59 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(AddressBin), backend) 60 if err != nil { 61 return common.Address{}, nil, nil, err 62 } 63 return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 64 } 65 66 // Address is an auto generated Go binding around a Klaytn contract. 67 type Address struct { 68 AddressCaller // Read-only binding to the contract 69 AddressTransactor // Write-only binding to the contract 70 AddressFilterer // Log filterer for contract events 71 } 72 73 // AddressCaller is an auto generated read-only Go binding around a Klaytn contract. 74 type AddressCaller struct { 75 contract *bind.BoundContract // Generic contract wrapper for the low level calls 76 } 77 78 // AddressTransactor is an auto generated write-only Go binding around a Klaytn contract. 79 type AddressTransactor struct { 80 contract *bind.BoundContract // Generic contract wrapper for the low level calls 81 } 82 83 // AddressFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 84 type AddressFilterer struct { 85 contract *bind.BoundContract // Generic contract wrapper for the low level calls 86 } 87 88 // AddressSession is an auto generated Go binding around a Klaytn contract, 89 // with pre-set call and transact options. 90 type AddressSession struct { 91 Contract *Address // Generic contract binding to set the session for 92 CallOpts bind.CallOpts // Call options to use throughout this session 93 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 94 } 95 96 // AddressCallerSession is an auto generated read-only Go binding around a Klaytn contract, 97 // with pre-set call options. 98 type AddressCallerSession struct { 99 Contract *AddressCaller // Generic contract caller binding to set the session for 100 CallOpts bind.CallOpts // Call options to use throughout this session 101 } 102 103 // AddressTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 104 // with pre-set transact options. 105 type AddressTransactorSession struct { 106 Contract *AddressTransactor // Generic contract transactor binding to set the session for 107 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 108 } 109 110 // AddressRaw is an auto generated low-level Go binding around a Klaytn contract. 111 type AddressRaw struct { 112 Contract *Address // Generic contract binding to access the raw methods on 113 } 114 115 // AddressCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 116 type AddressCallerRaw struct { 117 Contract *AddressCaller // Generic read-only contract binding to access the raw methods on 118 } 119 120 // AddressTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 121 type AddressTransactorRaw struct { 122 Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on 123 } 124 125 // NewAddress creates a new instance of Address, bound to a specific deployed contract. 126 func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { 127 contract, err := bindAddress(address, backend, backend, backend) 128 if err != nil { 129 return nil, err 130 } 131 return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 132 } 133 134 // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. 135 func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { 136 contract, err := bindAddress(address, caller, nil, nil) 137 if err != nil { 138 return nil, err 139 } 140 return &AddressCaller{contract: contract}, nil 141 } 142 143 // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. 144 func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { 145 contract, err := bindAddress(address, nil, transactor, nil) 146 if err != nil { 147 return nil, err 148 } 149 return &AddressTransactor{contract: contract}, nil 150 } 151 152 // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. 153 func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { 154 contract, err := bindAddress(address, nil, nil, filterer) 155 if err != nil { 156 return nil, err 157 } 158 return &AddressFilterer{contract: contract}, nil 159 } 160 161 // bindAddress binds a generic wrapper to an already deployed contract. 162 func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 163 parsed, err := AddressMetaData.GetAbi() 164 if err != nil { 165 return nil, err 166 } 167 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 168 } 169 170 // Call invokes the (constant) contract method with params as input values and 171 // sets the output to result. The result type might be a single field for simple 172 // returns, a slice of interfaces for anonymous returns and a struct for named 173 // returns. 174 func (_Address *AddressRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 175 return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) 176 } 177 178 // Transfer initiates a plain transaction to move funds to the contract, calling 179 // its default method if one is available. 180 func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 181 return _Address.Contract.AddressTransactor.contract.Transfer(opts) 182 } 183 184 // Transact invokes the (paid) contract method with params as input values. 185 func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 186 return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) 187 } 188 189 // Call invokes the (constant) contract method with params as input values and 190 // sets the output to result. The result type might be a single field for simple 191 // returns, a slice of interfaces for anonymous returns and a struct for named 192 // returns. 193 func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 194 return _Address.Contract.contract.Call(opts, result, method, params...) 195 } 196 197 // Transfer initiates a plain transaction to move funds to the contract, calling 198 // its default method if one is available. 199 func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 200 return _Address.Contract.contract.Transfer(opts) 201 } 202 203 // Transact invokes the (paid) contract method with params as input values. 204 func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 205 return _Address.Contract.contract.Transact(opts, method, params...) 206 } 207 208 // ERC20MetaData contains all meta data concerning the ERC20 contract. 209 var ERC20MetaData = &bind.MetaData{ 210 ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]", 211 Sigs: map[string]string{ 212 "dd62ed3e": "allowance(address,address)", 213 "095ea7b3": "approve(address,uint256)", 214 "70a08231": "balanceOf(address)", 215 "a457c2d7": "decreaseAllowance(address,uint256)", 216 "39509351": "increaseAllowance(address,uint256)", 217 "18160ddd": "totalSupply()", 218 "a9059cbb": "transfer(address,uint256)", 219 "23b872dd": "transferFrom(address,address,uint256)", 220 }, 221 Bin: "0x608060405234801561001057600080fd5b506106eb806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d561020b565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610211565b6100b96004803603604081101561013357600080fd5b506001600160a01b038135169060200135610268565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102a4565b6100b96004803603604081101561018557600080fd5b506001600160a01b0381351690602001356102bf565b6100b9600480360360408110156101b157600080fd5b506001600160a01b0381351690602001356102fb565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610308565b6000610202338484610333565b50600192915050565b60025490565b600061021e848484610425565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461025e918691610259908663ffffffff61056d16565b610333565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff6105cd16565b6001600160a01b031660009081526020819052604090205490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff61056d16565b6000610202338484610425565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661037b57604051600160e51b62461bcd02815260040180806020018281038252602481526020018061069c6024913960400191505060405180910390fd5b6001600160a01b0382166103c357604051600160e51b62461bcd0281526004018080602001828103825260228152602001806106556022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661046d57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806106776025913960400191505060405180910390fd5b6001600160a01b0382166104b557604051600160e51b62461bcd0281526004018080602001828103825260238152602001806106326023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546104de908263ffffffff61056d16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610513908263ffffffff6105cd16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105c75760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561062a5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058200e33dfdabb620ad5daebde6c55a52fcc617b6413d3d04bdaeb7925e86b327d6a0029", 222 } 223 224 // ERC20ABI is the input ABI used to generate the binding from. 225 // Deprecated: Use ERC20MetaData.ABI instead. 226 var ERC20ABI = ERC20MetaData.ABI 227 228 // ERC20BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 229 const ERC20BinRuntime = `608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d561020b565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610211565b6100b96004803603604081101561013357600080fd5b506001600160a01b038135169060200135610268565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102a4565b6100b96004803603604081101561018557600080fd5b506001600160a01b0381351690602001356102bf565b6100b9600480360360408110156101b157600080fd5b506001600160a01b0381351690602001356102fb565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610308565b6000610202338484610333565b50600192915050565b60025490565b600061021e848484610425565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461025e918691610259908663ffffffff61056d16565b610333565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff6105cd16565b6001600160a01b031660009081526020819052604090205490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff61056d16565b6000610202338484610425565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661037b57604051600160e51b62461bcd02815260040180806020018281038252602481526020018061069c6024913960400191505060405180910390fd5b6001600160a01b0382166103c357604051600160e51b62461bcd0281526004018080602001828103825260228152602001806106556022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661046d57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806106776025913960400191505060405180910390fd5b6001600160a01b0382166104b557604051600160e51b62461bcd0281526004018080602001828103825260238152602001806106326023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546104de908263ffffffff61056d16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610513908263ffffffff6105cd16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105c75760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561062a5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058200e33dfdabb620ad5daebde6c55a52fcc617b6413d3d04bdaeb7925e86b327d6a0029` 230 231 // ERC20FuncSigs maps the 4-byte function signature to its string representation. 232 // Deprecated: Use ERC20MetaData.Sigs instead. 233 var ERC20FuncSigs = ERC20MetaData.Sigs 234 235 // ERC20Bin is the compiled bytecode used for deploying new contracts. 236 // Deprecated: Use ERC20MetaData.Bin instead. 237 var ERC20Bin = ERC20MetaData.Bin 238 239 // DeployERC20 deploys a new Klaytn contract, binding an instance of ERC20 to it. 240 func DeployERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20, error) { 241 parsed, err := ERC20MetaData.GetAbi() 242 if err != nil { 243 return common.Address{}, nil, nil, err 244 } 245 if parsed == nil { 246 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 247 } 248 249 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC20Bin), backend) 250 if err != nil { 251 return common.Address{}, nil, nil, err 252 } 253 return address, tx, &ERC20{ERC20Caller: ERC20Caller{contract: contract}, ERC20Transactor: ERC20Transactor{contract: contract}, ERC20Filterer: ERC20Filterer{contract: contract}}, nil 254 } 255 256 // ERC20 is an auto generated Go binding around a Klaytn contract. 257 type ERC20 struct { 258 ERC20Caller // Read-only binding to the contract 259 ERC20Transactor // Write-only binding to the contract 260 ERC20Filterer // Log filterer for contract events 261 } 262 263 // ERC20Caller is an auto generated read-only Go binding around a Klaytn contract. 264 type ERC20Caller struct { 265 contract *bind.BoundContract // Generic contract wrapper for the low level calls 266 } 267 268 // ERC20Transactor is an auto generated write-only Go binding around a Klaytn contract. 269 type ERC20Transactor struct { 270 contract *bind.BoundContract // Generic contract wrapper for the low level calls 271 } 272 273 // ERC20Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 274 type ERC20Filterer struct { 275 contract *bind.BoundContract // Generic contract wrapper for the low level calls 276 } 277 278 // ERC20Session is an auto generated Go binding around a Klaytn contract, 279 // with pre-set call and transact options. 280 type ERC20Session struct { 281 Contract *ERC20 // Generic contract binding to set the session for 282 CallOpts bind.CallOpts // Call options to use throughout this session 283 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 284 } 285 286 // ERC20CallerSession is an auto generated read-only Go binding around a Klaytn contract, 287 // with pre-set call options. 288 type ERC20CallerSession struct { 289 Contract *ERC20Caller // Generic contract caller binding to set the session for 290 CallOpts bind.CallOpts // Call options to use throughout this session 291 } 292 293 // ERC20TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 294 // with pre-set transact options. 295 type ERC20TransactorSession struct { 296 Contract *ERC20Transactor // Generic contract transactor binding to set the session for 297 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 298 } 299 300 // ERC20Raw is an auto generated low-level Go binding around a Klaytn contract. 301 type ERC20Raw struct { 302 Contract *ERC20 // Generic contract binding to access the raw methods on 303 } 304 305 // ERC20CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 306 type ERC20CallerRaw struct { 307 Contract *ERC20Caller // Generic read-only contract binding to access the raw methods on 308 } 309 310 // ERC20TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 311 type ERC20TransactorRaw struct { 312 Contract *ERC20Transactor // Generic write-only contract binding to access the raw methods on 313 } 314 315 // NewERC20 creates a new instance of ERC20, bound to a specific deployed contract. 316 func NewERC20(address common.Address, backend bind.ContractBackend) (*ERC20, error) { 317 contract, err := bindERC20(address, backend, backend, backend) 318 if err != nil { 319 return nil, err 320 } 321 return &ERC20{ERC20Caller: ERC20Caller{contract: contract}, ERC20Transactor: ERC20Transactor{contract: contract}, ERC20Filterer: ERC20Filterer{contract: contract}}, nil 322 } 323 324 // NewERC20Caller creates a new read-only instance of ERC20, bound to a specific deployed contract. 325 func NewERC20Caller(address common.Address, caller bind.ContractCaller) (*ERC20Caller, error) { 326 contract, err := bindERC20(address, caller, nil, nil) 327 if err != nil { 328 return nil, err 329 } 330 return &ERC20Caller{contract: contract}, nil 331 } 332 333 // NewERC20Transactor creates a new write-only instance of ERC20, bound to a specific deployed contract. 334 func NewERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC20Transactor, error) { 335 contract, err := bindERC20(address, nil, transactor, nil) 336 if err != nil { 337 return nil, err 338 } 339 return &ERC20Transactor{contract: contract}, nil 340 } 341 342 // NewERC20Filterer creates a new log filterer instance of ERC20, bound to a specific deployed contract. 343 func NewERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC20Filterer, error) { 344 contract, err := bindERC20(address, nil, nil, filterer) 345 if err != nil { 346 return nil, err 347 } 348 return &ERC20Filterer{contract: contract}, nil 349 } 350 351 // bindERC20 binds a generic wrapper to an already deployed contract. 352 func bindERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 353 parsed, err := ERC20MetaData.GetAbi() 354 if err != nil { 355 return nil, err 356 } 357 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 358 } 359 360 // Call invokes the (constant) contract method with params as input values and 361 // sets the output to result. The result type might be a single field for simple 362 // returns, a slice of interfaces for anonymous returns and a struct for named 363 // returns. 364 func (_ERC20 *ERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 365 return _ERC20.Contract.ERC20Caller.contract.Call(opts, result, method, params...) 366 } 367 368 // Transfer initiates a plain transaction to move funds to the contract, calling 369 // its default method if one is available. 370 func (_ERC20 *ERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 371 return _ERC20.Contract.ERC20Transactor.contract.Transfer(opts) 372 } 373 374 // Transact invokes the (paid) contract method with params as input values. 375 func (_ERC20 *ERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 376 return _ERC20.Contract.ERC20Transactor.contract.Transact(opts, method, params...) 377 } 378 379 // Call invokes the (constant) contract method with params as input values and 380 // sets the output to result. The result type might be a single field for simple 381 // returns, a slice of interfaces for anonymous returns and a struct for named 382 // returns. 383 func (_ERC20 *ERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 384 return _ERC20.Contract.contract.Call(opts, result, method, params...) 385 } 386 387 // Transfer initiates a plain transaction to move funds to the contract, calling 388 // its default method if one is available. 389 func (_ERC20 *ERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 390 return _ERC20.Contract.contract.Transfer(opts) 391 } 392 393 // Transact invokes the (paid) contract method with params as input values. 394 func (_ERC20 *ERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 395 return _ERC20.Contract.contract.Transact(opts, method, params...) 396 } 397 398 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 399 // 400 // Solidity: function allowance(address owner, address spender) view returns(uint256) 401 func (_ERC20 *ERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 402 var out []interface{} 403 err := _ERC20.contract.Call(opts, &out, "allowance", owner, spender) 404 405 if err != nil { 406 return *new(*big.Int), err 407 } 408 409 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 410 411 return out0, err 412 413 } 414 415 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 416 // 417 // Solidity: function allowance(address owner, address spender) view returns(uint256) 418 func (_ERC20 *ERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 419 return _ERC20.Contract.Allowance(&_ERC20.CallOpts, owner, spender) 420 } 421 422 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 423 // 424 // Solidity: function allowance(address owner, address spender) view returns(uint256) 425 func (_ERC20 *ERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 426 return _ERC20.Contract.Allowance(&_ERC20.CallOpts, owner, spender) 427 } 428 429 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 430 // 431 // Solidity: function balanceOf(address account) view returns(uint256) 432 func (_ERC20 *ERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 433 var out []interface{} 434 err := _ERC20.contract.Call(opts, &out, "balanceOf", account) 435 436 if err != nil { 437 return *new(*big.Int), err 438 } 439 440 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 441 442 return out0, err 443 444 } 445 446 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 447 // 448 // Solidity: function balanceOf(address account) view returns(uint256) 449 func (_ERC20 *ERC20Session) BalanceOf(account common.Address) (*big.Int, error) { 450 return _ERC20.Contract.BalanceOf(&_ERC20.CallOpts, account) 451 } 452 453 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 454 // 455 // Solidity: function balanceOf(address account) view returns(uint256) 456 func (_ERC20 *ERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error) { 457 return _ERC20.Contract.BalanceOf(&_ERC20.CallOpts, account) 458 } 459 460 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 461 // 462 // Solidity: function totalSupply() view returns(uint256) 463 func (_ERC20 *ERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 464 var out []interface{} 465 err := _ERC20.contract.Call(opts, &out, "totalSupply") 466 467 if err != nil { 468 return *new(*big.Int), err 469 } 470 471 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 472 473 return out0, err 474 475 } 476 477 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 478 // 479 // Solidity: function totalSupply() view returns(uint256) 480 func (_ERC20 *ERC20Session) TotalSupply() (*big.Int, error) { 481 return _ERC20.Contract.TotalSupply(&_ERC20.CallOpts) 482 } 483 484 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 485 // 486 // Solidity: function totalSupply() view returns(uint256) 487 func (_ERC20 *ERC20CallerSession) TotalSupply() (*big.Int, error) { 488 return _ERC20.Contract.TotalSupply(&_ERC20.CallOpts) 489 } 490 491 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 492 // 493 // Solidity: function approve(address spender, uint256 value) returns(bool) 494 func (_ERC20 *ERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 495 return _ERC20.contract.Transact(opts, "approve", spender, value) 496 } 497 498 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 499 // 500 // Solidity: function approve(address spender, uint256 value) returns(bool) 501 func (_ERC20 *ERC20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 502 return _ERC20.Contract.Approve(&_ERC20.TransactOpts, spender, value) 503 } 504 505 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 506 // 507 // Solidity: function approve(address spender, uint256 value) returns(bool) 508 func (_ERC20 *ERC20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 509 return _ERC20.Contract.Approve(&_ERC20.TransactOpts, spender, value) 510 } 511 512 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 513 // 514 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 515 func (_ERC20 *ERC20Transactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 516 return _ERC20.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 517 } 518 519 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 520 // 521 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 522 func (_ERC20 *ERC20Session) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 523 return _ERC20.Contract.DecreaseAllowance(&_ERC20.TransactOpts, spender, subtractedValue) 524 } 525 526 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 527 // 528 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 529 func (_ERC20 *ERC20TransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 530 return _ERC20.Contract.DecreaseAllowance(&_ERC20.TransactOpts, spender, subtractedValue) 531 } 532 533 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 534 // 535 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 536 func (_ERC20 *ERC20Transactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 537 return _ERC20.contract.Transact(opts, "increaseAllowance", spender, addedValue) 538 } 539 540 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 541 // 542 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 543 func (_ERC20 *ERC20Session) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 544 return _ERC20.Contract.IncreaseAllowance(&_ERC20.TransactOpts, spender, addedValue) 545 } 546 547 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 548 // 549 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 550 func (_ERC20 *ERC20TransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 551 return _ERC20.Contract.IncreaseAllowance(&_ERC20.TransactOpts, spender, addedValue) 552 } 553 554 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 555 // 556 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 557 func (_ERC20 *ERC20Transactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 558 return _ERC20.contract.Transact(opts, "transfer", recipient, amount) 559 } 560 561 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 562 // 563 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 564 func (_ERC20 *ERC20Session) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 565 return _ERC20.Contract.Transfer(&_ERC20.TransactOpts, recipient, amount) 566 } 567 568 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 569 // 570 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 571 func (_ERC20 *ERC20TransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 572 return _ERC20.Contract.Transfer(&_ERC20.TransactOpts, recipient, amount) 573 } 574 575 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 576 // 577 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 578 func (_ERC20 *ERC20Transactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 579 return _ERC20.contract.Transact(opts, "transferFrom", sender, recipient, amount) 580 } 581 582 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 583 // 584 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 585 func (_ERC20 *ERC20Session) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 586 return _ERC20.Contract.TransferFrom(&_ERC20.TransactOpts, sender, recipient, amount) 587 } 588 589 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 590 // 591 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 592 func (_ERC20 *ERC20TransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 593 return _ERC20.Contract.TransferFrom(&_ERC20.TransactOpts, sender, recipient, amount) 594 } 595 596 // 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. 597 type ERC20ApprovalIterator struct { 598 Event *ERC20Approval // Event containing the contract specifics and raw log 599 600 contract *bind.BoundContract // Generic contract to use for unpacking event data 601 event string // Event name to use for unpacking event data 602 603 logs chan types.Log // Log channel receiving the found contract events 604 sub klaytn.Subscription // Subscription for errors, completion and termination 605 done bool // Whether the subscription completed delivering logs 606 fail error // Occurred error to stop iteration 607 } 608 609 // Next advances the iterator to the subsequent event, returning whether there 610 // are any more events found. In case of a retrieval or parsing error, false is 611 // returned and Error() can be queried for the exact failure. 612 func (it *ERC20ApprovalIterator) Next() bool { 613 // If the iterator failed, stop iterating 614 if it.fail != nil { 615 return false 616 } 617 // If the iterator completed, deliver directly whatever's available 618 if it.done { 619 select { 620 case log := <-it.logs: 621 it.Event = new(ERC20Approval) 622 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 623 it.fail = err 624 return false 625 } 626 it.Event.Raw = log 627 return true 628 629 default: 630 return false 631 } 632 } 633 // Iterator still in progress, wait for either a data or an error event 634 select { 635 case log := <-it.logs: 636 it.Event = new(ERC20Approval) 637 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 638 it.fail = err 639 return false 640 } 641 it.Event.Raw = log 642 return true 643 644 case err := <-it.sub.Err(): 645 it.done = true 646 it.fail = err 647 return it.Next() 648 } 649 } 650 651 // Error returns any retrieval or parsing error occurred during filtering. 652 func (it *ERC20ApprovalIterator) Error() error { 653 return it.fail 654 } 655 656 // Close terminates the iteration process, releasing any pending underlying 657 // resources. 658 func (it *ERC20ApprovalIterator) Close() error { 659 it.sub.Unsubscribe() 660 return nil 661 } 662 663 // ERC20Approval represents a Approval event raised by the ERC20 contract. 664 type ERC20Approval struct { 665 Owner common.Address 666 Spender common.Address 667 Value *big.Int 668 Raw types.Log // Blockchain specific contextual infos 669 } 670 671 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 672 // 673 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 674 func (_ERC20 *ERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20ApprovalIterator, error) { 675 676 var ownerRule []interface{} 677 for _, ownerItem := range owner { 678 ownerRule = append(ownerRule, ownerItem) 679 } 680 var spenderRule []interface{} 681 for _, spenderItem := range spender { 682 spenderRule = append(spenderRule, spenderItem) 683 } 684 685 logs, sub, err := _ERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 686 if err != nil { 687 return nil, err 688 } 689 return &ERC20ApprovalIterator{contract: _ERC20.contract, event: "Approval", logs: logs, sub: sub}, nil 690 } 691 692 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 693 // 694 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 695 func (_ERC20 *ERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 696 697 var ownerRule []interface{} 698 for _, ownerItem := range owner { 699 ownerRule = append(ownerRule, ownerItem) 700 } 701 var spenderRule []interface{} 702 for _, spenderItem := range spender { 703 spenderRule = append(spenderRule, spenderItem) 704 } 705 706 logs, sub, err := _ERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 707 if err != nil { 708 return nil, err 709 } 710 return event.NewSubscription(func(quit <-chan struct{}) error { 711 defer sub.Unsubscribe() 712 for { 713 select { 714 case log := <-logs: 715 // New log arrived, parse the event and forward to the user 716 event := new(ERC20Approval) 717 if err := _ERC20.contract.UnpackLog(event, "Approval", log); err != nil { 718 return err 719 } 720 event.Raw = log 721 722 select { 723 case sink <- event: 724 case err := <-sub.Err(): 725 return err 726 case <-quit: 727 return nil 728 } 729 case err := <-sub.Err(): 730 return err 731 case <-quit: 732 return nil 733 } 734 } 735 }), nil 736 } 737 738 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 739 // 740 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 741 func (_ERC20 *ERC20Filterer) ParseApproval(log types.Log) (*ERC20Approval, error) { 742 event := new(ERC20Approval) 743 if err := _ERC20.contract.UnpackLog(event, "Approval", log); err != nil { 744 return nil, err 745 } 746 return event, nil 747 } 748 749 // 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. 750 type ERC20TransferIterator struct { 751 Event *ERC20Transfer // Event containing the contract specifics and raw log 752 753 contract *bind.BoundContract // Generic contract to use for unpacking event data 754 event string // Event name to use for unpacking event data 755 756 logs chan types.Log // Log channel receiving the found contract events 757 sub klaytn.Subscription // Subscription for errors, completion and termination 758 done bool // Whether the subscription completed delivering logs 759 fail error // Occurred error to stop iteration 760 } 761 762 // Next advances the iterator to the subsequent event, returning whether there 763 // are any more events found. In case of a retrieval or parsing error, false is 764 // returned and Error() can be queried for the exact failure. 765 func (it *ERC20TransferIterator) Next() bool { 766 // If the iterator failed, stop iterating 767 if it.fail != nil { 768 return false 769 } 770 // If the iterator completed, deliver directly whatever's available 771 if it.done { 772 select { 773 case log := <-it.logs: 774 it.Event = new(ERC20Transfer) 775 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 776 it.fail = err 777 return false 778 } 779 it.Event.Raw = log 780 return true 781 782 default: 783 return false 784 } 785 } 786 // Iterator still in progress, wait for either a data or an error event 787 select { 788 case log := <-it.logs: 789 it.Event = new(ERC20Transfer) 790 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 791 it.fail = err 792 return false 793 } 794 it.Event.Raw = log 795 return true 796 797 case err := <-it.sub.Err(): 798 it.done = true 799 it.fail = err 800 return it.Next() 801 } 802 } 803 804 // Error returns any retrieval or parsing error occurred during filtering. 805 func (it *ERC20TransferIterator) Error() error { 806 return it.fail 807 } 808 809 // Close terminates the iteration process, releasing any pending underlying 810 // resources. 811 func (it *ERC20TransferIterator) Close() error { 812 it.sub.Unsubscribe() 813 return nil 814 } 815 816 // ERC20Transfer represents a Transfer event raised by the ERC20 contract. 817 type ERC20Transfer struct { 818 From common.Address 819 To common.Address 820 Value *big.Int 821 Raw types.Log // Blockchain specific contextual infos 822 } 823 824 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 825 // 826 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 827 func (_ERC20 *ERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20TransferIterator, error) { 828 829 var fromRule []interface{} 830 for _, fromItem := range from { 831 fromRule = append(fromRule, fromItem) 832 } 833 var toRule []interface{} 834 for _, toItem := range to { 835 toRule = append(toRule, toItem) 836 } 837 838 logs, sub, err := _ERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 839 if err != nil { 840 return nil, err 841 } 842 return &ERC20TransferIterator{contract: _ERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil 843 } 844 845 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 846 // 847 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 848 func (_ERC20 *ERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { 849 850 var fromRule []interface{} 851 for _, fromItem := range from { 852 fromRule = append(fromRule, fromItem) 853 } 854 var toRule []interface{} 855 for _, toItem := range to { 856 toRule = append(toRule, toItem) 857 } 858 859 logs, sub, err := _ERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 860 if err != nil { 861 return nil, err 862 } 863 return event.NewSubscription(func(quit <-chan struct{}) error { 864 defer sub.Unsubscribe() 865 for { 866 select { 867 case log := <-logs: 868 // New log arrived, parse the event and forward to the user 869 event := new(ERC20Transfer) 870 if err := _ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 871 return err 872 } 873 event.Raw = log 874 875 select { 876 case sink <- event: 877 case err := <-sub.Err(): 878 return err 879 case <-quit: 880 return nil 881 } 882 case err := <-sub.Err(): 883 return err 884 case <-quit: 885 return nil 886 } 887 } 888 }), nil 889 } 890 891 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 892 // 893 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 894 func (_ERC20 *ERC20Filterer) ParseTransfer(log types.Log) (*ERC20Transfer, error) { 895 event := new(ERC20Transfer) 896 if err := _ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 897 return nil, err 898 } 899 return event, nil 900 } 901 902 // ERC20BurnableMetaData contains all meta data concerning the ERC20Burnable contract. 903 var ERC20BurnableMetaData = &bind.MetaData{ 904 ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]", 905 Sigs: map[string]string{ 906 "dd62ed3e": "allowance(address,address)", 907 "095ea7b3": "approve(address,uint256)", 908 "70a08231": "balanceOf(address)", 909 "42966c68": "burn(uint256)", 910 "79cc6790": "burnFrom(address,uint256)", 911 "a457c2d7": "decreaseAllowance(address,uint256)", 912 "39509351": "increaseAllowance(address,uint256)", 913 "18160ddd": "totalSupply()", 914 "a9059cbb": "transfer(address,uint256)", 915 "23b872dd": "transferFrom(address,address,uint256)", 916 }, 917 Bin: "0x608060405234801561001057600080fd5b506108a9806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461017e57806379cc6790146101a4578063a457c2d7146101d0578063a9059cbb146101fc578063dd62ed3e146102285761009e565b8063095ea7b3146100a357806318160ddd146100e357806323b872dd146100fd578063395093511461013357806342966c681461015f575b600080fd5b6100cf600480360360408110156100b957600080fd5b506001600160a01b038135169060200135610256565b604080519115158252519081900360200190f35b6100eb61026c565b60408051918252519081900360200190f35b6100cf6004803603606081101561011357600080fd5b506001600160a01b03813581169160208101359091169060400135610272565b6100cf6004803603604081101561014957600080fd5b506001600160a01b0381351690602001356102c9565b61017c6004803603602081101561017557600080fd5b5035610305565b005b6100eb6004803603602081101561019457600080fd5b50356001600160a01b0316610312565b61017c600480360360408110156101ba57600080fd5b506001600160a01b03813516906020013561032d565b6100cf600480360360408110156101e657600080fd5b506001600160a01b03813516906020013561033b565b6100cf6004803603604081101561021257600080fd5b506001600160a01b038135169060200135610377565b6100eb6004803603604081101561023e57600080fd5b506001600160a01b0381358116916020013516610384565b60006102633384846103af565b50600192915050565b60025490565b600061027f8484846104a1565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546102bf9186916102ba908663ffffffff6105e916565b6103af565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102639185906102ba908663ffffffff61064916565b61030f33826106ad565b50565b6001600160a01b031660009081526020819052604090205490565b6103378282610789565b5050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102639185906102ba908663ffffffff6105e916565b60006102633384846104a1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103f757604051600160e51b62461bcd02815260040180806020018281038252602481526020018061085a6024913960400191505060405180910390fd5b6001600160a01b03821661043f57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806107f26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104e957604051600160e51b62461bcd0281526004018080602001828103825260258152602001806108356025913960400191505060405180910390fd5b6001600160a01b03821661053157604051600160e51b62461bcd0281526004018080602001828103825260238152602001806107cf6023913960400191505060405180910390fd5b6001600160a01b03831660009081526020819052604090205461055a908263ffffffff6105e916565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461058f908263ffffffff61064916565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156106435760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156106a65760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166106f557604051600160e51b62461bcd0281526004018080602001828103825260218152602001806108146021913960400191505060405180910390fd5b600254610708908263ffffffff6105e916565b6002556001600160a01b038216600090815260208190526040902054610734908263ffffffff6105e916565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b61079382826106ad565b6001600160a01b0382166000908152600160209081526040808320338085529252909120546103379184916102ba908563ffffffff6105e91656fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058204231ee98d3acc370c23b7a9c583a427b98017fb9b0fbf87a2a607bdd213332b30029", 918 } 919 920 // ERC20BurnableABI is the input ABI used to generate the binding from. 921 // Deprecated: Use ERC20BurnableMetaData.ABI instead. 922 var ERC20BurnableABI = ERC20BurnableMetaData.ABI 923 924 // ERC20BurnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 925 const ERC20BurnableBinRuntime = `608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461017e57806379cc6790146101a4578063a457c2d7146101d0578063a9059cbb146101fc578063dd62ed3e146102285761009e565b8063095ea7b3146100a357806318160ddd146100e357806323b872dd146100fd578063395093511461013357806342966c681461015f575b600080fd5b6100cf600480360360408110156100b957600080fd5b506001600160a01b038135169060200135610256565b604080519115158252519081900360200190f35b6100eb61026c565b60408051918252519081900360200190f35b6100cf6004803603606081101561011357600080fd5b506001600160a01b03813581169160208101359091169060400135610272565b6100cf6004803603604081101561014957600080fd5b506001600160a01b0381351690602001356102c9565b61017c6004803603602081101561017557600080fd5b5035610305565b005b6100eb6004803603602081101561019457600080fd5b50356001600160a01b0316610312565b61017c600480360360408110156101ba57600080fd5b506001600160a01b03813516906020013561032d565b6100cf600480360360408110156101e657600080fd5b506001600160a01b03813516906020013561033b565b6100cf6004803603604081101561021257600080fd5b506001600160a01b038135169060200135610377565b6100eb6004803603604081101561023e57600080fd5b506001600160a01b0381358116916020013516610384565b60006102633384846103af565b50600192915050565b60025490565b600061027f8484846104a1565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546102bf9186916102ba908663ffffffff6105e916565b6103af565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102639185906102ba908663ffffffff61064916565b61030f33826106ad565b50565b6001600160a01b031660009081526020819052604090205490565b6103378282610789565b5050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102639185906102ba908663ffffffff6105e916565b60006102633384846104a1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103f757604051600160e51b62461bcd02815260040180806020018281038252602481526020018061085a6024913960400191505060405180910390fd5b6001600160a01b03821661043f57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806107f26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104e957604051600160e51b62461bcd0281526004018080602001828103825260258152602001806108356025913960400191505060405180910390fd5b6001600160a01b03821661053157604051600160e51b62461bcd0281526004018080602001828103825260238152602001806107cf6023913960400191505060405180910390fd5b6001600160a01b03831660009081526020819052604090205461055a908263ffffffff6105e916565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461058f908263ffffffff61064916565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156106435760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156106a65760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166106f557604051600160e51b62461bcd0281526004018080602001828103825260218152602001806108146021913960400191505060405180910390fd5b600254610708908263ffffffff6105e916565b6002556001600160a01b038216600090815260208190526040902054610734908263ffffffff6105e916565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b61079382826106ad565b6001600160a01b0382166000908152600160209081526040808320338085529252909120546103379184916102ba908563ffffffff6105e91656fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058204231ee98d3acc370c23b7a9c583a427b98017fb9b0fbf87a2a607bdd213332b30029` 926 927 // ERC20BurnableFuncSigs maps the 4-byte function signature to its string representation. 928 // Deprecated: Use ERC20BurnableMetaData.Sigs instead. 929 var ERC20BurnableFuncSigs = ERC20BurnableMetaData.Sigs 930 931 // ERC20BurnableBin is the compiled bytecode used for deploying new contracts. 932 // Deprecated: Use ERC20BurnableMetaData.Bin instead. 933 var ERC20BurnableBin = ERC20BurnableMetaData.Bin 934 935 // DeployERC20Burnable deploys a new Klaytn contract, binding an instance of ERC20Burnable to it. 936 func DeployERC20Burnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20Burnable, error) { 937 parsed, err := ERC20BurnableMetaData.GetAbi() 938 if err != nil { 939 return common.Address{}, nil, nil, err 940 } 941 if parsed == nil { 942 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 943 } 944 945 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC20BurnableBin), backend) 946 if err != nil { 947 return common.Address{}, nil, nil, err 948 } 949 return address, tx, &ERC20Burnable{ERC20BurnableCaller: ERC20BurnableCaller{contract: contract}, ERC20BurnableTransactor: ERC20BurnableTransactor{contract: contract}, ERC20BurnableFilterer: ERC20BurnableFilterer{contract: contract}}, nil 950 } 951 952 // ERC20Burnable is an auto generated Go binding around a Klaytn contract. 953 type ERC20Burnable struct { 954 ERC20BurnableCaller // Read-only binding to the contract 955 ERC20BurnableTransactor // Write-only binding to the contract 956 ERC20BurnableFilterer // Log filterer for contract events 957 } 958 959 // ERC20BurnableCaller is an auto generated read-only Go binding around a Klaytn contract. 960 type ERC20BurnableCaller struct { 961 contract *bind.BoundContract // Generic contract wrapper for the low level calls 962 } 963 964 // ERC20BurnableTransactor is an auto generated write-only Go binding around a Klaytn contract. 965 type ERC20BurnableTransactor struct { 966 contract *bind.BoundContract // Generic contract wrapper for the low level calls 967 } 968 969 // ERC20BurnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 970 type ERC20BurnableFilterer struct { 971 contract *bind.BoundContract // Generic contract wrapper for the low level calls 972 } 973 974 // ERC20BurnableSession is an auto generated Go binding around a Klaytn contract, 975 // with pre-set call and transact options. 976 type ERC20BurnableSession struct { 977 Contract *ERC20Burnable // Generic contract binding to set the session for 978 CallOpts bind.CallOpts // Call options to use throughout this session 979 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 980 } 981 982 // ERC20BurnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 983 // with pre-set call options. 984 type ERC20BurnableCallerSession struct { 985 Contract *ERC20BurnableCaller // Generic contract caller binding to set the session for 986 CallOpts bind.CallOpts // Call options to use throughout this session 987 } 988 989 // ERC20BurnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 990 // with pre-set transact options. 991 type ERC20BurnableTransactorSession struct { 992 Contract *ERC20BurnableTransactor // Generic contract transactor binding to set the session for 993 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 994 } 995 996 // ERC20BurnableRaw is an auto generated low-level Go binding around a Klaytn contract. 997 type ERC20BurnableRaw struct { 998 Contract *ERC20Burnable // Generic contract binding to access the raw methods on 999 } 1000 1001 // ERC20BurnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 1002 type ERC20BurnableCallerRaw struct { 1003 Contract *ERC20BurnableCaller // Generic read-only contract binding to access the raw methods on 1004 } 1005 1006 // ERC20BurnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 1007 type ERC20BurnableTransactorRaw struct { 1008 Contract *ERC20BurnableTransactor // Generic write-only contract binding to access the raw methods on 1009 } 1010 1011 // NewERC20Burnable creates a new instance of ERC20Burnable, bound to a specific deployed contract. 1012 func NewERC20Burnable(address common.Address, backend bind.ContractBackend) (*ERC20Burnable, error) { 1013 contract, err := bindERC20Burnable(address, backend, backend, backend) 1014 if err != nil { 1015 return nil, err 1016 } 1017 return &ERC20Burnable{ERC20BurnableCaller: ERC20BurnableCaller{contract: contract}, ERC20BurnableTransactor: ERC20BurnableTransactor{contract: contract}, ERC20BurnableFilterer: ERC20BurnableFilterer{contract: contract}}, nil 1018 } 1019 1020 // NewERC20BurnableCaller creates a new read-only instance of ERC20Burnable, bound to a specific deployed contract. 1021 func NewERC20BurnableCaller(address common.Address, caller bind.ContractCaller) (*ERC20BurnableCaller, error) { 1022 contract, err := bindERC20Burnable(address, caller, nil, nil) 1023 if err != nil { 1024 return nil, err 1025 } 1026 return &ERC20BurnableCaller{contract: contract}, nil 1027 } 1028 1029 // NewERC20BurnableTransactor creates a new write-only instance of ERC20Burnable, bound to a specific deployed contract. 1030 func NewERC20BurnableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20BurnableTransactor, error) { 1031 contract, err := bindERC20Burnable(address, nil, transactor, nil) 1032 if err != nil { 1033 return nil, err 1034 } 1035 return &ERC20BurnableTransactor{contract: contract}, nil 1036 } 1037 1038 // NewERC20BurnableFilterer creates a new log filterer instance of ERC20Burnable, bound to a specific deployed contract. 1039 func NewERC20BurnableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20BurnableFilterer, error) { 1040 contract, err := bindERC20Burnable(address, nil, nil, filterer) 1041 if err != nil { 1042 return nil, err 1043 } 1044 return &ERC20BurnableFilterer{contract: contract}, nil 1045 } 1046 1047 // bindERC20Burnable binds a generic wrapper to an already deployed contract. 1048 func bindERC20Burnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1049 parsed, err := ERC20BurnableMetaData.GetAbi() 1050 if err != nil { 1051 return nil, err 1052 } 1053 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 1054 } 1055 1056 // Call invokes the (constant) contract method with params as input values and 1057 // sets the output to result. The result type might be a single field for simple 1058 // returns, a slice of interfaces for anonymous returns and a struct for named 1059 // returns. 1060 func (_ERC20Burnable *ERC20BurnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1061 return _ERC20Burnable.Contract.ERC20BurnableCaller.contract.Call(opts, result, method, params...) 1062 } 1063 1064 // Transfer initiates a plain transaction to move funds to the contract, calling 1065 // its default method if one is available. 1066 func (_ERC20Burnable *ERC20BurnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1067 return _ERC20Burnable.Contract.ERC20BurnableTransactor.contract.Transfer(opts) 1068 } 1069 1070 // Transact invokes the (paid) contract method with params as input values. 1071 func (_ERC20Burnable *ERC20BurnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1072 return _ERC20Burnable.Contract.ERC20BurnableTransactor.contract.Transact(opts, method, params...) 1073 } 1074 1075 // Call invokes the (constant) contract method with params as input values and 1076 // sets the output to result. The result type might be a single field for simple 1077 // returns, a slice of interfaces for anonymous returns and a struct for named 1078 // returns. 1079 func (_ERC20Burnable *ERC20BurnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1080 return _ERC20Burnable.Contract.contract.Call(opts, result, method, params...) 1081 } 1082 1083 // Transfer initiates a plain transaction to move funds to the contract, calling 1084 // its default method if one is available. 1085 func (_ERC20Burnable *ERC20BurnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1086 return _ERC20Burnable.Contract.contract.Transfer(opts) 1087 } 1088 1089 // Transact invokes the (paid) contract method with params as input values. 1090 func (_ERC20Burnable *ERC20BurnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1091 return _ERC20Burnable.Contract.contract.Transact(opts, method, params...) 1092 } 1093 1094 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1095 // 1096 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1097 func (_ERC20Burnable *ERC20BurnableCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 1098 var out []interface{} 1099 err := _ERC20Burnable.contract.Call(opts, &out, "allowance", owner, spender) 1100 1101 if err != nil { 1102 return *new(*big.Int), err 1103 } 1104 1105 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1106 1107 return out0, err 1108 1109 } 1110 1111 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1112 // 1113 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1114 func (_ERC20Burnable *ERC20BurnableSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 1115 return _ERC20Burnable.Contract.Allowance(&_ERC20Burnable.CallOpts, owner, spender) 1116 } 1117 1118 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1119 // 1120 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1121 func (_ERC20Burnable *ERC20BurnableCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 1122 return _ERC20Burnable.Contract.Allowance(&_ERC20Burnable.CallOpts, owner, spender) 1123 } 1124 1125 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1126 // 1127 // Solidity: function balanceOf(address account) view returns(uint256) 1128 func (_ERC20Burnable *ERC20BurnableCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 1129 var out []interface{} 1130 err := _ERC20Burnable.contract.Call(opts, &out, "balanceOf", account) 1131 1132 if err != nil { 1133 return *new(*big.Int), err 1134 } 1135 1136 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1137 1138 return out0, err 1139 1140 } 1141 1142 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1143 // 1144 // Solidity: function balanceOf(address account) view returns(uint256) 1145 func (_ERC20Burnable *ERC20BurnableSession) BalanceOf(account common.Address) (*big.Int, error) { 1146 return _ERC20Burnable.Contract.BalanceOf(&_ERC20Burnable.CallOpts, account) 1147 } 1148 1149 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1150 // 1151 // Solidity: function balanceOf(address account) view returns(uint256) 1152 func (_ERC20Burnable *ERC20BurnableCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 1153 return _ERC20Burnable.Contract.BalanceOf(&_ERC20Burnable.CallOpts, account) 1154 } 1155 1156 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1157 // 1158 // Solidity: function totalSupply() view returns(uint256) 1159 func (_ERC20Burnable *ERC20BurnableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 1160 var out []interface{} 1161 err := _ERC20Burnable.contract.Call(opts, &out, "totalSupply") 1162 1163 if err != nil { 1164 return *new(*big.Int), err 1165 } 1166 1167 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1168 1169 return out0, err 1170 1171 } 1172 1173 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1174 // 1175 // Solidity: function totalSupply() view returns(uint256) 1176 func (_ERC20Burnable *ERC20BurnableSession) TotalSupply() (*big.Int, error) { 1177 return _ERC20Burnable.Contract.TotalSupply(&_ERC20Burnable.CallOpts) 1178 } 1179 1180 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1181 // 1182 // Solidity: function totalSupply() view returns(uint256) 1183 func (_ERC20Burnable *ERC20BurnableCallerSession) TotalSupply() (*big.Int, error) { 1184 return _ERC20Burnable.Contract.TotalSupply(&_ERC20Burnable.CallOpts) 1185 } 1186 1187 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1188 // 1189 // Solidity: function approve(address spender, uint256 value) returns(bool) 1190 func (_ERC20Burnable *ERC20BurnableTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 1191 return _ERC20Burnable.contract.Transact(opts, "approve", spender, value) 1192 } 1193 1194 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1195 // 1196 // Solidity: function approve(address spender, uint256 value) returns(bool) 1197 func (_ERC20Burnable *ERC20BurnableSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 1198 return _ERC20Burnable.Contract.Approve(&_ERC20Burnable.TransactOpts, spender, value) 1199 } 1200 1201 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1202 // 1203 // Solidity: function approve(address spender, uint256 value) returns(bool) 1204 func (_ERC20Burnable *ERC20BurnableTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 1205 return _ERC20Burnable.Contract.Approve(&_ERC20Burnable.TransactOpts, spender, value) 1206 } 1207 1208 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1209 // 1210 // Solidity: function burn(uint256 amount) returns() 1211 func (_ERC20Burnable *ERC20BurnableTransactor) Burn(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { 1212 return _ERC20Burnable.contract.Transact(opts, "burn", amount) 1213 } 1214 1215 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1216 // 1217 // Solidity: function burn(uint256 amount) returns() 1218 func (_ERC20Burnable *ERC20BurnableSession) Burn(amount *big.Int) (*types.Transaction, error) { 1219 return _ERC20Burnable.Contract.Burn(&_ERC20Burnable.TransactOpts, amount) 1220 } 1221 1222 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 1223 // 1224 // Solidity: function burn(uint256 amount) returns() 1225 func (_ERC20Burnable *ERC20BurnableTransactorSession) Burn(amount *big.Int) (*types.Transaction, error) { 1226 return _ERC20Burnable.Contract.Burn(&_ERC20Burnable.TransactOpts, amount) 1227 } 1228 1229 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 1230 // 1231 // Solidity: function burnFrom(address account, uint256 amount) returns() 1232 func (_ERC20Burnable *ERC20BurnableTransactor) BurnFrom(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { 1233 return _ERC20Burnable.contract.Transact(opts, "burnFrom", account, amount) 1234 } 1235 1236 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 1237 // 1238 // Solidity: function burnFrom(address account, uint256 amount) returns() 1239 func (_ERC20Burnable *ERC20BurnableSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { 1240 return _ERC20Burnable.Contract.BurnFrom(&_ERC20Burnable.TransactOpts, account, amount) 1241 } 1242 1243 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 1244 // 1245 // Solidity: function burnFrom(address account, uint256 amount) returns() 1246 func (_ERC20Burnable *ERC20BurnableTransactorSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { 1247 return _ERC20Burnable.Contract.BurnFrom(&_ERC20Burnable.TransactOpts, account, amount) 1248 } 1249 1250 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 1251 // 1252 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 1253 func (_ERC20Burnable *ERC20BurnableTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 1254 return _ERC20Burnable.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 1255 } 1256 1257 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 1258 // 1259 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 1260 func (_ERC20Burnable *ERC20BurnableSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 1261 return _ERC20Burnable.Contract.DecreaseAllowance(&_ERC20Burnable.TransactOpts, spender, subtractedValue) 1262 } 1263 1264 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 1265 // 1266 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 1267 func (_ERC20Burnable *ERC20BurnableTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 1268 return _ERC20Burnable.Contract.DecreaseAllowance(&_ERC20Burnable.TransactOpts, spender, subtractedValue) 1269 } 1270 1271 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 1272 // 1273 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 1274 func (_ERC20Burnable *ERC20BurnableTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 1275 return _ERC20Burnable.contract.Transact(opts, "increaseAllowance", spender, addedValue) 1276 } 1277 1278 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 1279 // 1280 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 1281 func (_ERC20Burnable *ERC20BurnableSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 1282 return _ERC20Burnable.Contract.IncreaseAllowance(&_ERC20Burnable.TransactOpts, spender, addedValue) 1283 } 1284 1285 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 1286 // 1287 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 1288 func (_ERC20Burnable *ERC20BurnableTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 1289 return _ERC20Burnable.Contract.IncreaseAllowance(&_ERC20Burnable.TransactOpts, spender, addedValue) 1290 } 1291 1292 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1293 // 1294 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 1295 func (_ERC20Burnable *ERC20BurnableTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1296 return _ERC20Burnable.contract.Transact(opts, "transfer", recipient, amount) 1297 } 1298 1299 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1300 // 1301 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 1302 func (_ERC20Burnable *ERC20BurnableSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1303 return _ERC20Burnable.Contract.Transfer(&_ERC20Burnable.TransactOpts, recipient, amount) 1304 } 1305 1306 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1307 // 1308 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 1309 func (_ERC20Burnable *ERC20BurnableTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1310 return _ERC20Burnable.Contract.Transfer(&_ERC20Burnable.TransactOpts, recipient, amount) 1311 } 1312 1313 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1314 // 1315 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 1316 func (_ERC20Burnable *ERC20BurnableTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1317 return _ERC20Burnable.contract.Transact(opts, "transferFrom", sender, recipient, amount) 1318 } 1319 1320 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1321 // 1322 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 1323 func (_ERC20Burnable *ERC20BurnableSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1324 return _ERC20Burnable.Contract.TransferFrom(&_ERC20Burnable.TransactOpts, sender, recipient, amount) 1325 } 1326 1327 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1328 // 1329 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 1330 func (_ERC20Burnable *ERC20BurnableTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 1331 return _ERC20Burnable.Contract.TransferFrom(&_ERC20Burnable.TransactOpts, sender, recipient, amount) 1332 } 1333 1334 // 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. 1335 type ERC20BurnableApprovalIterator struct { 1336 Event *ERC20BurnableApproval // Event containing the contract specifics and raw log 1337 1338 contract *bind.BoundContract // Generic contract to use for unpacking event data 1339 event string // Event name to use for unpacking event data 1340 1341 logs chan types.Log // Log channel receiving the found contract events 1342 sub klaytn.Subscription // Subscription for errors, completion and termination 1343 done bool // Whether the subscription completed delivering logs 1344 fail error // Occurred error to stop iteration 1345 } 1346 1347 // Next advances the iterator to the subsequent event, returning whether there 1348 // are any more events found. In case of a retrieval or parsing error, false is 1349 // returned and Error() can be queried for the exact failure. 1350 func (it *ERC20BurnableApprovalIterator) Next() bool { 1351 // If the iterator failed, stop iterating 1352 if it.fail != nil { 1353 return false 1354 } 1355 // If the iterator completed, deliver directly whatever's available 1356 if it.done { 1357 select { 1358 case log := <-it.logs: 1359 it.Event = new(ERC20BurnableApproval) 1360 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1361 it.fail = err 1362 return false 1363 } 1364 it.Event.Raw = log 1365 return true 1366 1367 default: 1368 return false 1369 } 1370 } 1371 // Iterator still in progress, wait for either a data or an error event 1372 select { 1373 case log := <-it.logs: 1374 it.Event = new(ERC20BurnableApproval) 1375 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1376 it.fail = err 1377 return false 1378 } 1379 it.Event.Raw = log 1380 return true 1381 1382 case err := <-it.sub.Err(): 1383 it.done = true 1384 it.fail = err 1385 return it.Next() 1386 } 1387 } 1388 1389 // Error returns any retrieval or parsing error occurred during filtering. 1390 func (it *ERC20BurnableApprovalIterator) Error() error { 1391 return it.fail 1392 } 1393 1394 // Close terminates the iteration process, releasing any pending underlying 1395 // resources. 1396 func (it *ERC20BurnableApprovalIterator) Close() error { 1397 it.sub.Unsubscribe() 1398 return nil 1399 } 1400 1401 // ERC20BurnableApproval represents a Approval event raised by the ERC20Burnable contract. 1402 type ERC20BurnableApproval struct { 1403 Owner common.Address 1404 Spender common.Address 1405 Value *big.Int 1406 Raw types.Log // Blockchain specific contextual infos 1407 } 1408 1409 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1410 // 1411 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1412 func (_ERC20Burnable *ERC20BurnableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20BurnableApprovalIterator, error) { 1413 1414 var ownerRule []interface{} 1415 for _, ownerItem := range owner { 1416 ownerRule = append(ownerRule, ownerItem) 1417 } 1418 var spenderRule []interface{} 1419 for _, spenderItem := range spender { 1420 spenderRule = append(spenderRule, spenderItem) 1421 } 1422 1423 logs, sub, err := _ERC20Burnable.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 1424 if err != nil { 1425 return nil, err 1426 } 1427 return &ERC20BurnableApprovalIterator{contract: _ERC20Burnable.contract, event: "Approval", logs: logs, sub: sub}, nil 1428 } 1429 1430 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1431 // 1432 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1433 func (_ERC20Burnable *ERC20BurnableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20BurnableApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 1434 1435 var ownerRule []interface{} 1436 for _, ownerItem := range owner { 1437 ownerRule = append(ownerRule, ownerItem) 1438 } 1439 var spenderRule []interface{} 1440 for _, spenderItem := range spender { 1441 spenderRule = append(spenderRule, spenderItem) 1442 } 1443 1444 logs, sub, err := _ERC20Burnable.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 1445 if err != nil { 1446 return nil, err 1447 } 1448 return event.NewSubscription(func(quit <-chan struct{}) error { 1449 defer sub.Unsubscribe() 1450 for { 1451 select { 1452 case log := <-logs: 1453 // New log arrived, parse the event and forward to the user 1454 event := new(ERC20BurnableApproval) 1455 if err := _ERC20Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 1456 return err 1457 } 1458 event.Raw = log 1459 1460 select { 1461 case sink <- event: 1462 case err := <-sub.Err(): 1463 return err 1464 case <-quit: 1465 return nil 1466 } 1467 case err := <-sub.Err(): 1468 return err 1469 case <-quit: 1470 return nil 1471 } 1472 } 1473 }), nil 1474 } 1475 1476 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1477 // 1478 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1479 func (_ERC20Burnable *ERC20BurnableFilterer) ParseApproval(log types.Log) (*ERC20BurnableApproval, error) { 1480 event := new(ERC20BurnableApproval) 1481 if err := _ERC20Burnable.contract.UnpackLog(event, "Approval", log); err != nil { 1482 return nil, err 1483 } 1484 return event, nil 1485 } 1486 1487 // 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. 1488 type ERC20BurnableTransferIterator struct { 1489 Event *ERC20BurnableTransfer // Event containing the contract specifics and raw log 1490 1491 contract *bind.BoundContract // Generic contract to use for unpacking event data 1492 event string // Event name to use for unpacking event data 1493 1494 logs chan types.Log // Log channel receiving the found contract events 1495 sub klaytn.Subscription // Subscription for errors, completion and termination 1496 done bool // Whether the subscription completed delivering logs 1497 fail error // Occurred error to stop iteration 1498 } 1499 1500 // Next advances the iterator to the subsequent event, returning whether there 1501 // are any more events found. In case of a retrieval or parsing error, false is 1502 // returned and Error() can be queried for the exact failure. 1503 func (it *ERC20BurnableTransferIterator) Next() bool { 1504 // If the iterator failed, stop iterating 1505 if it.fail != nil { 1506 return false 1507 } 1508 // If the iterator completed, deliver directly whatever's available 1509 if it.done { 1510 select { 1511 case log := <-it.logs: 1512 it.Event = new(ERC20BurnableTransfer) 1513 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1514 it.fail = err 1515 return false 1516 } 1517 it.Event.Raw = log 1518 return true 1519 1520 default: 1521 return false 1522 } 1523 } 1524 // Iterator still in progress, wait for either a data or an error event 1525 select { 1526 case log := <-it.logs: 1527 it.Event = new(ERC20BurnableTransfer) 1528 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1529 it.fail = err 1530 return false 1531 } 1532 it.Event.Raw = log 1533 return true 1534 1535 case err := <-it.sub.Err(): 1536 it.done = true 1537 it.fail = err 1538 return it.Next() 1539 } 1540 } 1541 1542 // Error returns any retrieval or parsing error occurred during filtering. 1543 func (it *ERC20BurnableTransferIterator) Error() error { 1544 return it.fail 1545 } 1546 1547 // Close terminates the iteration process, releasing any pending underlying 1548 // resources. 1549 func (it *ERC20BurnableTransferIterator) Close() error { 1550 it.sub.Unsubscribe() 1551 return nil 1552 } 1553 1554 // ERC20BurnableTransfer represents a Transfer event raised by the ERC20Burnable contract. 1555 type ERC20BurnableTransfer struct { 1556 From common.Address 1557 To common.Address 1558 Value *big.Int 1559 Raw types.Log // Blockchain specific contextual infos 1560 } 1561 1562 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1563 // 1564 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1565 func (_ERC20Burnable *ERC20BurnableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20BurnableTransferIterator, error) { 1566 1567 var fromRule []interface{} 1568 for _, fromItem := range from { 1569 fromRule = append(fromRule, fromItem) 1570 } 1571 var toRule []interface{} 1572 for _, toItem := range to { 1573 toRule = append(toRule, toItem) 1574 } 1575 1576 logs, sub, err := _ERC20Burnable.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 1577 if err != nil { 1578 return nil, err 1579 } 1580 return &ERC20BurnableTransferIterator{contract: _ERC20Burnable.contract, event: "Transfer", logs: logs, sub: sub}, nil 1581 } 1582 1583 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1584 // 1585 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1586 func (_ERC20Burnable *ERC20BurnableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20BurnableTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 1587 1588 var fromRule []interface{} 1589 for _, fromItem := range from { 1590 fromRule = append(fromRule, fromItem) 1591 } 1592 var toRule []interface{} 1593 for _, toItem := range to { 1594 toRule = append(toRule, toItem) 1595 } 1596 1597 logs, sub, err := _ERC20Burnable.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 1598 if err != nil { 1599 return nil, err 1600 } 1601 return event.NewSubscription(func(quit <-chan struct{}) error { 1602 defer sub.Unsubscribe() 1603 for { 1604 select { 1605 case log := <-logs: 1606 // New log arrived, parse the event and forward to the user 1607 event := new(ERC20BurnableTransfer) 1608 if err := _ERC20Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 1609 return err 1610 } 1611 event.Raw = log 1612 1613 select { 1614 case sink <- event: 1615 case err := <-sub.Err(): 1616 return err 1617 case <-quit: 1618 return nil 1619 } 1620 case err := <-sub.Err(): 1621 return err 1622 case <-quit: 1623 return nil 1624 } 1625 } 1626 }), nil 1627 } 1628 1629 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1630 // 1631 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1632 func (_ERC20Burnable *ERC20BurnableFilterer) ParseTransfer(log types.Log) (*ERC20BurnableTransfer, error) { 1633 event := new(ERC20BurnableTransfer) 1634 if err := _ERC20Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { 1635 return nil, err 1636 } 1637 return event, nil 1638 } 1639 1640 // ERC20MintableMetaData contains all meta data concerning the ERC20Mintable contract. 1641 var ERC20MintableMetaData = &bind.MetaData{ 1642 ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]", 1643 Sigs: map[string]string{ 1644 "983b2d56": "addMinter(address)", 1645 "dd62ed3e": "allowance(address,address)", 1646 "095ea7b3": "approve(address,uint256)", 1647 "70a08231": "balanceOf(address)", 1648 "a457c2d7": "decreaseAllowance(address,uint256)", 1649 "39509351": "increaseAllowance(address,uint256)", 1650 "aa271e1a": "isMinter(address)", 1651 "40c10f19": "mint(address,uint256)", 1652 "98650275": "renounceMinter()", 1653 "18160ddd": "totalSupply()", 1654 "a9059cbb": "transfer(address,uint256)", 1655 "23b872dd": "transferFrom(address,address,uint256)", 1656 }, 1657 Bin: "0x60806040526100133361001860201b60201c565b610189565b61003081600361006760201b6109961790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610077828261010860201b60201c565b156100e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216610169576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d496022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610bb1806101986000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146101c757806398650275146101ef578063a457c2d7146101f7578063a9059cbb14610223578063aa271e1a1461024f578063dd62ed3e14610275576100b4565b8063095ea7b3146100b957806318160ddd146100f957806323b872dd14610113578063395093511461014957806340c10f191461017557806370a08231146101a1575b600080fd5b6100e5600480360360408110156100cf57600080fd5b506001600160a01b0381351690602001356102a3565b604080519115158252519081900360200190f35b6101016102b9565b60408051918252519081900360200190f35b6100e56004803603606081101561012957600080fd5b506001600160a01b038135811691602081013590911690604001356102bf565b6100e56004803603604081101561015f57600080fd5b506001600160a01b038135169060200135610316565b6100e56004803603604081101561018b57600080fd5b506001600160a01b038135169060200135610352565b610101600480360360208110156101b757600080fd5b50356001600160a01b03166103a5565b6101ed600480360360208110156101dd57600080fd5b50356001600160a01b03166103c0565b005b6101ed610413565b6100e56004803603604081101561020d57600080fd5b506001600160a01b03813516906020013561041e565b6100e56004803603604081101561023957600080fd5b506001600160a01b03813516906020013561045a565b6100e56004803603602081101561026557600080fd5b50356001600160a01b0316610467565b6101016004803603604081101561028b57600080fd5b506001600160a01b0381358116916020013516610480565b60006102b03384846104ab565b50600192915050565b60025490565b60006102cc84848461059d565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461030c918691610307908663ffffffff6106e516565b6104ab565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102b0918590610307908663ffffffff61074516565b600061035d33610467565b61039b57604051600160e51b62461bcd028152600401808060200182810382526030815260200180610aca6030913960400191505060405180910390fd5b6102b083836107a9565b6001600160a01b031660009081526020819052604090205490565b6103c933610467565b61040757604051600160e51b62461bcd028152600401808060200182810382526030815260200180610aca6030913960400191505060405180910390fd5b6104108161089c565b50565b61041c336108e4565b565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102b0918590610307908663ffffffff6106e516565b60006102b033848461059d565b600061047a60038363ffffffff61092c16565b92915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104f357604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b626024913960400191505060405180910390fd5b6001600160a01b03821661053b57604051600160e51b62461bcd028152600401808060200182810382526022815260200180610aa86022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166105e557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610b3d6025913960400191505060405180910390fd5b6001600160a01b03821661062d57604051600160e51b62461bcd028152600401808060200182810382526023815260200180610a856023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610656908263ffffffff6106e516565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461068b908263ffffffff61074516565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561073f5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156107a25760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166108075760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b60025461081a908263ffffffff61074516565b6002556001600160a01b038216600090815260208190526040902054610846908263ffffffff61074516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6108ad60038263ffffffff61099616565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6108f560038263ffffffff610a1a16565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661097657604051600160e51b62461bcd028152600401808060200182810382526022815260200180610b1b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6109a0828261092c565b156109f55760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610a24828261092c565b610a6257604051600160e51b62461bcd028152600401808060200182810382526021815260200180610afa6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058207c035c37b5cdab580693ebc5ac8baa8dd64a88acae0a320928f95065065bb8180029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", 1658 } 1659 1660 // ERC20MintableABI is the input ABI used to generate the binding from. 1661 // Deprecated: Use ERC20MintableMetaData.ABI instead. 1662 var ERC20MintableABI = ERC20MintableMetaData.ABI 1663 1664 // ERC20MintableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 1665 const ERC20MintableBinRuntime = `608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146101c757806398650275146101ef578063a457c2d7146101f7578063a9059cbb14610223578063aa271e1a1461024f578063dd62ed3e14610275576100b4565b8063095ea7b3146100b957806318160ddd146100f957806323b872dd14610113578063395093511461014957806340c10f191461017557806370a08231146101a1575b600080fd5b6100e5600480360360408110156100cf57600080fd5b506001600160a01b0381351690602001356102a3565b604080519115158252519081900360200190f35b6101016102b9565b60408051918252519081900360200190f35b6100e56004803603606081101561012957600080fd5b506001600160a01b038135811691602081013590911690604001356102bf565b6100e56004803603604081101561015f57600080fd5b506001600160a01b038135169060200135610316565b6100e56004803603604081101561018b57600080fd5b506001600160a01b038135169060200135610352565b610101600480360360208110156101b757600080fd5b50356001600160a01b03166103a5565b6101ed600480360360208110156101dd57600080fd5b50356001600160a01b03166103c0565b005b6101ed610413565b6100e56004803603604081101561020d57600080fd5b506001600160a01b03813516906020013561041e565b6100e56004803603604081101561023957600080fd5b506001600160a01b03813516906020013561045a565b6100e56004803603602081101561026557600080fd5b50356001600160a01b0316610467565b6101016004803603604081101561028b57600080fd5b506001600160a01b0381358116916020013516610480565b60006102b03384846104ab565b50600192915050565b60025490565b60006102cc84848461059d565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461030c918691610307908663ffffffff6106e516565b6104ab565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102b0918590610307908663ffffffff61074516565b600061035d33610467565b61039b57604051600160e51b62461bcd028152600401808060200182810382526030815260200180610aca6030913960400191505060405180910390fd5b6102b083836107a9565b6001600160a01b031660009081526020819052604090205490565b6103c933610467565b61040757604051600160e51b62461bcd028152600401808060200182810382526030815260200180610aca6030913960400191505060405180910390fd5b6104108161089c565b50565b61041c336108e4565b565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102b0918590610307908663ffffffff6106e516565b60006102b033848461059d565b600061047a60038363ffffffff61092c16565b92915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104f357604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b626024913960400191505060405180910390fd5b6001600160a01b03821661053b57604051600160e51b62461bcd028152600401808060200182810382526022815260200180610aa86022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166105e557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610b3d6025913960400191505060405180910390fd5b6001600160a01b03821661062d57604051600160e51b62461bcd028152600401808060200182810382526023815260200180610a856023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610656908263ffffffff6106e516565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461068b908263ffffffff61074516565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561073f5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156107a25760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166108075760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b60025461081a908263ffffffff61074516565b6002556001600160a01b038216600090815260208190526040902054610846908263ffffffff61074516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6108ad60038263ffffffff61099616565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6108f560038263ffffffff610a1a16565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661097657604051600160e51b62461bcd028152600401808060200182810382526022815260200180610b1b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6109a0828261092c565b156109f55760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610a24828261092c565b610a6257604051600160e51b62461bcd028152600401808060200182810382526021815260200180610afa6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058207c035c37b5cdab580693ebc5ac8baa8dd64a88acae0a320928f95065065bb8180029` 1666 1667 // ERC20MintableFuncSigs maps the 4-byte function signature to its string representation. 1668 // Deprecated: Use ERC20MintableMetaData.Sigs instead. 1669 var ERC20MintableFuncSigs = ERC20MintableMetaData.Sigs 1670 1671 // ERC20MintableBin is the compiled bytecode used for deploying new contracts. 1672 // Deprecated: Use ERC20MintableMetaData.Bin instead. 1673 var ERC20MintableBin = ERC20MintableMetaData.Bin 1674 1675 // DeployERC20Mintable deploys a new Klaytn contract, binding an instance of ERC20Mintable to it. 1676 func DeployERC20Mintable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20Mintable, error) { 1677 parsed, err := ERC20MintableMetaData.GetAbi() 1678 if err != nil { 1679 return common.Address{}, nil, nil, err 1680 } 1681 if parsed == nil { 1682 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 1683 } 1684 1685 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ERC20MintableBin), backend) 1686 if err != nil { 1687 return common.Address{}, nil, nil, err 1688 } 1689 return address, tx, &ERC20Mintable{ERC20MintableCaller: ERC20MintableCaller{contract: contract}, ERC20MintableTransactor: ERC20MintableTransactor{contract: contract}, ERC20MintableFilterer: ERC20MintableFilterer{contract: contract}}, nil 1690 } 1691 1692 // ERC20Mintable is an auto generated Go binding around a Klaytn contract. 1693 type ERC20Mintable struct { 1694 ERC20MintableCaller // Read-only binding to the contract 1695 ERC20MintableTransactor // Write-only binding to the contract 1696 ERC20MintableFilterer // Log filterer for contract events 1697 } 1698 1699 // ERC20MintableCaller is an auto generated read-only Go binding around a Klaytn contract. 1700 type ERC20MintableCaller struct { 1701 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1702 } 1703 1704 // ERC20MintableTransactor is an auto generated write-only Go binding around a Klaytn contract. 1705 type ERC20MintableTransactor struct { 1706 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1707 } 1708 1709 // ERC20MintableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 1710 type ERC20MintableFilterer struct { 1711 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1712 } 1713 1714 // ERC20MintableSession is an auto generated Go binding around a Klaytn contract, 1715 // with pre-set call and transact options. 1716 type ERC20MintableSession struct { 1717 Contract *ERC20Mintable // Generic contract binding to set the session for 1718 CallOpts bind.CallOpts // Call options to use throughout this session 1719 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1720 } 1721 1722 // ERC20MintableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 1723 // with pre-set call options. 1724 type ERC20MintableCallerSession struct { 1725 Contract *ERC20MintableCaller // Generic contract caller binding to set the session for 1726 CallOpts bind.CallOpts // Call options to use throughout this session 1727 } 1728 1729 // ERC20MintableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 1730 // with pre-set transact options. 1731 type ERC20MintableTransactorSession struct { 1732 Contract *ERC20MintableTransactor // Generic contract transactor binding to set the session for 1733 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1734 } 1735 1736 // ERC20MintableRaw is an auto generated low-level Go binding around a Klaytn contract. 1737 type ERC20MintableRaw struct { 1738 Contract *ERC20Mintable // Generic contract binding to access the raw methods on 1739 } 1740 1741 // ERC20MintableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 1742 type ERC20MintableCallerRaw struct { 1743 Contract *ERC20MintableCaller // Generic read-only contract binding to access the raw methods on 1744 } 1745 1746 // ERC20MintableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 1747 type ERC20MintableTransactorRaw struct { 1748 Contract *ERC20MintableTransactor // Generic write-only contract binding to access the raw methods on 1749 } 1750 1751 // NewERC20Mintable creates a new instance of ERC20Mintable, bound to a specific deployed contract. 1752 func NewERC20Mintable(address common.Address, backend bind.ContractBackend) (*ERC20Mintable, error) { 1753 contract, err := bindERC20Mintable(address, backend, backend, backend) 1754 if err != nil { 1755 return nil, err 1756 } 1757 return &ERC20Mintable{ERC20MintableCaller: ERC20MintableCaller{contract: contract}, ERC20MintableTransactor: ERC20MintableTransactor{contract: contract}, ERC20MintableFilterer: ERC20MintableFilterer{contract: contract}}, nil 1758 } 1759 1760 // NewERC20MintableCaller creates a new read-only instance of ERC20Mintable, bound to a specific deployed contract. 1761 func NewERC20MintableCaller(address common.Address, caller bind.ContractCaller) (*ERC20MintableCaller, error) { 1762 contract, err := bindERC20Mintable(address, caller, nil, nil) 1763 if err != nil { 1764 return nil, err 1765 } 1766 return &ERC20MintableCaller{contract: contract}, nil 1767 } 1768 1769 // NewERC20MintableTransactor creates a new write-only instance of ERC20Mintable, bound to a specific deployed contract. 1770 func NewERC20MintableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20MintableTransactor, error) { 1771 contract, err := bindERC20Mintable(address, nil, transactor, nil) 1772 if err != nil { 1773 return nil, err 1774 } 1775 return &ERC20MintableTransactor{contract: contract}, nil 1776 } 1777 1778 // NewERC20MintableFilterer creates a new log filterer instance of ERC20Mintable, bound to a specific deployed contract. 1779 func NewERC20MintableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20MintableFilterer, error) { 1780 contract, err := bindERC20Mintable(address, nil, nil, filterer) 1781 if err != nil { 1782 return nil, err 1783 } 1784 return &ERC20MintableFilterer{contract: contract}, nil 1785 } 1786 1787 // bindERC20Mintable binds a generic wrapper to an already deployed contract. 1788 func bindERC20Mintable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1789 parsed, err := ERC20MintableMetaData.GetAbi() 1790 if err != nil { 1791 return nil, err 1792 } 1793 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 1794 } 1795 1796 // Call invokes the (constant) contract method with params as input values and 1797 // sets the output to result. The result type might be a single field for simple 1798 // returns, a slice of interfaces for anonymous returns and a struct for named 1799 // returns. 1800 func (_ERC20Mintable *ERC20MintableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1801 return _ERC20Mintable.Contract.ERC20MintableCaller.contract.Call(opts, result, method, params...) 1802 } 1803 1804 // Transfer initiates a plain transaction to move funds to the contract, calling 1805 // its default method if one is available. 1806 func (_ERC20Mintable *ERC20MintableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1807 return _ERC20Mintable.Contract.ERC20MintableTransactor.contract.Transfer(opts) 1808 } 1809 1810 // Transact invokes the (paid) contract method with params as input values. 1811 func (_ERC20Mintable *ERC20MintableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1812 return _ERC20Mintable.Contract.ERC20MintableTransactor.contract.Transact(opts, method, params...) 1813 } 1814 1815 // Call invokes the (constant) contract method with params as input values and 1816 // sets the output to result. The result type might be a single field for simple 1817 // returns, a slice of interfaces for anonymous returns and a struct for named 1818 // returns. 1819 func (_ERC20Mintable *ERC20MintableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1820 return _ERC20Mintable.Contract.contract.Call(opts, result, method, params...) 1821 } 1822 1823 // Transfer initiates a plain transaction to move funds to the contract, calling 1824 // its default method if one is available. 1825 func (_ERC20Mintable *ERC20MintableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1826 return _ERC20Mintable.Contract.contract.Transfer(opts) 1827 } 1828 1829 // Transact invokes the (paid) contract method with params as input values. 1830 func (_ERC20Mintable *ERC20MintableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1831 return _ERC20Mintable.Contract.contract.Transact(opts, method, params...) 1832 } 1833 1834 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1835 // 1836 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1837 func (_ERC20Mintable *ERC20MintableCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 1838 var out []interface{} 1839 err := _ERC20Mintable.contract.Call(opts, &out, "allowance", owner, spender) 1840 1841 if err != nil { 1842 return *new(*big.Int), err 1843 } 1844 1845 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1846 1847 return out0, err 1848 1849 } 1850 1851 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1852 // 1853 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1854 func (_ERC20Mintable *ERC20MintableSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 1855 return _ERC20Mintable.Contract.Allowance(&_ERC20Mintable.CallOpts, owner, spender) 1856 } 1857 1858 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1859 // 1860 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1861 func (_ERC20Mintable *ERC20MintableCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 1862 return _ERC20Mintable.Contract.Allowance(&_ERC20Mintable.CallOpts, owner, spender) 1863 } 1864 1865 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1866 // 1867 // Solidity: function balanceOf(address account) view returns(uint256) 1868 func (_ERC20Mintable *ERC20MintableCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 1869 var out []interface{} 1870 err := _ERC20Mintable.contract.Call(opts, &out, "balanceOf", account) 1871 1872 if err != nil { 1873 return *new(*big.Int), err 1874 } 1875 1876 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1877 1878 return out0, err 1879 1880 } 1881 1882 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1883 // 1884 // Solidity: function balanceOf(address account) view returns(uint256) 1885 func (_ERC20Mintable *ERC20MintableSession) BalanceOf(account common.Address) (*big.Int, error) { 1886 return _ERC20Mintable.Contract.BalanceOf(&_ERC20Mintable.CallOpts, account) 1887 } 1888 1889 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1890 // 1891 // Solidity: function balanceOf(address account) view returns(uint256) 1892 func (_ERC20Mintable *ERC20MintableCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 1893 return _ERC20Mintable.Contract.BalanceOf(&_ERC20Mintable.CallOpts, account) 1894 } 1895 1896 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 1897 // 1898 // Solidity: function isMinter(address account) view returns(bool) 1899 func (_ERC20Mintable *ERC20MintableCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 1900 var out []interface{} 1901 err := _ERC20Mintable.contract.Call(opts, &out, "isMinter", account) 1902 1903 if err != nil { 1904 return *new(bool), err 1905 } 1906 1907 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 1908 1909 return out0, err 1910 1911 } 1912 1913 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 1914 // 1915 // Solidity: function isMinter(address account) view returns(bool) 1916 func (_ERC20Mintable *ERC20MintableSession) IsMinter(account common.Address) (bool, error) { 1917 return _ERC20Mintable.Contract.IsMinter(&_ERC20Mintable.CallOpts, account) 1918 } 1919 1920 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 1921 // 1922 // Solidity: function isMinter(address account) view returns(bool) 1923 func (_ERC20Mintable *ERC20MintableCallerSession) IsMinter(account common.Address) (bool, error) { 1924 return _ERC20Mintable.Contract.IsMinter(&_ERC20Mintable.CallOpts, account) 1925 } 1926 1927 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1928 // 1929 // Solidity: function totalSupply() view returns(uint256) 1930 func (_ERC20Mintable *ERC20MintableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 1931 var out []interface{} 1932 err := _ERC20Mintable.contract.Call(opts, &out, "totalSupply") 1933 1934 if err != nil { 1935 return *new(*big.Int), err 1936 } 1937 1938 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1939 1940 return out0, err 1941 1942 } 1943 1944 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1945 // 1946 // Solidity: function totalSupply() view returns(uint256) 1947 func (_ERC20Mintable *ERC20MintableSession) TotalSupply() (*big.Int, error) { 1948 return _ERC20Mintable.Contract.TotalSupply(&_ERC20Mintable.CallOpts) 1949 } 1950 1951 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1952 // 1953 // Solidity: function totalSupply() view returns(uint256) 1954 func (_ERC20Mintable *ERC20MintableCallerSession) TotalSupply() (*big.Int, error) { 1955 return _ERC20Mintable.Contract.TotalSupply(&_ERC20Mintable.CallOpts) 1956 } 1957 1958 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 1959 // 1960 // Solidity: function addMinter(address account) returns() 1961 func (_ERC20Mintable *ERC20MintableTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 1962 return _ERC20Mintable.contract.Transact(opts, "addMinter", account) 1963 } 1964 1965 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 1966 // 1967 // Solidity: function addMinter(address account) returns() 1968 func (_ERC20Mintable *ERC20MintableSession) AddMinter(account common.Address) (*types.Transaction, error) { 1969 return _ERC20Mintable.Contract.AddMinter(&_ERC20Mintable.TransactOpts, account) 1970 } 1971 1972 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 1973 // 1974 // Solidity: function addMinter(address account) returns() 1975 func (_ERC20Mintable *ERC20MintableTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 1976 return _ERC20Mintable.Contract.AddMinter(&_ERC20Mintable.TransactOpts, account) 1977 } 1978 1979 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1980 // 1981 // Solidity: function approve(address spender, uint256 value) returns(bool) 1982 func (_ERC20Mintable *ERC20MintableTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 1983 return _ERC20Mintable.contract.Transact(opts, "approve", spender, value) 1984 } 1985 1986 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1987 // 1988 // Solidity: function approve(address spender, uint256 value) returns(bool) 1989 func (_ERC20Mintable *ERC20MintableSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 1990 return _ERC20Mintable.Contract.Approve(&_ERC20Mintable.TransactOpts, spender, value) 1991 } 1992 1993 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1994 // 1995 // Solidity: function approve(address spender, uint256 value) returns(bool) 1996 func (_ERC20Mintable *ERC20MintableTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 1997 return _ERC20Mintable.Contract.Approve(&_ERC20Mintable.TransactOpts, spender, value) 1998 } 1999 2000 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 2001 // 2002 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 2003 func (_ERC20Mintable *ERC20MintableTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 2004 return _ERC20Mintable.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 2005 } 2006 2007 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 2008 // 2009 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 2010 func (_ERC20Mintable *ERC20MintableSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 2011 return _ERC20Mintable.Contract.DecreaseAllowance(&_ERC20Mintable.TransactOpts, spender, subtractedValue) 2012 } 2013 2014 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 2015 // 2016 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 2017 func (_ERC20Mintable *ERC20MintableTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 2018 return _ERC20Mintable.Contract.DecreaseAllowance(&_ERC20Mintable.TransactOpts, spender, subtractedValue) 2019 } 2020 2021 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 2022 // 2023 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 2024 func (_ERC20Mintable *ERC20MintableTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 2025 return _ERC20Mintable.contract.Transact(opts, "increaseAllowance", spender, addedValue) 2026 } 2027 2028 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 2029 // 2030 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 2031 func (_ERC20Mintable *ERC20MintableSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 2032 return _ERC20Mintable.Contract.IncreaseAllowance(&_ERC20Mintable.TransactOpts, spender, addedValue) 2033 } 2034 2035 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 2036 // 2037 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 2038 func (_ERC20Mintable *ERC20MintableTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 2039 return _ERC20Mintable.Contract.IncreaseAllowance(&_ERC20Mintable.TransactOpts, spender, addedValue) 2040 } 2041 2042 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 2043 // 2044 // Solidity: function mint(address account, uint256 amount) returns(bool) 2045 func (_ERC20Mintable *ERC20MintableTransactor) Mint(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { 2046 return _ERC20Mintable.contract.Transact(opts, "mint", account, amount) 2047 } 2048 2049 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 2050 // 2051 // Solidity: function mint(address account, uint256 amount) returns(bool) 2052 func (_ERC20Mintable *ERC20MintableSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { 2053 return _ERC20Mintable.Contract.Mint(&_ERC20Mintable.TransactOpts, account, amount) 2054 } 2055 2056 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 2057 // 2058 // Solidity: function mint(address account, uint256 amount) returns(bool) 2059 func (_ERC20Mintable *ERC20MintableTransactorSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { 2060 return _ERC20Mintable.Contract.Mint(&_ERC20Mintable.TransactOpts, account, amount) 2061 } 2062 2063 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 2064 // 2065 // Solidity: function renounceMinter() returns() 2066 func (_ERC20Mintable *ERC20MintableTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 2067 return _ERC20Mintable.contract.Transact(opts, "renounceMinter") 2068 } 2069 2070 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 2071 // 2072 // Solidity: function renounceMinter() returns() 2073 func (_ERC20Mintable *ERC20MintableSession) RenounceMinter() (*types.Transaction, error) { 2074 return _ERC20Mintable.Contract.RenounceMinter(&_ERC20Mintable.TransactOpts) 2075 } 2076 2077 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 2078 // 2079 // Solidity: function renounceMinter() returns() 2080 func (_ERC20Mintable *ERC20MintableTransactorSession) RenounceMinter() (*types.Transaction, error) { 2081 return _ERC20Mintable.Contract.RenounceMinter(&_ERC20Mintable.TransactOpts) 2082 } 2083 2084 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 2085 // 2086 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 2087 func (_ERC20Mintable *ERC20MintableTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2088 return _ERC20Mintable.contract.Transact(opts, "transfer", recipient, amount) 2089 } 2090 2091 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 2092 // 2093 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 2094 func (_ERC20Mintable *ERC20MintableSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2095 return _ERC20Mintable.Contract.Transfer(&_ERC20Mintable.TransactOpts, recipient, amount) 2096 } 2097 2098 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 2099 // 2100 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 2101 func (_ERC20Mintable *ERC20MintableTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2102 return _ERC20Mintable.Contract.Transfer(&_ERC20Mintable.TransactOpts, recipient, amount) 2103 } 2104 2105 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2106 // 2107 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 2108 func (_ERC20Mintable *ERC20MintableTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2109 return _ERC20Mintable.contract.Transact(opts, "transferFrom", sender, recipient, amount) 2110 } 2111 2112 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2113 // 2114 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 2115 func (_ERC20Mintable *ERC20MintableSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2116 return _ERC20Mintable.Contract.TransferFrom(&_ERC20Mintable.TransactOpts, sender, recipient, amount) 2117 } 2118 2119 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 2120 // 2121 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 2122 func (_ERC20Mintable *ERC20MintableTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 2123 return _ERC20Mintable.Contract.TransferFrom(&_ERC20Mintable.TransactOpts, sender, recipient, amount) 2124 } 2125 2126 // 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. 2127 type ERC20MintableApprovalIterator struct { 2128 Event *ERC20MintableApproval // Event containing the contract specifics and raw log 2129 2130 contract *bind.BoundContract // Generic contract to use for unpacking event data 2131 event string // Event name to use for unpacking event data 2132 2133 logs chan types.Log // Log channel receiving the found contract events 2134 sub klaytn.Subscription // Subscription for errors, completion and termination 2135 done bool // Whether the subscription completed delivering logs 2136 fail error // Occurred error to stop iteration 2137 } 2138 2139 // Next advances the iterator to the subsequent event, returning whether there 2140 // are any more events found. In case of a retrieval or parsing error, false is 2141 // returned and Error() can be queried for the exact failure. 2142 func (it *ERC20MintableApprovalIterator) Next() bool { 2143 // If the iterator failed, stop iterating 2144 if it.fail != nil { 2145 return false 2146 } 2147 // If the iterator completed, deliver directly whatever's available 2148 if it.done { 2149 select { 2150 case log := <-it.logs: 2151 it.Event = new(ERC20MintableApproval) 2152 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2153 it.fail = err 2154 return false 2155 } 2156 it.Event.Raw = log 2157 return true 2158 2159 default: 2160 return false 2161 } 2162 } 2163 // Iterator still in progress, wait for either a data or an error event 2164 select { 2165 case log := <-it.logs: 2166 it.Event = new(ERC20MintableApproval) 2167 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2168 it.fail = err 2169 return false 2170 } 2171 it.Event.Raw = log 2172 return true 2173 2174 case err := <-it.sub.Err(): 2175 it.done = true 2176 it.fail = err 2177 return it.Next() 2178 } 2179 } 2180 2181 // Error returns any retrieval or parsing error occurred during filtering. 2182 func (it *ERC20MintableApprovalIterator) Error() error { 2183 return it.fail 2184 } 2185 2186 // Close terminates the iteration process, releasing any pending underlying 2187 // resources. 2188 func (it *ERC20MintableApprovalIterator) Close() error { 2189 it.sub.Unsubscribe() 2190 return nil 2191 } 2192 2193 // ERC20MintableApproval represents a Approval event raised by the ERC20Mintable contract. 2194 type ERC20MintableApproval struct { 2195 Owner common.Address 2196 Spender common.Address 2197 Value *big.Int 2198 Raw types.Log // Blockchain specific contextual infos 2199 } 2200 2201 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2202 // 2203 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 2204 func (_ERC20Mintable *ERC20MintableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20MintableApprovalIterator, error) { 2205 2206 var ownerRule []interface{} 2207 for _, ownerItem := range owner { 2208 ownerRule = append(ownerRule, ownerItem) 2209 } 2210 var spenderRule []interface{} 2211 for _, spenderItem := range spender { 2212 spenderRule = append(spenderRule, spenderItem) 2213 } 2214 2215 logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 2216 if err != nil { 2217 return nil, err 2218 } 2219 return &ERC20MintableApprovalIterator{contract: _ERC20Mintable.contract, event: "Approval", logs: logs, sub: sub}, nil 2220 } 2221 2222 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2223 // 2224 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 2225 func (_ERC20Mintable *ERC20MintableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20MintableApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 2226 2227 var ownerRule []interface{} 2228 for _, ownerItem := range owner { 2229 ownerRule = append(ownerRule, ownerItem) 2230 } 2231 var spenderRule []interface{} 2232 for _, spenderItem := range spender { 2233 spenderRule = append(spenderRule, spenderItem) 2234 } 2235 2236 logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 2237 if err != nil { 2238 return nil, err 2239 } 2240 return event.NewSubscription(func(quit <-chan struct{}) error { 2241 defer sub.Unsubscribe() 2242 for { 2243 select { 2244 case log := <-logs: 2245 // New log arrived, parse the event and forward to the user 2246 event := new(ERC20MintableApproval) 2247 if err := _ERC20Mintable.contract.UnpackLog(event, "Approval", log); err != nil { 2248 return err 2249 } 2250 event.Raw = log 2251 2252 select { 2253 case sink <- event: 2254 case err := <-sub.Err(): 2255 return err 2256 case <-quit: 2257 return nil 2258 } 2259 case err := <-sub.Err(): 2260 return err 2261 case <-quit: 2262 return nil 2263 } 2264 } 2265 }), nil 2266 } 2267 2268 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 2269 // 2270 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 2271 func (_ERC20Mintable *ERC20MintableFilterer) ParseApproval(log types.Log) (*ERC20MintableApproval, error) { 2272 event := new(ERC20MintableApproval) 2273 if err := _ERC20Mintable.contract.UnpackLog(event, "Approval", log); err != nil { 2274 return nil, err 2275 } 2276 return event, nil 2277 } 2278 2279 // 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. 2280 type ERC20MintableMinterAddedIterator struct { 2281 Event *ERC20MintableMinterAdded // Event containing the contract specifics and raw log 2282 2283 contract *bind.BoundContract // Generic contract to use for unpacking event data 2284 event string // Event name to use for unpacking event data 2285 2286 logs chan types.Log // Log channel receiving the found contract events 2287 sub klaytn.Subscription // Subscription for errors, completion and termination 2288 done bool // Whether the subscription completed delivering logs 2289 fail error // Occurred error to stop iteration 2290 } 2291 2292 // Next advances the iterator to the subsequent event, returning whether there 2293 // are any more events found. In case of a retrieval or parsing error, false is 2294 // returned and Error() can be queried for the exact failure. 2295 func (it *ERC20MintableMinterAddedIterator) Next() bool { 2296 // If the iterator failed, stop iterating 2297 if it.fail != nil { 2298 return false 2299 } 2300 // If the iterator completed, deliver directly whatever's available 2301 if it.done { 2302 select { 2303 case log := <-it.logs: 2304 it.Event = new(ERC20MintableMinterAdded) 2305 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2306 it.fail = err 2307 return false 2308 } 2309 it.Event.Raw = log 2310 return true 2311 2312 default: 2313 return false 2314 } 2315 } 2316 // Iterator still in progress, wait for either a data or an error event 2317 select { 2318 case log := <-it.logs: 2319 it.Event = new(ERC20MintableMinterAdded) 2320 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2321 it.fail = err 2322 return false 2323 } 2324 it.Event.Raw = log 2325 return true 2326 2327 case err := <-it.sub.Err(): 2328 it.done = true 2329 it.fail = err 2330 return it.Next() 2331 } 2332 } 2333 2334 // Error returns any retrieval or parsing error occurred during filtering. 2335 func (it *ERC20MintableMinterAddedIterator) Error() error { 2336 return it.fail 2337 } 2338 2339 // Close terminates the iteration process, releasing any pending underlying 2340 // resources. 2341 func (it *ERC20MintableMinterAddedIterator) Close() error { 2342 it.sub.Unsubscribe() 2343 return nil 2344 } 2345 2346 // ERC20MintableMinterAdded represents a MinterAdded event raised by the ERC20Mintable contract. 2347 type ERC20MintableMinterAdded struct { 2348 Account common.Address 2349 Raw types.Log // Blockchain specific contextual infos 2350 } 2351 2352 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 2353 // 2354 // Solidity: event MinterAdded(address indexed account) 2355 func (_ERC20Mintable *ERC20MintableFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ERC20MintableMinterAddedIterator, error) { 2356 2357 var accountRule []interface{} 2358 for _, accountItem := range account { 2359 accountRule = append(accountRule, accountItem) 2360 } 2361 2362 logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "MinterAdded", accountRule) 2363 if err != nil { 2364 return nil, err 2365 } 2366 return &ERC20MintableMinterAddedIterator{contract: _ERC20Mintable.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 2367 } 2368 2369 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 2370 // 2371 // Solidity: event MinterAdded(address indexed account) 2372 func (_ERC20Mintable *ERC20MintableFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ERC20MintableMinterAdded, account []common.Address) (event.Subscription, error) { 2373 2374 var accountRule []interface{} 2375 for _, accountItem := range account { 2376 accountRule = append(accountRule, accountItem) 2377 } 2378 2379 logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "MinterAdded", accountRule) 2380 if err != nil { 2381 return nil, err 2382 } 2383 return event.NewSubscription(func(quit <-chan struct{}) error { 2384 defer sub.Unsubscribe() 2385 for { 2386 select { 2387 case log := <-logs: 2388 // New log arrived, parse the event and forward to the user 2389 event := new(ERC20MintableMinterAdded) 2390 if err := _ERC20Mintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 2391 return err 2392 } 2393 event.Raw = log 2394 2395 select { 2396 case sink <- event: 2397 case err := <-sub.Err(): 2398 return err 2399 case <-quit: 2400 return nil 2401 } 2402 case err := <-sub.Err(): 2403 return err 2404 case <-quit: 2405 return nil 2406 } 2407 } 2408 }), nil 2409 } 2410 2411 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 2412 // 2413 // Solidity: event MinterAdded(address indexed account) 2414 func (_ERC20Mintable *ERC20MintableFilterer) ParseMinterAdded(log types.Log) (*ERC20MintableMinterAdded, error) { 2415 event := new(ERC20MintableMinterAdded) 2416 if err := _ERC20Mintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { 2417 return nil, err 2418 } 2419 return event, nil 2420 } 2421 2422 // 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. 2423 type ERC20MintableMinterRemovedIterator struct { 2424 Event *ERC20MintableMinterRemoved // Event containing the contract specifics and raw log 2425 2426 contract *bind.BoundContract // Generic contract to use for unpacking event data 2427 event string // Event name to use for unpacking event data 2428 2429 logs chan types.Log // Log channel receiving the found contract events 2430 sub klaytn.Subscription // Subscription for errors, completion and termination 2431 done bool // Whether the subscription completed delivering logs 2432 fail error // Occurred error to stop iteration 2433 } 2434 2435 // Next advances the iterator to the subsequent event, returning whether there 2436 // are any more events found. In case of a retrieval or parsing error, false is 2437 // returned and Error() can be queried for the exact failure. 2438 func (it *ERC20MintableMinterRemovedIterator) Next() bool { 2439 // If the iterator failed, stop iterating 2440 if it.fail != nil { 2441 return false 2442 } 2443 // If the iterator completed, deliver directly whatever's available 2444 if it.done { 2445 select { 2446 case log := <-it.logs: 2447 it.Event = new(ERC20MintableMinterRemoved) 2448 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2449 it.fail = err 2450 return false 2451 } 2452 it.Event.Raw = log 2453 return true 2454 2455 default: 2456 return false 2457 } 2458 } 2459 // Iterator still in progress, wait for either a data or an error event 2460 select { 2461 case log := <-it.logs: 2462 it.Event = new(ERC20MintableMinterRemoved) 2463 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2464 it.fail = err 2465 return false 2466 } 2467 it.Event.Raw = log 2468 return true 2469 2470 case err := <-it.sub.Err(): 2471 it.done = true 2472 it.fail = err 2473 return it.Next() 2474 } 2475 } 2476 2477 // Error returns any retrieval or parsing error occurred during filtering. 2478 func (it *ERC20MintableMinterRemovedIterator) Error() error { 2479 return it.fail 2480 } 2481 2482 // Close terminates the iteration process, releasing any pending underlying 2483 // resources. 2484 func (it *ERC20MintableMinterRemovedIterator) Close() error { 2485 it.sub.Unsubscribe() 2486 return nil 2487 } 2488 2489 // ERC20MintableMinterRemoved represents a MinterRemoved event raised by the ERC20Mintable contract. 2490 type ERC20MintableMinterRemoved struct { 2491 Account common.Address 2492 Raw types.Log // Blockchain specific contextual infos 2493 } 2494 2495 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 2496 // 2497 // Solidity: event MinterRemoved(address indexed account) 2498 func (_ERC20Mintable *ERC20MintableFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ERC20MintableMinterRemovedIterator, error) { 2499 2500 var accountRule []interface{} 2501 for _, accountItem := range account { 2502 accountRule = append(accountRule, accountItem) 2503 } 2504 2505 logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "MinterRemoved", accountRule) 2506 if err != nil { 2507 return nil, err 2508 } 2509 return &ERC20MintableMinterRemovedIterator{contract: _ERC20Mintable.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 2510 } 2511 2512 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 2513 // 2514 // Solidity: event MinterRemoved(address indexed account) 2515 func (_ERC20Mintable *ERC20MintableFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ERC20MintableMinterRemoved, account []common.Address) (event.Subscription, error) { 2516 2517 var accountRule []interface{} 2518 for _, accountItem := range account { 2519 accountRule = append(accountRule, accountItem) 2520 } 2521 2522 logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "MinterRemoved", accountRule) 2523 if err != nil { 2524 return nil, err 2525 } 2526 return event.NewSubscription(func(quit <-chan struct{}) error { 2527 defer sub.Unsubscribe() 2528 for { 2529 select { 2530 case log := <-logs: 2531 // New log arrived, parse the event and forward to the user 2532 event := new(ERC20MintableMinterRemoved) 2533 if err := _ERC20Mintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 2534 return err 2535 } 2536 event.Raw = log 2537 2538 select { 2539 case sink <- event: 2540 case err := <-sub.Err(): 2541 return err 2542 case <-quit: 2543 return nil 2544 } 2545 case err := <-sub.Err(): 2546 return err 2547 case <-quit: 2548 return nil 2549 } 2550 } 2551 }), nil 2552 } 2553 2554 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 2555 // 2556 // Solidity: event MinterRemoved(address indexed account) 2557 func (_ERC20Mintable *ERC20MintableFilterer) ParseMinterRemoved(log types.Log) (*ERC20MintableMinterRemoved, error) { 2558 event := new(ERC20MintableMinterRemoved) 2559 if err := _ERC20Mintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 2560 return nil, err 2561 } 2562 return event, nil 2563 } 2564 2565 // 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. 2566 type ERC20MintableTransferIterator struct { 2567 Event *ERC20MintableTransfer // Event containing the contract specifics and raw log 2568 2569 contract *bind.BoundContract // Generic contract to use for unpacking event data 2570 event string // Event name to use for unpacking event data 2571 2572 logs chan types.Log // Log channel receiving the found contract events 2573 sub klaytn.Subscription // Subscription for errors, completion and termination 2574 done bool // Whether the subscription completed delivering logs 2575 fail error // Occurred error to stop iteration 2576 } 2577 2578 // Next advances the iterator to the subsequent event, returning whether there 2579 // are any more events found. In case of a retrieval or parsing error, false is 2580 // returned and Error() can be queried for the exact failure. 2581 func (it *ERC20MintableTransferIterator) Next() bool { 2582 // If the iterator failed, stop iterating 2583 if it.fail != nil { 2584 return false 2585 } 2586 // If the iterator completed, deliver directly whatever's available 2587 if it.done { 2588 select { 2589 case log := <-it.logs: 2590 it.Event = new(ERC20MintableTransfer) 2591 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2592 it.fail = err 2593 return false 2594 } 2595 it.Event.Raw = log 2596 return true 2597 2598 default: 2599 return false 2600 } 2601 } 2602 // Iterator still in progress, wait for either a data or an error event 2603 select { 2604 case log := <-it.logs: 2605 it.Event = new(ERC20MintableTransfer) 2606 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2607 it.fail = err 2608 return false 2609 } 2610 it.Event.Raw = log 2611 return true 2612 2613 case err := <-it.sub.Err(): 2614 it.done = true 2615 it.fail = err 2616 return it.Next() 2617 } 2618 } 2619 2620 // Error returns any retrieval or parsing error occurred during filtering. 2621 func (it *ERC20MintableTransferIterator) Error() error { 2622 return it.fail 2623 } 2624 2625 // Close terminates the iteration process, releasing any pending underlying 2626 // resources. 2627 func (it *ERC20MintableTransferIterator) Close() error { 2628 it.sub.Unsubscribe() 2629 return nil 2630 } 2631 2632 // ERC20MintableTransfer represents a Transfer event raised by the ERC20Mintable contract. 2633 type ERC20MintableTransfer struct { 2634 From common.Address 2635 To common.Address 2636 Value *big.Int 2637 Raw types.Log // Blockchain specific contextual infos 2638 } 2639 2640 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2641 // 2642 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 2643 func (_ERC20Mintable *ERC20MintableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20MintableTransferIterator, error) { 2644 2645 var fromRule []interface{} 2646 for _, fromItem := range from { 2647 fromRule = append(fromRule, fromItem) 2648 } 2649 var toRule []interface{} 2650 for _, toItem := range to { 2651 toRule = append(toRule, toItem) 2652 } 2653 2654 logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 2655 if err != nil { 2656 return nil, err 2657 } 2658 return &ERC20MintableTransferIterator{contract: _ERC20Mintable.contract, event: "Transfer", logs: logs, sub: sub}, nil 2659 } 2660 2661 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2662 // 2663 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 2664 func (_ERC20Mintable *ERC20MintableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20MintableTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 2665 2666 var fromRule []interface{} 2667 for _, fromItem := range from { 2668 fromRule = append(fromRule, fromItem) 2669 } 2670 var toRule []interface{} 2671 for _, toItem := range to { 2672 toRule = append(toRule, toItem) 2673 } 2674 2675 logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 2676 if err != nil { 2677 return nil, err 2678 } 2679 return event.NewSubscription(func(quit <-chan struct{}) error { 2680 defer sub.Unsubscribe() 2681 for { 2682 select { 2683 case log := <-logs: 2684 // New log arrived, parse the event and forward to the user 2685 event := new(ERC20MintableTransfer) 2686 if err := _ERC20Mintable.contract.UnpackLog(event, "Transfer", log); err != nil { 2687 return err 2688 } 2689 event.Raw = log 2690 2691 select { 2692 case sink <- event: 2693 case err := <-sub.Err(): 2694 return err 2695 case <-quit: 2696 return nil 2697 } 2698 case err := <-sub.Err(): 2699 return err 2700 case <-quit: 2701 return nil 2702 } 2703 } 2704 }), nil 2705 } 2706 2707 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 2708 // 2709 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 2710 func (_ERC20Mintable *ERC20MintableFilterer) ParseTransfer(log types.Log) (*ERC20MintableTransfer, error) { 2711 event := new(ERC20MintableTransfer) 2712 if err := _ERC20Mintable.contract.UnpackLog(event, "Transfer", log); err != nil { 2713 return nil, err 2714 } 2715 return event, nil 2716 } 2717 2718 // ERC20ServiceChainMetaData contains all meta data concerning the ERC20ServiceChain contract. 2719 var ERC20ServiceChainMetaData = &bind.MetaData{ 2720 ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_feeLimit\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestValueTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"setBridge\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"bridge\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]", 2721 Sigs: map[string]string{ 2722 "dd62ed3e": "allowance(address,address)", 2723 "095ea7b3": "approve(address,uint256)", 2724 "70a08231": "balanceOf(address)", 2725 "e78cea92": "bridge()", 2726 "a457c2d7": "decreaseAllowance(address,uint256)", 2727 "39509351": "increaseAllowance(address,uint256)", 2728 "8f32d59b": "isOwner()", 2729 "8da5cb5b": "owner()", 2730 "715018a6": "renounceOwnership()", 2731 "3dc3c9e1": "requestValueTransfer(uint256,address,uint256,bytes)", 2732 "8dd14802": "setBridge(address)", 2733 "18160ddd": "totalSupply()", 2734 "a9059cbb": "transfer(address,uint256)", 2735 "23b872dd": "transferFrom(address,address,uint256)", 2736 "f2fde38b": "transferOwnership(address)", 2737 }, 2738 } 2739 2740 // ERC20ServiceChainABI is the input ABI used to generate the binding from. 2741 // Deprecated: Use ERC20ServiceChainMetaData.ABI instead. 2742 var ERC20ServiceChainABI = ERC20ServiceChainMetaData.ABI 2743 2744 // ERC20ServiceChainBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 2745 const ERC20ServiceChainBinRuntime = `` 2746 2747 // ERC20ServiceChainFuncSigs maps the 4-byte function signature to its string representation. 2748 // Deprecated: Use ERC20ServiceChainMetaData.Sigs instead. 2749 var ERC20ServiceChainFuncSigs = ERC20ServiceChainMetaData.Sigs 2750 2751 // ERC20ServiceChain is an auto generated Go binding around a Klaytn contract. 2752 type ERC20ServiceChain struct { 2753 ERC20ServiceChainCaller // Read-only binding to the contract 2754 ERC20ServiceChainTransactor // Write-only binding to the contract 2755 ERC20ServiceChainFilterer // Log filterer for contract events 2756 } 2757 2758 // ERC20ServiceChainCaller is an auto generated read-only Go binding around a Klaytn contract. 2759 type ERC20ServiceChainCaller struct { 2760 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2761 } 2762 2763 // ERC20ServiceChainTransactor is an auto generated write-only Go binding around a Klaytn contract. 2764 type ERC20ServiceChainTransactor struct { 2765 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2766 } 2767 2768 // ERC20ServiceChainFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 2769 type ERC20ServiceChainFilterer struct { 2770 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2771 } 2772 2773 // ERC20ServiceChainSession is an auto generated Go binding around a Klaytn contract, 2774 // with pre-set call and transact options. 2775 type ERC20ServiceChainSession struct { 2776 Contract *ERC20ServiceChain // Generic contract binding to set the session for 2777 CallOpts bind.CallOpts // Call options to use throughout this session 2778 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2779 } 2780 2781 // ERC20ServiceChainCallerSession is an auto generated read-only Go binding around a Klaytn contract, 2782 // with pre-set call options. 2783 type ERC20ServiceChainCallerSession struct { 2784 Contract *ERC20ServiceChainCaller // Generic contract caller binding to set the session for 2785 CallOpts bind.CallOpts // Call options to use throughout this session 2786 } 2787 2788 // ERC20ServiceChainTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 2789 // with pre-set transact options. 2790 type ERC20ServiceChainTransactorSession struct { 2791 Contract *ERC20ServiceChainTransactor // Generic contract transactor binding to set the session for 2792 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2793 } 2794 2795 // ERC20ServiceChainRaw is an auto generated low-level Go binding around a Klaytn contract. 2796 type ERC20ServiceChainRaw struct { 2797 Contract *ERC20ServiceChain // Generic contract binding to access the raw methods on 2798 } 2799 2800 // ERC20ServiceChainCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 2801 type ERC20ServiceChainCallerRaw struct { 2802 Contract *ERC20ServiceChainCaller // Generic read-only contract binding to access the raw methods on 2803 } 2804 2805 // ERC20ServiceChainTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 2806 type ERC20ServiceChainTransactorRaw struct { 2807 Contract *ERC20ServiceChainTransactor // Generic write-only contract binding to access the raw methods on 2808 } 2809 2810 // NewERC20ServiceChain creates a new instance of ERC20ServiceChain, bound to a specific deployed contract. 2811 func NewERC20ServiceChain(address common.Address, backend bind.ContractBackend) (*ERC20ServiceChain, error) { 2812 contract, err := bindERC20ServiceChain(address, backend, backend, backend) 2813 if err != nil { 2814 return nil, err 2815 } 2816 return &ERC20ServiceChain{ERC20ServiceChainCaller: ERC20ServiceChainCaller{contract: contract}, ERC20ServiceChainTransactor: ERC20ServiceChainTransactor{contract: contract}, ERC20ServiceChainFilterer: ERC20ServiceChainFilterer{contract: contract}}, nil 2817 } 2818 2819 // NewERC20ServiceChainCaller creates a new read-only instance of ERC20ServiceChain, bound to a specific deployed contract. 2820 func NewERC20ServiceChainCaller(address common.Address, caller bind.ContractCaller) (*ERC20ServiceChainCaller, error) { 2821 contract, err := bindERC20ServiceChain(address, caller, nil, nil) 2822 if err != nil { 2823 return nil, err 2824 } 2825 return &ERC20ServiceChainCaller{contract: contract}, nil 2826 } 2827 2828 // NewERC20ServiceChainTransactor creates a new write-only instance of ERC20ServiceChain, bound to a specific deployed contract. 2829 func NewERC20ServiceChainTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20ServiceChainTransactor, error) { 2830 contract, err := bindERC20ServiceChain(address, nil, transactor, nil) 2831 if err != nil { 2832 return nil, err 2833 } 2834 return &ERC20ServiceChainTransactor{contract: contract}, nil 2835 } 2836 2837 // NewERC20ServiceChainFilterer creates a new log filterer instance of ERC20ServiceChain, bound to a specific deployed contract. 2838 func NewERC20ServiceChainFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20ServiceChainFilterer, error) { 2839 contract, err := bindERC20ServiceChain(address, nil, nil, filterer) 2840 if err != nil { 2841 return nil, err 2842 } 2843 return &ERC20ServiceChainFilterer{contract: contract}, nil 2844 } 2845 2846 // bindERC20ServiceChain binds a generic wrapper to an already deployed contract. 2847 func bindERC20ServiceChain(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2848 parsed, err := ERC20ServiceChainMetaData.GetAbi() 2849 if err != nil { 2850 return nil, err 2851 } 2852 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 2853 } 2854 2855 // Call invokes the (constant) contract method with params as input values and 2856 // sets the output to result. The result type might be a single field for simple 2857 // returns, a slice of interfaces for anonymous returns and a struct for named 2858 // returns. 2859 func (_ERC20ServiceChain *ERC20ServiceChainRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2860 return _ERC20ServiceChain.Contract.ERC20ServiceChainCaller.contract.Call(opts, result, method, params...) 2861 } 2862 2863 // Transfer initiates a plain transaction to move funds to the contract, calling 2864 // its default method if one is available. 2865 func (_ERC20ServiceChain *ERC20ServiceChainRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2866 return _ERC20ServiceChain.Contract.ERC20ServiceChainTransactor.contract.Transfer(opts) 2867 } 2868 2869 // Transact invokes the (paid) contract method with params as input values. 2870 func (_ERC20ServiceChain *ERC20ServiceChainRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2871 return _ERC20ServiceChain.Contract.ERC20ServiceChainTransactor.contract.Transact(opts, method, params...) 2872 } 2873 2874 // Call invokes the (constant) contract method with params as input values and 2875 // sets the output to result. The result type might be a single field for simple 2876 // returns, a slice of interfaces for anonymous returns and a struct for named 2877 // returns. 2878 func (_ERC20ServiceChain *ERC20ServiceChainCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2879 return _ERC20ServiceChain.Contract.contract.Call(opts, result, method, params...) 2880 } 2881 2882 // Transfer initiates a plain transaction to move funds to the contract, calling 2883 // its default method if one is available. 2884 func (_ERC20ServiceChain *ERC20ServiceChainTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2885 return _ERC20ServiceChain.Contract.contract.Transfer(opts) 2886 } 2887 2888 // Transact invokes the (paid) contract method with params as input values. 2889 func (_ERC20ServiceChain *ERC20ServiceChainTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2890 return _ERC20ServiceChain.Contract.contract.Transact(opts, method, params...) 2891 } 2892 2893 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2894 // 2895 // Solidity: function allowance(address owner, address spender) view returns(uint256) 2896 func (_ERC20ServiceChain *ERC20ServiceChainCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 2897 var out []interface{} 2898 err := _ERC20ServiceChain.contract.Call(opts, &out, "allowance", owner, spender) 2899 2900 if err != nil { 2901 return *new(*big.Int), err 2902 } 2903 2904 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2905 2906 return out0, err 2907 2908 } 2909 2910 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2911 // 2912 // Solidity: function allowance(address owner, address spender) view returns(uint256) 2913 func (_ERC20ServiceChain *ERC20ServiceChainSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 2914 return _ERC20ServiceChain.Contract.Allowance(&_ERC20ServiceChain.CallOpts, owner, spender) 2915 } 2916 2917 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2918 // 2919 // Solidity: function allowance(address owner, address spender) view returns(uint256) 2920 func (_ERC20ServiceChain *ERC20ServiceChainCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 2921 return _ERC20ServiceChain.Contract.Allowance(&_ERC20ServiceChain.CallOpts, owner, spender) 2922 } 2923 2924 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2925 // 2926 // Solidity: function balanceOf(address account) view returns(uint256) 2927 func (_ERC20ServiceChain *ERC20ServiceChainCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 2928 var out []interface{} 2929 err := _ERC20ServiceChain.contract.Call(opts, &out, "balanceOf", account) 2930 2931 if err != nil { 2932 return *new(*big.Int), err 2933 } 2934 2935 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2936 2937 return out0, err 2938 2939 } 2940 2941 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2942 // 2943 // Solidity: function balanceOf(address account) view returns(uint256) 2944 func (_ERC20ServiceChain *ERC20ServiceChainSession) BalanceOf(account common.Address) (*big.Int, error) { 2945 return _ERC20ServiceChain.Contract.BalanceOf(&_ERC20ServiceChain.CallOpts, account) 2946 } 2947 2948 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2949 // 2950 // Solidity: function balanceOf(address account) view returns(uint256) 2951 func (_ERC20ServiceChain *ERC20ServiceChainCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 2952 return _ERC20ServiceChain.Contract.BalanceOf(&_ERC20ServiceChain.CallOpts, account) 2953 } 2954 2955 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 2956 // 2957 // Solidity: function bridge() view returns(address) 2958 func (_ERC20ServiceChain *ERC20ServiceChainCaller) Bridge(opts *bind.CallOpts) (common.Address, error) { 2959 var out []interface{} 2960 err := _ERC20ServiceChain.contract.Call(opts, &out, "bridge") 2961 2962 if err != nil { 2963 return *new(common.Address), err 2964 } 2965 2966 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2967 2968 return out0, err 2969 2970 } 2971 2972 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 2973 // 2974 // Solidity: function bridge() view returns(address) 2975 func (_ERC20ServiceChain *ERC20ServiceChainSession) Bridge() (common.Address, error) { 2976 return _ERC20ServiceChain.Contract.Bridge(&_ERC20ServiceChain.CallOpts) 2977 } 2978 2979 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 2980 // 2981 // Solidity: function bridge() view returns(address) 2982 func (_ERC20ServiceChain *ERC20ServiceChainCallerSession) Bridge() (common.Address, error) { 2983 return _ERC20ServiceChain.Contract.Bridge(&_ERC20ServiceChain.CallOpts) 2984 } 2985 2986 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 2987 // 2988 // Solidity: function isOwner() view returns(bool) 2989 func (_ERC20ServiceChain *ERC20ServiceChainCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 2990 var out []interface{} 2991 err := _ERC20ServiceChain.contract.Call(opts, &out, "isOwner") 2992 2993 if err != nil { 2994 return *new(bool), err 2995 } 2996 2997 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 2998 2999 return out0, err 3000 3001 } 3002 3003 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 3004 // 3005 // Solidity: function isOwner() view returns(bool) 3006 func (_ERC20ServiceChain *ERC20ServiceChainSession) IsOwner() (bool, error) { 3007 return _ERC20ServiceChain.Contract.IsOwner(&_ERC20ServiceChain.CallOpts) 3008 } 3009 3010 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 3011 // 3012 // Solidity: function isOwner() view returns(bool) 3013 func (_ERC20ServiceChain *ERC20ServiceChainCallerSession) IsOwner() (bool, error) { 3014 return _ERC20ServiceChain.Contract.IsOwner(&_ERC20ServiceChain.CallOpts) 3015 } 3016 3017 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 3018 // 3019 // Solidity: function owner() view returns(address) 3020 func (_ERC20ServiceChain *ERC20ServiceChainCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 3021 var out []interface{} 3022 err := _ERC20ServiceChain.contract.Call(opts, &out, "owner") 3023 3024 if err != nil { 3025 return *new(common.Address), err 3026 } 3027 3028 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 3029 3030 return out0, err 3031 3032 } 3033 3034 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 3035 // 3036 // Solidity: function owner() view returns(address) 3037 func (_ERC20ServiceChain *ERC20ServiceChainSession) Owner() (common.Address, error) { 3038 return _ERC20ServiceChain.Contract.Owner(&_ERC20ServiceChain.CallOpts) 3039 } 3040 3041 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 3042 // 3043 // Solidity: function owner() view returns(address) 3044 func (_ERC20ServiceChain *ERC20ServiceChainCallerSession) Owner() (common.Address, error) { 3045 return _ERC20ServiceChain.Contract.Owner(&_ERC20ServiceChain.CallOpts) 3046 } 3047 3048 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3049 // 3050 // Solidity: function totalSupply() view returns(uint256) 3051 func (_ERC20ServiceChain *ERC20ServiceChainCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 3052 var out []interface{} 3053 err := _ERC20ServiceChain.contract.Call(opts, &out, "totalSupply") 3054 3055 if err != nil { 3056 return *new(*big.Int), err 3057 } 3058 3059 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3060 3061 return out0, err 3062 3063 } 3064 3065 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3066 // 3067 // Solidity: function totalSupply() view returns(uint256) 3068 func (_ERC20ServiceChain *ERC20ServiceChainSession) TotalSupply() (*big.Int, error) { 3069 return _ERC20ServiceChain.Contract.TotalSupply(&_ERC20ServiceChain.CallOpts) 3070 } 3071 3072 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3073 // 3074 // Solidity: function totalSupply() view returns(uint256) 3075 func (_ERC20ServiceChain *ERC20ServiceChainCallerSession) TotalSupply() (*big.Int, error) { 3076 return _ERC20ServiceChain.Contract.TotalSupply(&_ERC20ServiceChain.CallOpts) 3077 } 3078 3079 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3080 // 3081 // Solidity: function approve(address spender, uint256 value) returns(bool) 3082 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 3083 return _ERC20ServiceChain.contract.Transact(opts, "approve", spender, value) 3084 } 3085 3086 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3087 // 3088 // Solidity: function approve(address spender, uint256 value) returns(bool) 3089 func (_ERC20ServiceChain *ERC20ServiceChainSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 3090 return _ERC20ServiceChain.Contract.Approve(&_ERC20ServiceChain.TransactOpts, spender, value) 3091 } 3092 3093 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3094 // 3095 // Solidity: function approve(address spender, uint256 value) returns(bool) 3096 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 3097 return _ERC20ServiceChain.Contract.Approve(&_ERC20ServiceChain.TransactOpts, spender, value) 3098 } 3099 3100 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 3101 // 3102 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 3103 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 3104 return _ERC20ServiceChain.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 3105 } 3106 3107 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 3108 // 3109 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 3110 func (_ERC20ServiceChain *ERC20ServiceChainSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 3111 return _ERC20ServiceChain.Contract.DecreaseAllowance(&_ERC20ServiceChain.TransactOpts, spender, subtractedValue) 3112 } 3113 3114 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 3115 // 3116 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 3117 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 3118 return _ERC20ServiceChain.Contract.DecreaseAllowance(&_ERC20ServiceChain.TransactOpts, spender, subtractedValue) 3119 } 3120 3121 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 3122 // 3123 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 3124 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 3125 return _ERC20ServiceChain.contract.Transact(opts, "increaseAllowance", spender, addedValue) 3126 } 3127 3128 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 3129 // 3130 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 3131 func (_ERC20ServiceChain *ERC20ServiceChainSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 3132 return _ERC20ServiceChain.Contract.IncreaseAllowance(&_ERC20ServiceChain.TransactOpts, spender, addedValue) 3133 } 3134 3135 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 3136 // 3137 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 3138 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 3139 return _ERC20ServiceChain.Contract.IncreaseAllowance(&_ERC20ServiceChain.TransactOpts, spender, addedValue) 3140 } 3141 3142 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 3143 // 3144 // Solidity: function renounceOwnership() returns() 3145 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 3146 return _ERC20ServiceChain.contract.Transact(opts, "renounceOwnership") 3147 } 3148 3149 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 3150 // 3151 // Solidity: function renounceOwnership() returns() 3152 func (_ERC20ServiceChain *ERC20ServiceChainSession) RenounceOwnership() (*types.Transaction, error) { 3153 return _ERC20ServiceChain.Contract.RenounceOwnership(&_ERC20ServiceChain.TransactOpts) 3154 } 3155 3156 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 3157 // 3158 // Solidity: function renounceOwnership() returns() 3159 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) RenounceOwnership() (*types.Transaction, error) { 3160 return _ERC20ServiceChain.Contract.RenounceOwnership(&_ERC20ServiceChain.TransactOpts) 3161 } 3162 3163 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3dc3c9e1. 3164 // 3165 // Solidity: function requestValueTransfer(uint256 _amount, address _to, uint256 _feeLimit, bytes _extraData) returns() 3166 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) RequestValueTransfer(opts *bind.TransactOpts, _amount *big.Int, _to common.Address, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 3167 return _ERC20ServiceChain.contract.Transact(opts, "requestValueTransfer", _amount, _to, _feeLimit, _extraData) 3168 } 3169 3170 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3dc3c9e1. 3171 // 3172 // Solidity: function requestValueTransfer(uint256 _amount, address _to, uint256 _feeLimit, bytes _extraData) returns() 3173 func (_ERC20ServiceChain *ERC20ServiceChainSession) RequestValueTransfer(_amount *big.Int, _to common.Address, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 3174 return _ERC20ServiceChain.Contract.RequestValueTransfer(&_ERC20ServiceChain.TransactOpts, _amount, _to, _feeLimit, _extraData) 3175 } 3176 3177 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3dc3c9e1. 3178 // 3179 // Solidity: function requestValueTransfer(uint256 _amount, address _to, uint256 _feeLimit, bytes _extraData) returns() 3180 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) RequestValueTransfer(_amount *big.Int, _to common.Address, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 3181 return _ERC20ServiceChain.Contract.RequestValueTransfer(&_ERC20ServiceChain.TransactOpts, _amount, _to, _feeLimit, _extraData) 3182 } 3183 3184 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 3185 // 3186 // Solidity: function setBridge(address _bridge) returns() 3187 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) SetBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { 3188 return _ERC20ServiceChain.contract.Transact(opts, "setBridge", _bridge) 3189 } 3190 3191 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 3192 // 3193 // Solidity: function setBridge(address _bridge) returns() 3194 func (_ERC20ServiceChain *ERC20ServiceChainSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 3195 return _ERC20ServiceChain.Contract.SetBridge(&_ERC20ServiceChain.TransactOpts, _bridge) 3196 } 3197 3198 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 3199 // 3200 // Solidity: function setBridge(address _bridge) returns() 3201 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 3202 return _ERC20ServiceChain.Contract.SetBridge(&_ERC20ServiceChain.TransactOpts, _bridge) 3203 } 3204 3205 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3206 // 3207 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3208 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3209 return _ERC20ServiceChain.contract.Transact(opts, "transfer", recipient, amount) 3210 } 3211 3212 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3213 // 3214 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3215 func (_ERC20ServiceChain *ERC20ServiceChainSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3216 return _ERC20ServiceChain.Contract.Transfer(&_ERC20ServiceChain.TransactOpts, recipient, amount) 3217 } 3218 3219 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3220 // 3221 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 3222 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3223 return _ERC20ServiceChain.Contract.Transfer(&_ERC20ServiceChain.TransactOpts, recipient, amount) 3224 } 3225 3226 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3227 // 3228 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3229 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3230 return _ERC20ServiceChain.contract.Transact(opts, "transferFrom", sender, recipient, amount) 3231 } 3232 3233 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3234 // 3235 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3236 func (_ERC20ServiceChain *ERC20ServiceChainSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3237 return _ERC20ServiceChain.Contract.TransferFrom(&_ERC20ServiceChain.TransactOpts, sender, recipient, amount) 3238 } 3239 3240 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3241 // 3242 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 3243 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 3244 return _ERC20ServiceChain.Contract.TransferFrom(&_ERC20ServiceChain.TransactOpts, sender, recipient, amount) 3245 } 3246 3247 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 3248 // 3249 // Solidity: function transferOwnership(address newOwner) returns() 3250 func (_ERC20ServiceChain *ERC20ServiceChainTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 3251 return _ERC20ServiceChain.contract.Transact(opts, "transferOwnership", newOwner) 3252 } 3253 3254 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 3255 // 3256 // Solidity: function transferOwnership(address newOwner) returns() 3257 func (_ERC20ServiceChain *ERC20ServiceChainSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 3258 return _ERC20ServiceChain.Contract.TransferOwnership(&_ERC20ServiceChain.TransactOpts, newOwner) 3259 } 3260 3261 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 3262 // 3263 // Solidity: function transferOwnership(address newOwner) returns() 3264 func (_ERC20ServiceChain *ERC20ServiceChainTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 3265 return _ERC20ServiceChain.Contract.TransferOwnership(&_ERC20ServiceChain.TransactOpts, newOwner) 3266 } 3267 3268 // ERC20ServiceChainApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC20ServiceChain contract. 3269 type ERC20ServiceChainApprovalIterator struct { 3270 Event *ERC20ServiceChainApproval // Event containing the contract specifics and raw log 3271 3272 contract *bind.BoundContract // Generic contract to use for unpacking event data 3273 event string // Event name to use for unpacking event data 3274 3275 logs chan types.Log // Log channel receiving the found contract events 3276 sub klaytn.Subscription // Subscription for errors, completion and termination 3277 done bool // Whether the subscription completed delivering logs 3278 fail error // Occurred error to stop iteration 3279 } 3280 3281 // Next advances the iterator to the subsequent event, returning whether there 3282 // are any more events found. In case of a retrieval or parsing error, false is 3283 // returned and Error() can be queried for the exact failure. 3284 func (it *ERC20ServiceChainApprovalIterator) Next() bool { 3285 // If the iterator failed, stop iterating 3286 if it.fail != nil { 3287 return false 3288 } 3289 // If the iterator completed, deliver directly whatever's available 3290 if it.done { 3291 select { 3292 case log := <-it.logs: 3293 it.Event = new(ERC20ServiceChainApproval) 3294 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3295 it.fail = err 3296 return false 3297 } 3298 it.Event.Raw = log 3299 return true 3300 3301 default: 3302 return false 3303 } 3304 } 3305 // Iterator still in progress, wait for either a data or an error event 3306 select { 3307 case log := <-it.logs: 3308 it.Event = new(ERC20ServiceChainApproval) 3309 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3310 it.fail = err 3311 return false 3312 } 3313 it.Event.Raw = log 3314 return true 3315 3316 case err := <-it.sub.Err(): 3317 it.done = true 3318 it.fail = err 3319 return it.Next() 3320 } 3321 } 3322 3323 // Error returns any retrieval or parsing error occurred during filtering. 3324 func (it *ERC20ServiceChainApprovalIterator) Error() error { 3325 return it.fail 3326 } 3327 3328 // Close terminates the iteration process, releasing any pending underlying 3329 // resources. 3330 func (it *ERC20ServiceChainApprovalIterator) Close() error { 3331 it.sub.Unsubscribe() 3332 return nil 3333 } 3334 3335 // ERC20ServiceChainApproval represents a Approval event raised by the ERC20ServiceChain contract. 3336 type ERC20ServiceChainApproval struct { 3337 Owner common.Address 3338 Spender common.Address 3339 Value *big.Int 3340 Raw types.Log // Blockchain specific contextual infos 3341 } 3342 3343 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3344 // 3345 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3346 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20ServiceChainApprovalIterator, error) { 3347 3348 var ownerRule []interface{} 3349 for _, ownerItem := range owner { 3350 ownerRule = append(ownerRule, ownerItem) 3351 } 3352 var spenderRule []interface{} 3353 for _, spenderItem := range spender { 3354 spenderRule = append(spenderRule, spenderItem) 3355 } 3356 3357 logs, sub, err := _ERC20ServiceChain.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 3358 if err != nil { 3359 return nil, err 3360 } 3361 return &ERC20ServiceChainApprovalIterator{contract: _ERC20ServiceChain.contract, event: "Approval", logs: logs, sub: sub}, nil 3362 } 3363 3364 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3365 // 3366 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3367 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20ServiceChainApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 3368 3369 var ownerRule []interface{} 3370 for _, ownerItem := range owner { 3371 ownerRule = append(ownerRule, ownerItem) 3372 } 3373 var spenderRule []interface{} 3374 for _, spenderItem := range spender { 3375 spenderRule = append(spenderRule, spenderItem) 3376 } 3377 3378 logs, sub, err := _ERC20ServiceChain.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 3379 if err != nil { 3380 return nil, err 3381 } 3382 return event.NewSubscription(func(quit <-chan struct{}) error { 3383 defer sub.Unsubscribe() 3384 for { 3385 select { 3386 case log := <-logs: 3387 // New log arrived, parse the event and forward to the user 3388 event := new(ERC20ServiceChainApproval) 3389 if err := _ERC20ServiceChain.contract.UnpackLog(event, "Approval", log); err != nil { 3390 return err 3391 } 3392 event.Raw = log 3393 3394 select { 3395 case sink <- event: 3396 case err := <-sub.Err(): 3397 return err 3398 case <-quit: 3399 return nil 3400 } 3401 case err := <-sub.Err(): 3402 return err 3403 case <-quit: 3404 return nil 3405 } 3406 } 3407 }), nil 3408 } 3409 3410 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3411 // 3412 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3413 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) ParseApproval(log types.Log) (*ERC20ServiceChainApproval, error) { 3414 event := new(ERC20ServiceChainApproval) 3415 if err := _ERC20ServiceChain.contract.UnpackLog(event, "Approval", log); err != nil { 3416 return nil, err 3417 } 3418 return event, nil 3419 } 3420 3421 // ERC20ServiceChainOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the ERC20ServiceChain contract. 3422 type ERC20ServiceChainOwnershipTransferredIterator struct { 3423 Event *ERC20ServiceChainOwnershipTransferred // Event containing the contract specifics and raw log 3424 3425 contract *bind.BoundContract // Generic contract to use for unpacking event data 3426 event string // Event name to use for unpacking event data 3427 3428 logs chan types.Log // Log channel receiving the found contract events 3429 sub klaytn.Subscription // Subscription for errors, completion and termination 3430 done bool // Whether the subscription completed delivering logs 3431 fail error // Occurred error to stop iteration 3432 } 3433 3434 // Next advances the iterator to the subsequent event, returning whether there 3435 // are any more events found. In case of a retrieval or parsing error, false is 3436 // returned and Error() can be queried for the exact failure. 3437 func (it *ERC20ServiceChainOwnershipTransferredIterator) Next() bool { 3438 // If the iterator failed, stop iterating 3439 if it.fail != nil { 3440 return false 3441 } 3442 // If the iterator completed, deliver directly whatever's available 3443 if it.done { 3444 select { 3445 case log := <-it.logs: 3446 it.Event = new(ERC20ServiceChainOwnershipTransferred) 3447 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3448 it.fail = err 3449 return false 3450 } 3451 it.Event.Raw = log 3452 return true 3453 3454 default: 3455 return false 3456 } 3457 } 3458 // Iterator still in progress, wait for either a data or an error event 3459 select { 3460 case log := <-it.logs: 3461 it.Event = new(ERC20ServiceChainOwnershipTransferred) 3462 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3463 it.fail = err 3464 return false 3465 } 3466 it.Event.Raw = log 3467 return true 3468 3469 case err := <-it.sub.Err(): 3470 it.done = true 3471 it.fail = err 3472 return it.Next() 3473 } 3474 } 3475 3476 // Error returns any retrieval or parsing error occurred during filtering. 3477 func (it *ERC20ServiceChainOwnershipTransferredIterator) Error() error { 3478 return it.fail 3479 } 3480 3481 // Close terminates the iteration process, releasing any pending underlying 3482 // resources. 3483 func (it *ERC20ServiceChainOwnershipTransferredIterator) Close() error { 3484 it.sub.Unsubscribe() 3485 return nil 3486 } 3487 3488 // ERC20ServiceChainOwnershipTransferred represents a OwnershipTransferred event raised by the ERC20ServiceChain contract. 3489 type ERC20ServiceChainOwnershipTransferred struct { 3490 PreviousOwner common.Address 3491 NewOwner common.Address 3492 Raw types.Log // Blockchain specific contextual infos 3493 } 3494 3495 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 3496 // 3497 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 3498 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ERC20ServiceChainOwnershipTransferredIterator, error) { 3499 3500 var previousOwnerRule []interface{} 3501 for _, previousOwnerItem := range previousOwner { 3502 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 3503 } 3504 var newOwnerRule []interface{} 3505 for _, newOwnerItem := range newOwner { 3506 newOwnerRule = append(newOwnerRule, newOwnerItem) 3507 } 3508 3509 logs, sub, err := _ERC20ServiceChain.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 3510 if err != nil { 3511 return nil, err 3512 } 3513 return &ERC20ServiceChainOwnershipTransferredIterator{contract: _ERC20ServiceChain.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 3514 } 3515 3516 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 3517 // 3518 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 3519 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ERC20ServiceChainOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 3520 3521 var previousOwnerRule []interface{} 3522 for _, previousOwnerItem := range previousOwner { 3523 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 3524 } 3525 var newOwnerRule []interface{} 3526 for _, newOwnerItem := range newOwner { 3527 newOwnerRule = append(newOwnerRule, newOwnerItem) 3528 } 3529 3530 logs, sub, err := _ERC20ServiceChain.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 3531 if err != nil { 3532 return nil, err 3533 } 3534 return event.NewSubscription(func(quit <-chan struct{}) error { 3535 defer sub.Unsubscribe() 3536 for { 3537 select { 3538 case log := <-logs: 3539 // New log arrived, parse the event and forward to the user 3540 event := new(ERC20ServiceChainOwnershipTransferred) 3541 if err := _ERC20ServiceChain.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 3542 return err 3543 } 3544 event.Raw = log 3545 3546 select { 3547 case sink <- event: 3548 case err := <-sub.Err(): 3549 return err 3550 case <-quit: 3551 return nil 3552 } 3553 case err := <-sub.Err(): 3554 return err 3555 case <-quit: 3556 return nil 3557 } 3558 } 3559 }), nil 3560 } 3561 3562 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 3563 // 3564 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 3565 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) ParseOwnershipTransferred(log types.Log) (*ERC20ServiceChainOwnershipTransferred, error) { 3566 event := new(ERC20ServiceChainOwnershipTransferred) 3567 if err := _ERC20ServiceChain.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 3568 return nil, err 3569 } 3570 return event, nil 3571 } 3572 3573 // ERC20ServiceChainTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC20ServiceChain contract. 3574 type ERC20ServiceChainTransferIterator struct { 3575 Event *ERC20ServiceChainTransfer // Event containing the contract specifics and raw log 3576 3577 contract *bind.BoundContract // Generic contract to use for unpacking event data 3578 event string // Event name to use for unpacking event data 3579 3580 logs chan types.Log // Log channel receiving the found contract events 3581 sub klaytn.Subscription // Subscription for errors, completion and termination 3582 done bool // Whether the subscription completed delivering logs 3583 fail error // Occurred error to stop iteration 3584 } 3585 3586 // Next advances the iterator to the subsequent event, returning whether there 3587 // are any more events found. In case of a retrieval or parsing error, false is 3588 // returned and Error() can be queried for the exact failure. 3589 func (it *ERC20ServiceChainTransferIterator) Next() bool { 3590 // If the iterator failed, stop iterating 3591 if it.fail != nil { 3592 return false 3593 } 3594 // If the iterator completed, deliver directly whatever's available 3595 if it.done { 3596 select { 3597 case log := <-it.logs: 3598 it.Event = new(ERC20ServiceChainTransfer) 3599 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3600 it.fail = err 3601 return false 3602 } 3603 it.Event.Raw = log 3604 return true 3605 3606 default: 3607 return false 3608 } 3609 } 3610 // Iterator still in progress, wait for either a data or an error event 3611 select { 3612 case log := <-it.logs: 3613 it.Event = new(ERC20ServiceChainTransfer) 3614 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3615 it.fail = err 3616 return false 3617 } 3618 it.Event.Raw = log 3619 return true 3620 3621 case err := <-it.sub.Err(): 3622 it.done = true 3623 it.fail = err 3624 return it.Next() 3625 } 3626 } 3627 3628 // Error returns any retrieval or parsing error occurred during filtering. 3629 func (it *ERC20ServiceChainTransferIterator) Error() error { 3630 return it.fail 3631 } 3632 3633 // Close terminates the iteration process, releasing any pending underlying 3634 // resources. 3635 func (it *ERC20ServiceChainTransferIterator) Close() error { 3636 it.sub.Unsubscribe() 3637 return nil 3638 } 3639 3640 // ERC20ServiceChainTransfer represents a Transfer event raised by the ERC20ServiceChain contract. 3641 type ERC20ServiceChainTransfer struct { 3642 From common.Address 3643 To common.Address 3644 Value *big.Int 3645 Raw types.Log // Blockchain specific contextual infos 3646 } 3647 3648 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3649 // 3650 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 3651 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20ServiceChainTransferIterator, error) { 3652 3653 var fromRule []interface{} 3654 for _, fromItem := range from { 3655 fromRule = append(fromRule, fromItem) 3656 } 3657 var toRule []interface{} 3658 for _, toItem := range to { 3659 toRule = append(toRule, toItem) 3660 } 3661 3662 logs, sub, err := _ERC20ServiceChain.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 3663 if err != nil { 3664 return nil, err 3665 } 3666 return &ERC20ServiceChainTransferIterator{contract: _ERC20ServiceChain.contract, event: "Transfer", logs: logs, sub: sub}, nil 3667 } 3668 3669 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3670 // 3671 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 3672 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20ServiceChainTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 3673 3674 var fromRule []interface{} 3675 for _, fromItem := range from { 3676 fromRule = append(fromRule, fromItem) 3677 } 3678 var toRule []interface{} 3679 for _, toItem := range to { 3680 toRule = append(toRule, toItem) 3681 } 3682 3683 logs, sub, err := _ERC20ServiceChain.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 3684 if err != nil { 3685 return nil, err 3686 } 3687 return event.NewSubscription(func(quit <-chan struct{}) error { 3688 defer sub.Unsubscribe() 3689 for { 3690 select { 3691 case log := <-logs: 3692 // New log arrived, parse the event and forward to the user 3693 event := new(ERC20ServiceChainTransfer) 3694 if err := _ERC20ServiceChain.contract.UnpackLog(event, "Transfer", log); err != nil { 3695 return err 3696 } 3697 event.Raw = log 3698 3699 select { 3700 case sink <- event: 3701 case err := <-sub.Err(): 3702 return err 3703 case <-quit: 3704 return nil 3705 } 3706 case err := <-sub.Err(): 3707 return err 3708 case <-quit: 3709 return nil 3710 } 3711 } 3712 }), nil 3713 } 3714 3715 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 3716 // 3717 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 3718 func (_ERC20ServiceChain *ERC20ServiceChainFilterer) ParseTransfer(log types.Log) (*ERC20ServiceChainTransfer, error) { 3719 event := new(ERC20ServiceChainTransfer) 3720 if err := _ERC20ServiceChain.contract.UnpackLog(event, "Transfer", log); err != nil { 3721 return nil, err 3722 } 3723 return event, nil 3724 } 3725 3726 // IERC20MetaData contains all meta data concerning the IERC20 contract. 3727 var IERC20MetaData = &bind.MetaData{ 3728 ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]", 3729 Sigs: map[string]string{ 3730 "dd62ed3e": "allowance(address,address)", 3731 "095ea7b3": "approve(address,uint256)", 3732 "70a08231": "balanceOf(address)", 3733 "18160ddd": "totalSupply()", 3734 "a9059cbb": "transfer(address,uint256)", 3735 "23b872dd": "transferFrom(address,address,uint256)", 3736 }, 3737 } 3738 3739 // IERC20ABI is the input ABI used to generate the binding from. 3740 // Deprecated: Use IERC20MetaData.ABI instead. 3741 var IERC20ABI = IERC20MetaData.ABI 3742 3743 // IERC20BinRuntime is the compiled bytecode used for adding genesis block without deploying code. 3744 const IERC20BinRuntime = `` 3745 3746 // IERC20FuncSigs maps the 4-byte function signature to its string representation. 3747 // Deprecated: Use IERC20MetaData.Sigs instead. 3748 var IERC20FuncSigs = IERC20MetaData.Sigs 3749 3750 // IERC20 is an auto generated Go binding around a Klaytn contract. 3751 type IERC20 struct { 3752 IERC20Caller // Read-only binding to the contract 3753 IERC20Transactor // Write-only binding to the contract 3754 IERC20Filterer // Log filterer for contract events 3755 } 3756 3757 // IERC20Caller is an auto generated read-only Go binding around a Klaytn contract. 3758 type IERC20Caller struct { 3759 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3760 } 3761 3762 // IERC20Transactor is an auto generated write-only Go binding around a Klaytn contract. 3763 type IERC20Transactor struct { 3764 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3765 } 3766 3767 // IERC20Filterer is an auto generated log filtering Go binding around a Klaytn contract events. 3768 type IERC20Filterer struct { 3769 contract *bind.BoundContract // Generic contract wrapper for the low level calls 3770 } 3771 3772 // IERC20Session is an auto generated Go binding around a Klaytn contract, 3773 // with pre-set call and transact options. 3774 type IERC20Session struct { 3775 Contract *IERC20 // Generic contract binding to set the session for 3776 CallOpts bind.CallOpts // Call options to use throughout this session 3777 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3778 } 3779 3780 // IERC20CallerSession is an auto generated read-only Go binding around a Klaytn contract, 3781 // with pre-set call options. 3782 type IERC20CallerSession struct { 3783 Contract *IERC20Caller // Generic contract caller binding to set the session for 3784 CallOpts bind.CallOpts // Call options to use throughout this session 3785 } 3786 3787 // IERC20TransactorSession is an auto generated write-only Go binding around a Klaytn contract, 3788 // with pre-set transact options. 3789 type IERC20TransactorSession struct { 3790 Contract *IERC20Transactor // Generic contract transactor binding to set the session for 3791 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 3792 } 3793 3794 // IERC20Raw is an auto generated low-level Go binding around a Klaytn contract. 3795 type IERC20Raw struct { 3796 Contract *IERC20 // Generic contract binding to access the raw methods on 3797 } 3798 3799 // IERC20CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 3800 type IERC20CallerRaw struct { 3801 Contract *IERC20Caller // Generic read-only contract binding to access the raw methods on 3802 } 3803 3804 // IERC20TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 3805 type IERC20TransactorRaw struct { 3806 Contract *IERC20Transactor // Generic write-only contract binding to access the raw methods on 3807 } 3808 3809 // NewIERC20 creates a new instance of IERC20, bound to a specific deployed contract. 3810 func NewIERC20(address common.Address, backend bind.ContractBackend) (*IERC20, error) { 3811 contract, err := bindIERC20(address, backend, backend, backend) 3812 if err != nil { 3813 return nil, err 3814 } 3815 return &IERC20{IERC20Caller: IERC20Caller{contract: contract}, IERC20Transactor: IERC20Transactor{contract: contract}, IERC20Filterer: IERC20Filterer{contract: contract}}, nil 3816 } 3817 3818 // NewIERC20Caller creates a new read-only instance of IERC20, bound to a specific deployed contract. 3819 func NewIERC20Caller(address common.Address, caller bind.ContractCaller) (*IERC20Caller, error) { 3820 contract, err := bindIERC20(address, caller, nil, nil) 3821 if err != nil { 3822 return nil, err 3823 } 3824 return &IERC20Caller{contract: contract}, nil 3825 } 3826 3827 // NewIERC20Transactor creates a new write-only instance of IERC20, bound to a specific deployed contract. 3828 func NewIERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC20Transactor, error) { 3829 contract, err := bindIERC20(address, nil, transactor, nil) 3830 if err != nil { 3831 return nil, err 3832 } 3833 return &IERC20Transactor{contract: contract}, nil 3834 } 3835 3836 // NewIERC20Filterer creates a new log filterer instance of IERC20, bound to a specific deployed contract. 3837 func NewIERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC20Filterer, error) { 3838 contract, err := bindIERC20(address, nil, nil, filterer) 3839 if err != nil { 3840 return nil, err 3841 } 3842 return &IERC20Filterer{contract: contract}, nil 3843 } 3844 3845 // bindIERC20 binds a generic wrapper to an already deployed contract. 3846 func bindIERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 3847 parsed, err := IERC20MetaData.GetAbi() 3848 if err != nil { 3849 return nil, err 3850 } 3851 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 3852 } 3853 3854 // Call invokes the (constant) contract method with params as input values and 3855 // sets the output to result. The result type might be a single field for simple 3856 // returns, a slice of interfaces for anonymous returns and a struct for named 3857 // returns. 3858 func (_IERC20 *IERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3859 return _IERC20.Contract.IERC20Caller.contract.Call(opts, result, method, params...) 3860 } 3861 3862 // Transfer initiates a plain transaction to move funds to the contract, calling 3863 // its default method if one is available. 3864 func (_IERC20 *IERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3865 return _IERC20.Contract.IERC20Transactor.contract.Transfer(opts) 3866 } 3867 3868 // Transact invokes the (paid) contract method with params as input values. 3869 func (_IERC20 *IERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3870 return _IERC20.Contract.IERC20Transactor.contract.Transact(opts, method, params...) 3871 } 3872 3873 // Call invokes the (constant) contract method with params as input values and 3874 // sets the output to result. The result type might be a single field for simple 3875 // returns, a slice of interfaces for anonymous returns and a struct for named 3876 // returns. 3877 func (_IERC20 *IERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 3878 return _IERC20.Contract.contract.Call(opts, result, method, params...) 3879 } 3880 3881 // Transfer initiates a plain transaction to move funds to the contract, calling 3882 // its default method if one is available. 3883 func (_IERC20 *IERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 3884 return _IERC20.Contract.contract.Transfer(opts) 3885 } 3886 3887 // Transact invokes the (paid) contract method with params as input values. 3888 func (_IERC20 *IERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 3889 return _IERC20.Contract.contract.Transact(opts, method, params...) 3890 } 3891 3892 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 3893 // 3894 // Solidity: function allowance(address owner, address spender) view returns(uint256) 3895 func (_IERC20 *IERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 3896 var out []interface{} 3897 err := _IERC20.contract.Call(opts, &out, "allowance", owner, spender) 3898 3899 if err != nil { 3900 return *new(*big.Int), err 3901 } 3902 3903 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3904 3905 return out0, err 3906 3907 } 3908 3909 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 3910 // 3911 // Solidity: function allowance(address owner, address spender) view returns(uint256) 3912 func (_IERC20 *IERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 3913 return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) 3914 } 3915 3916 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 3917 // 3918 // Solidity: function allowance(address owner, address spender) view returns(uint256) 3919 func (_IERC20 *IERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 3920 return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) 3921 } 3922 3923 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3924 // 3925 // Solidity: function balanceOf(address account) view returns(uint256) 3926 func (_IERC20 *IERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 3927 var out []interface{} 3928 err := _IERC20.contract.Call(opts, &out, "balanceOf", account) 3929 3930 if err != nil { 3931 return *new(*big.Int), err 3932 } 3933 3934 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3935 3936 return out0, err 3937 3938 } 3939 3940 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3941 // 3942 // Solidity: function balanceOf(address account) view returns(uint256) 3943 func (_IERC20 *IERC20Session) BalanceOf(account common.Address) (*big.Int, error) { 3944 return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) 3945 } 3946 3947 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 3948 // 3949 // Solidity: function balanceOf(address account) view returns(uint256) 3950 func (_IERC20 *IERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error) { 3951 return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) 3952 } 3953 3954 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3955 // 3956 // Solidity: function totalSupply() view returns(uint256) 3957 func (_IERC20 *IERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 3958 var out []interface{} 3959 err := _IERC20.contract.Call(opts, &out, "totalSupply") 3960 3961 if err != nil { 3962 return *new(*big.Int), err 3963 } 3964 3965 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 3966 3967 return out0, err 3968 3969 } 3970 3971 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3972 // 3973 // Solidity: function totalSupply() view returns(uint256) 3974 func (_IERC20 *IERC20Session) TotalSupply() (*big.Int, error) { 3975 return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) 3976 } 3977 3978 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 3979 // 3980 // Solidity: function totalSupply() view returns(uint256) 3981 func (_IERC20 *IERC20CallerSession) TotalSupply() (*big.Int, error) { 3982 return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) 3983 } 3984 3985 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3986 // 3987 // Solidity: function approve(address spender, uint256 amount) returns(bool) 3988 func (_IERC20 *IERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { 3989 return _IERC20.contract.Transact(opts, "approve", spender, amount) 3990 } 3991 3992 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3993 // 3994 // Solidity: function approve(address spender, uint256 amount) returns(bool) 3995 func (_IERC20 *IERC20Session) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 3996 return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, amount) 3997 } 3998 3999 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 4000 // 4001 // Solidity: function approve(address spender, uint256 amount) returns(bool) 4002 func (_IERC20 *IERC20TransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { 4003 return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, amount) 4004 } 4005 4006 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 4007 // 4008 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 4009 func (_IERC20 *IERC20Transactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4010 return _IERC20.contract.Transact(opts, "transfer", recipient, amount) 4011 } 4012 4013 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 4014 // 4015 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 4016 func (_IERC20 *IERC20Session) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4017 return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, recipient, amount) 4018 } 4019 4020 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 4021 // 4022 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 4023 func (_IERC20 *IERC20TransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4024 return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, recipient, amount) 4025 } 4026 4027 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4028 // 4029 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 4030 func (_IERC20 *IERC20Transactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4031 return _IERC20.contract.Transact(opts, "transferFrom", sender, recipient, amount) 4032 } 4033 4034 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4035 // 4036 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 4037 func (_IERC20 *IERC20Session) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4038 return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, sender, recipient, amount) 4039 } 4040 4041 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 4042 // 4043 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 4044 func (_IERC20 *IERC20TransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 4045 return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, sender, recipient, amount) 4046 } 4047 4048 // 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. 4049 type IERC20ApprovalIterator struct { 4050 Event *IERC20Approval // Event containing the contract specifics and raw log 4051 4052 contract *bind.BoundContract // Generic contract to use for unpacking event data 4053 event string // Event name to use for unpacking event data 4054 4055 logs chan types.Log // Log channel receiving the found contract events 4056 sub klaytn.Subscription // Subscription for errors, completion and termination 4057 done bool // Whether the subscription completed delivering logs 4058 fail error // Occurred error to stop iteration 4059 } 4060 4061 // Next advances the iterator to the subsequent event, returning whether there 4062 // are any more events found. In case of a retrieval or parsing error, false is 4063 // returned and Error() can be queried for the exact failure. 4064 func (it *IERC20ApprovalIterator) Next() bool { 4065 // If the iterator failed, stop iterating 4066 if it.fail != nil { 4067 return false 4068 } 4069 // If the iterator completed, deliver directly whatever's available 4070 if it.done { 4071 select { 4072 case log := <-it.logs: 4073 it.Event = new(IERC20Approval) 4074 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4075 it.fail = err 4076 return false 4077 } 4078 it.Event.Raw = log 4079 return true 4080 4081 default: 4082 return false 4083 } 4084 } 4085 // Iterator still in progress, wait for either a data or an error event 4086 select { 4087 case log := <-it.logs: 4088 it.Event = new(IERC20Approval) 4089 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4090 it.fail = err 4091 return false 4092 } 4093 it.Event.Raw = log 4094 return true 4095 4096 case err := <-it.sub.Err(): 4097 it.done = true 4098 it.fail = err 4099 return it.Next() 4100 } 4101 } 4102 4103 // Error returns any retrieval or parsing error occurred during filtering. 4104 func (it *IERC20ApprovalIterator) Error() error { 4105 return it.fail 4106 } 4107 4108 // Close terminates the iteration process, releasing any pending underlying 4109 // resources. 4110 func (it *IERC20ApprovalIterator) Close() error { 4111 it.sub.Unsubscribe() 4112 return nil 4113 } 4114 4115 // IERC20Approval represents a Approval event raised by the IERC20 contract. 4116 type IERC20Approval struct { 4117 Owner common.Address 4118 Spender common.Address 4119 Value *big.Int 4120 Raw types.Log // Blockchain specific contextual infos 4121 } 4122 4123 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4124 // 4125 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 4126 func (_IERC20 *IERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20ApprovalIterator, error) { 4127 4128 var ownerRule []interface{} 4129 for _, ownerItem := range owner { 4130 ownerRule = append(ownerRule, ownerItem) 4131 } 4132 var spenderRule []interface{} 4133 for _, spenderItem := range spender { 4134 spenderRule = append(spenderRule, spenderItem) 4135 } 4136 4137 logs, sub, err := _IERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 4138 if err != nil { 4139 return nil, err 4140 } 4141 return &IERC20ApprovalIterator{contract: _IERC20.contract, event: "Approval", logs: logs, sub: sub}, nil 4142 } 4143 4144 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4145 // 4146 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 4147 func (_IERC20 *IERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 4148 4149 var ownerRule []interface{} 4150 for _, ownerItem := range owner { 4151 ownerRule = append(ownerRule, ownerItem) 4152 } 4153 var spenderRule []interface{} 4154 for _, spenderItem := range spender { 4155 spenderRule = append(spenderRule, spenderItem) 4156 } 4157 4158 logs, sub, err := _IERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 4159 if err != nil { 4160 return nil, err 4161 } 4162 return event.NewSubscription(func(quit <-chan struct{}) error { 4163 defer sub.Unsubscribe() 4164 for { 4165 select { 4166 case log := <-logs: 4167 // New log arrived, parse the event and forward to the user 4168 event := new(IERC20Approval) 4169 if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { 4170 return err 4171 } 4172 event.Raw = log 4173 4174 select { 4175 case sink <- event: 4176 case err := <-sub.Err(): 4177 return err 4178 case <-quit: 4179 return nil 4180 } 4181 case err := <-sub.Err(): 4182 return err 4183 case <-quit: 4184 return nil 4185 } 4186 } 4187 }), nil 4188 } 4189 4190 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 4191 // 4192 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 4193 func (_IERC20 *IERC20Filterer) ParseApproval(log types.Log) (*IERC20Approval, error) { 4194 event := new(IERC20Approval) 4195 if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { 4196 return nil, err 4197 } 4198 return event, nil 4199 } 4200 4201 // 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. 4202 type IERC20TransferIterator struct { 4203 Event *IERC20Transfer // Event containing the contract specifics and raw log 4204 4205 contract *bind.BoundContract // Generic contract to use for unpacking event data 4206 event string // Event name to use for unpacking event data 4207 4208 logs chan types.Log // Log channel receiving the found contract events 4209 sub klaytn.Subscription // Subscription for errors, completion and termination 4210 done bool // Whether the subscription completed delivering logs 4211 fail error // Occurred error to stop iteration 4212 } 4213 4214 // Next advances the iterator to the subsequent event, returning whether there 4215 // are any more events found. In case of a retrieval or parsing error, false is 4216 // returned and Error() can be queried for the exact failure. 4217 func (it *IERC20TransferIterator) Next() bool { 4218 // If the iterator failed, stop iterating 4219 if it.fail != nil { 4220 return false 4221 } 4222 // If the iterator completed, deliver directly whatever's available 4223 if it.done { 4224 select { 4225 case log := <-it.logs: 4226 it.Event = new(IERC20Transfer) 4227 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4228 it.fail = err 4229 return false 4230 } 4231 it.Event.Raw = log 4232 return true 4233 4234 default: 4235 return false 4236 } 4237 } 4238 // Iterator still in progress, wait for either a data or an error event 4239 select { 4240 case log := <-it.logs: 4241 it.Event = new(IERC20Transfer) 4242 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4243 it.fail = err 4244 return false 4245 } 4246 it.Event.Raw = log 4247 return true 4248 4249 case err := <-it.sub.Err(): 4250 it.done = true 4251 it.fail = err 4252 return it.Next() 4253 } 4254 } 4255 4256 // Error returns any retrieval or parsing error occurred during filtering. 4257 func (it *IERC20TransferIterator) Error() error { 4258 return it.fail 4259 } 4260 4261 // Close terminates the iteration process, releasing any pending underlying 4262 // resources. 4263 func (it *IERC20TransferIterator) Close() error { 4264 it.sub.Unsubscribe() 4265 return nil 4266 } 4267 4268 // IERC20Transfer represents a Transfer event raised by the IERC20 contract. 4269 type IERC20Transfer struct { 4270 From common.Address 4271 To common.Address 4272 Value *big.Int 4273 Raw types.Log // Blockchain specific contextual infos 4274 } 4275 4276 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4277 // 4278 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4279 func (_IERC20 *IERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20TransferIterator, error) { 4280 4281 var fromRule []interface{} 4282 for _, fromItem := range from { 4283 fromRule = append(fromRule, fromItem) 4284 } 4285 var toRule []interface{} 4286 for _, toItem := range to { 4287 toRule = append(toRule, toItem) 4288 } 4289 4290 logs, sub, err := _IERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 4291 if err != nil { 4292 return nil, err 4293 } 4294 return &IERC20TransferIterator{contract: _IERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil 4295 } 4296 4297 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4298 // 4299 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4300 func (_IERC20 *IERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { 4301 4302 var fromRule []interface{} 4303 for _, fromItem := range from { 4304 fromRule = append(fromRule, fromItem) 4305 } 4306 var toRule []interface{} 4307 for _, toItem := range to { 4308 toRule = append(toRule, toItem) 4309 } 4310 4311 logs, sub, err := _IERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 4312 if err != nil { 4313 return nil, err 4314 } 4315 return event.NewSubscription(func(quit <-chan struct{}) error { 4316 defer sub.Unsubscribe() 4317 for { 4318 select { 4319 case log := <-logs: 4320 // New log arrived, parse the event and forward to the user 4321 event := new(IERC20Transfer) 4322 if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 4323 return err 4324 } 4325 event.Raw = log 4326 4327 select { 4328 case sink <- event: 4329 case err := <-sub.Err(): 4330 return err 4331 case <-quit: 4332 return nil 4333 } 4334 case err := <-sub.Err(): 4335 return err 4336 case <-quit: 4337 return nil 4338 } 4339 } 4340 }), nil 4341 } 4342 4343 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4344 // 4345 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4346 func (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, error) { 4347 event := new(IERC20Transfer) 4348 if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 4349 return nil, err 4350 } 4351 return event, nil 4352 } 4353 4354 // IERC20BridgeReceiverMetaData contains all meta data concerning the IERC20BridgeReceiver contract. 4355 var IERC20BridgeReceiverMetaData = &bind.MetaData{ 4356 ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_feeLimit\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"onERC20Received\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", 4357 Sigs: map[string]string{ 4358 "f1656e53": "onERC20Received(address,address,uint256,uint256,bytes)", 4359 }, 4360 } 4361 4362 // IERC20BridgeReceiverABI is the input ABI used to generate the binding from. 4363 // Deprecated: Use IERC20BridgeReceiverMetaData.ABI instead. 4364 var IERC20BridgeReceiverABI = IERC20BridgeReceiverMetaData.ABI 4365 4366 // IERC20BridgeReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 4367 const IERC20BridgeReceiverBinRuntime = `` 4368 4369 // IERC20BridgeReceiverFuncSigs maps the 4-byte function signature to its string representation. 4370 // Deprecated: Use IERC20BridgeReceiverMetaData.Sigs instead. 4371 var IERC20BridgeReceiverFuncSigs = IERC20BridgeReceiverMetaData.Sigs 4372 4373 // IERC20BridgeReceiver is an auto generated Go binding around a Klaytn contract. 4374 type IERC20BridgeReceiver struct { 4375 IERC20BridgeReceiverCaller // Read-only binding to the contract 4376 IERC20BridgeReceiverTransactor // Write-only binding to the contract 4377 IERC20BridgeReceiverFilterer // Log filterer for contract events 4378 } 4379 4380 // IERC20BridgeReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. 4381 type IERC20BridgeReceiverCaller struct { 4382 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4383 } 4384 4385 // IERC20BridgeReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. 4386 type IERC20BridgeReceiverTransactor struct { 4387 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4388 } 4389 4390 // IERC20BridgeReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 4391 type IERC20BridgeReceiverFilterer struct { 4392 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4393 } 4394 4395 // IERC20BridgeReceiverSession is an auto generated Go binding around a Klaytn contract, 4396 // with pre-set call and transact options. 4397 type IERC20BridgeReceiverSession struct { 4398 Contract *IERC20BridgeReceiver // Generic contract binding to set the session for 4399 CallOpts bind.CallOpts // Call options to use throughout this session 4400 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4401 } 4402 4403 // IERC20BridgeReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, 4404 // with pre-set call options. 4405 type IERC20BridgeReceiverCallerSession struct { 4406 Contract *IERC20BridgeReceiverCaller // Generic contract caller binding to set the session for 4407 CallOpts bind.CallOpts // Call options to use throughout this session 4408 } 4409 4410 // IERC20BridgeReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 4411 // with pre-set transact options. 4412 type IERC20BridgeReceiverTransactorSession struct { 4413 Contract *IERC20BridgeReceiverTransactor // Generic contract transactor binding to set the session for 4414 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4415 } 4416 4417 // IERC20BridgeReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. 4418 type IERC20BridgeReceiverRaw struct { 4419 Contract *IERC20BridgeReceiver // Generic contract binding to access the raw methods on 4420 } 4421 4422 // IERC20BridgeReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 4423 type IERC20BridgeReceiverCallerRaw struct { 4424 Contract *IERC20BridgeReceiverCaller // Generic read-only contract binding to access the raw methods on 4425 } 4426 4427 // IERC20BridgeReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 4428 type IERC20BridgeReceiverTransactorRaw struct { 4429 Contract *IERC20BridgeReceiverTransactor // Generic write-only contract binding to access the raw methods on 4430 } 4431 4432 // NewIERC20BridgeReceiver creates a new instance of IERC20BridgeReceiver, bound to a specific deployed contract. 4433 func NewIERC20BridgeReceiver(address common.Address, backend bind.ContractBackend) (*IERC20BridgeReceiver, error) { 4434 contract, err := bindIERC20BridgeReceiver(address, backend, backend, backend) 4435 if err != nil { 4436 return nil, err 4437 } 4438 return &IERC20BridgeReceiver{IERC20BridgeReceiverCaller: IERC20BridgeReceiverCaller{contract: contract}, IERC20BridgeReceiverTransactor: IERC20BridgeReceiverTransactor{contract: contract}, IERC20BridgeReceiverFilterer: IERC20BridgeReceiverFilterer{contract: contract}}, nil 4439 } 4440 4441 // NewIERC20BridgeReceiverCaller creates a new read-only instance of IERC20BridgeReceiver, bound to a specific deployed contract. 4442 func NewIERC20BridgeReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC20BridgeReceiverCaller, error) { 4443 contract, err := bindIERC20BridgeReceiver(address, caller, nil, nil) 4444 if err != nil { 4445 return nil, err 4446 } 4447 return &IERC20BridgeReceiverCaller{contract: contract}, nil 4448 } 4449 4450 // NewIERC20BridgeReceiverTransactor creates a new write-only instance of IERC20BridgeReceiver, bound to a specific deployed contract. 4451 func NewIERC20BridgeReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC20BridgeReceiverTransactor, error) { 4452 contract, err := bindIERC20BridgeReceiver(address, nil, transactor, nil) 4453 if err != nil { 4454 return nil, err 4455 } 4456 return &IERC20BridgeReceiverTransactor{contract: contract}, nil 4457 } 4458 4459 // NewIERC20BridgeReceiverFilterer creates a new log filterer instance of IERC20BridgeReceiver, bound to a specific deployed contract. 4460 func NewIERC20BridgeReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC20BridgeReceiverFilterer, error) { 4461 contract, err := bindIERC20BridgeReceiver(address, nil, nil, filterer) 4462 if err != nil { 4463 return nil, err 4464 } 4465 return &IERC20BridgeReceiverFilterer{contract: contract}, nil 4466 } 4467 4468 // bindIERC20BridgeReceiver binds a generic wrapper to an already deployed contract. 4469 func bindIERC20BridgeReceiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4470 parsed, err := IERC20BridgeReceiverMetaData.GetAbi() 4471 if err != nil { 4472 return nil, err 4473 } 4474 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 4475 } 4476 4477 // Call invokes the (constant) contract method with params as input values and 4478 // sets the output to result. The result type might be a single field for simple 4479 // returns, a slice of interfaces for anonymous returns and a struct for named 4480 // returns. 4481 func (_IERC20BridgeReceiver *IERC20BridgeReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4482 return _IERC20BridgeReceiver.Contract.IERC20BridgeReceiverCaller.contract.Call(opts, result, method, params...) 4483 } 4484 4485 // Transfer initiates a plain transaction to move funds to the contract, calling 4486 // its default method if one is available. 4487 func (_IERC20BridgeReceiver *IERC20BridgeReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4488 return _IERC20BridgeReceiver.Contract.IERC20BridgeReceiverTransactor.contract.Transfer(opts) 4489 } 4490 4491 // Transact invokes the (paid) contract method with params as input values. 4492 func (_IERC20BridgeReceiver *IERC20BridgeReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4493 return _IERC20BridgeReceiver.Contract.IERC20BridgeReceiverTransactor.contract.Transact(opts, method, params...) 4494 } 4495 4496 // Call invokes the (constant) contract method with params as input values and 4497 // sets the output to result. The result type might be a single field for simple 4498 // returns, a slice of interfaces for anonymous returns and a struct for named 4499 // returns. 4500 func (_IERC20BridgeReceiver *IERC20BridgeReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4501 return _IERC20BridgeReceiver.Contract.contract.Call(opts, result, method, params...) 4502 } 4503 4504 // Transfer initiates a plain transaction to move funds to the contract, calling 4505 // its default method if one is available. 4506 func (_IERC20BridgeReceiver *IERC20BridgeReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4507 return _IERC20BridgeReceiver.Contract.contract.Transfer(opts) 4508 } 4509 4510 // Transact invokes the (paid) contract method with params as input values. 4511 func (_IERC20BridgeReceiver *IERC20BridgeReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4512 return _IERC20BridgeReceiver.Contract.contract.Transact(opts, method, params...) 4513 } 4514 4515 // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. 4516 // 4517 // Solidity: function onERC20Received(address _from, address _to, uint256 _amount, uint256 _feeLimit, bytes _extraData) returns() 4518 func (_IERC20BridgeReceiver *IERC20BridgeReceiverTransactor) OnERC20Received(opts *bind.TransactOpts, _from common.Address, _to common.Address, _amount *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 4519 return _IERC20BridgeReceiver.contract.Transact(opts, "onERC20Received", _from, _to, _amount, _feeLimit, _extraData) 4520 } 4521 4522 // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. 4523 // 4524 // Solidity: function onERC20Received(address _from, address _to, uint256 _amount, uint256 _feeLimit, bytes _extraData) returns() 4525 func (_IERC20BridgeReceiver *IERC20BridgeReceiverSession) OnERC20Received(_from common.Address, _to common.Address, _amount *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 4526 return _IERC20BridgeReceiver.Contract.OnERC20Received(&_IERC20BridgeReceiver.TransactOpts, _from, _to, _amount, _feeLimit, _extraData) 4527 } 4528 4529 // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. 4530 // 4531 // Solidity: function onERC20Received(address _from, address _to, uint256 _amount, uint256 _feeLimit, bytes _extraData) returns() 4532 func (_IERC20BridgeReceiver *IERC20BridgeReceiverTransactorSession) OnERC20Received(_from common.Address, _to common.Address, _amount *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 4533 return _IERC20BridgeReceiver.Contract.OnERC20Received(&_IERC20BridgeReceiver.TransactOpts, _from, _to, _amount, _feeLimit, _extraData) 4534 } 4535 4536 // MinterRoleMetaData contains all meta data concerning the MinterRole contract. 4537 var MinterRoleMetaData = &bind.MetaData{ 4538 ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"}]", 4539 Sigs: map[string]string{ 4540 "983b2d56": "addMinter(address)", 4541 "aa271e1a": "isMinter(address)", 4542 "98650275": "renounceMinter()", 4543 }, 4544 } 4545 4546 // MinterRoleABI is the input ABI used to generate the binding from. 4547 // Deprecated: Use MinterRoleMetaData.ABI instead. 4548 var MinterRoleABI = MinterRoleMetaData.ABI 4549 4550 // MinterRoleBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 4551 const MinterRoleBinRuntime = `` 4552 4553 // MinterRoleFuncSigs maps the 4-byte function signature to its string representation. 4554 // Deprecated: Use MinterRoleMetaData.Sigs instead. 4555 var MinterRoleFuncSigs = MinterRoleMetaData.Sigs 4556 4557 // MinterRole is an auto generated Go binding around a Klaytn contract. 4558 type MinterRole struct { 4559 MinterRoleCaller // Read-only binding to the contract 4560 MinterRoleTransactor // Write-only binding to the contract 4561 MinterRoleFilterer // Log filterer for contract events 4562 } 4563 4564 // MinterRoleCaller is an auto generated read-only Go binding around a Klaytn contract. 4565 type MinterRoleCaller struct { 4566 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4567 } 4568 4569 // MinterRoleTransactor is an auto generated write-only Go binding around a Klaytn contract. 4570 type MinterRoleTransactor struct { 4571 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4572 } 4573 4574 // MinterRoleFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 4575 type MinterRoleFilterer struct { 4576 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4577 } 4578 4579 // MinterRoleSession is an auto generated Go binding around a Klaytn contract, 4580 // with pre-set call and transact options. 4581 type MinterRoleSession struct { 4582 Contract *MinterRole // Generic contract binding to set the session for 4583 CallOpts bind.CallOpts // Call options to use throughout this session 4584 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4585 } 4586 4587 // MinterRoleCallerSession is an auto generated read-only Go binding around a Klaytn contract, 4588 // with pre-set call options. 4589 type MinterRoleCallerSession struct { 4590 Contract *MinterRoleCaller // Generic contract caller binding to set the session for 4591 CallOpts bind.CallOpts // Call options to use throughout this session 4592 } 4593 4594 // MinterRoleTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 4595 // with pre-set transact options. 4596 type MinterRoleTransactorSession struct { 4597 Contract *MinterRoleTransactor // Generic contract transactor binding to set the session for 4598 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4599 } 4600 4601 // MinterRoleRaw is an auto generated low-level Go binding around a Klaytn contract. 4602 type MinterRoleRaw struct { 4603 Contract *MinterRole // Generic contract binding to access the raw methods on 4604 } 4605 4606 // MinterRoleCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 4607 type MinterRoleCallerRaw struct { 4608 Contract *MinterRoleCaller // Generic read-only contract binding to access the raw methods on 4609 } 4610 4611 // MinterRoleTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 4612 type MinterRoleTransactorRaw struct { 4613 Contract *MinterRoleTransactor // Generic write-only contract binding to access the raw methods on 4614 } 4615 4616 // NewMinterRole creates a new instance of MinterRole, bound to a specific deployed contract. 4617 func NewMinterRole(address common.Address, backend bind.ContractBackend) (*MinterRole, error) { 4618 contract, err := bindMinterRole(address, backend, backend, backend) 4619 if err != nil { 4620 return nil, err 4621 } 4622 return &MinterRole{MinterRoleCaller: MinterRoleCaller{contract: contract}, MinterRoleTransactor: MinterRoleTransactor{contract: contract}, MinterRoleFilterer: MinterRoleFilterer{contract: contract}}, nil 4623 } 4624 4625 // NewMinterRoleCaller creates a new read-only instance of MinterRole, bound to a specific deployed contract. 4626 func NewMinterRoleCaller(address common.Address, caller bind.ContractCaller) (*MinterRoleCaller, error) { 4627 contract, err := bindMinterRole(address, caller, nil, nil) 4628 if err != nil { 4629 return nil, err 4630 } 4631 return &MinterRoleCaller{contract: contract}, nil 4632 } 4633 4634 // NewMinterRoleTransactor creates a new write-only instance of MinterRole, bound to a specific deployed contract. 4635 func NewMinterRoleTransactor(address common.Address, transactor bind.ContractTransactor) (*MinterRoleTransactor, error) { 4636 contract, err := bindMinterRole(address, nil, transactor, nil) 4637 if err != nil { 4638 return nil, err 4639 } 4640 return &MinterRoleTransactor{contract: contract}, nil 4641 } 4642 4643 // NewMinterRoleFilterer creates a new log filterer instance of MinterRole, bound to a specific deployed contract. 4644 func NewMinterRoleFilterer(address common.Address, filterer bind.ContractFilterer) (*MinterRoleFilterer, error) { 4645 contract, err := bindMinterRole(address, nil, nil, filterer) 4646 if err != nil { 4647 return nil, err 4648 } 4649 return &MinterRoleFilterer{contract: contract}, nil 4650 } 4651 4652 // bindMinterRole binds a generic wrapper to an already deployed contract. 4653 func bindMinterRole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4654 parsed, err := MinterRoleMetaData.GetAbi() 4655 if err != nil { 4656 return nil, err 4657 } 4658 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 4659 } 4660 4661 // Call invokes the (constant) contract method with params as input values and 4662 // sets the output to result. The result type might be a single field for simple 4663 // returns, a slice of interfaces for anonymous returns and a struct for named 4664 // returns. 4665 func (_MinterRole *MinterRoleRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4666 return _MinterRole.Contract.MinterRoleCaller.contract.Call(opts, result, method, params...) 4667 } 4668 4669 // Transfer initiates a plain transaction to move funds to the contract, calling 4670 // its default method if one is available. 4671 func (_MinterRole *MinterRoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4672 return _MinterRole.Contract.MinterRoleTransactor.contract.Transfer(opts) 4673 } 4674 4675 // Transact invokes the (paid) contract method with params as input values. 4676 func (_MinterRole *MinterRoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4677 return _MinterRole.Contract.MinterRoleTransactor.contract.Transact(opts, method, params...) 4678 } 4679 4680 // Call invokes the (constant) contract method with params as input values and 4681 // sets the output to result. The result type might be a single field for simple 4682 // returns, a slice of interfaces for anonymous returns and a struct for named 4683 // returns. 4684 func (_MinterRole *MinterRoleCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4685 return _MinterRole.Contract.contract.Call(opts, result, method, params...) 4686 } 4687 4688 // Transfer initiates a plain transaction to move funds to the contract, calling 4689 // its default method if one is available. 4690 func (_MinterRole *MinterRoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4691 return _MinterRole.Contract.contract.Transfer(opts) 4692 } 4693 4694 // Transact invokes the (paid) contract method with params as input values. 4695 func (_MinterRole *MinterRoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4696 return _MinterRole.Contract.contract.Transact(opts, method, params...) 4697 } 4698 4699 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 4700 // 4701 // Solidity: function isMinter(address account) view returns(bool) 4702 func (_MinterRole *MinterRoleCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 4703 var out []interface{} 4704 err := _MinterRole.contract.Call(opts, &out, "isMinter", account) 4705 4706 if err != nil { 4707 return *new(bool), err 4708 } 4709 4710 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 4711 4712 return out0, err 4713 4714 } 4715 4716 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 4717 // 4718 // Solidity: function isMinter(address account) view returns(bool) 4719 func (_MinterRole *MinterRoleSession) IsMinter(account common.Address) (bool, error) { 4720 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 4721 } 4722 4723 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 4724 // 4725 // Solidity: function isMinter(address account) view returns(bool) 4726 func (_MinterRole *MinterRoleCallerSession) IsMinter(account common.Address) (bool, error) { 4727 return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) 4728 } 4729 4730 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 4731 // 4732 // Solidity: function addMinter(address account) returns() 4733 func (_MinterRole *MinterRoleTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 4734 return _MinterRole.contract.Transact(opts, "addMinter", account) 4735 } 4736 4737 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 4738 // 4739 // Solidity: function addMinter(address account) returns() 4740 func (_MinterRole *MinterRoleSession) AddMinter(account common.Address) (*types.Transaction, error) { 4741 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 4742 } 4743 4744 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 4745 // 4746 // Solidity: function addMinter(address account) returns() 4747 func (_MinterRole *MinterRoleTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 4748 return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) 4749 } 4750 4751 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 4752 // 4753 // Solidity: function renounceMinter() returns() 4754 func (_MinterRole *MinterRoleTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 4755 return _MinterRole.contract.Transact(opts, "renounceMinter") 4756 } 4757 4758 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 4759 // 4760 // Solidity: function renounceMinter() returns() 4761 func (_MinterRole *MinterRoleSession) RenounceMinter() (*types.Transaction, error) { 4762 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 4763 } 4764 4765 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 4766 // 4767 // Solidity: function renounceMinter() returns() 4768 func (_MinterRole *MinterRoleTransactorSession) RenounceMinter() (*types.Transaction, error) { 4769 return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) 4770 } 4771 4772 // 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. 4773 type MinterRoleMinterAddedIterator struct { 4774 Event *MinterRoleMinterAdded // Event containing the contract specifics and raw log 4775 4776 contract *bind.BoundContract // Generic contract to use for unpacking event data 4777 event string // Event name to use for unpacking event data 4778 4779 logs chan types.Log // Log channel receiving the found contract events 4780 sub klaytn.Subscription // Subscription for errors, completion and termination 4781 done bool // Whether the subscription completed delivering logs 4782 fail error // Occurred error to stop iteration 4783 } 4784 4785 // Next advances the iterator to the subsequent event, returning whether there 4786 // are any more events found. In case of a retrieval or parsing error, false is 4787 // returned and Error() can be queried for the exact failure. 4788 func (it *MinterRoleMinterAddedIterator) Next() bool { 4789 // If the iterator failed, stop iterating 4790 if it.fail != nil { 4791 return false 4792 } 4793 // If the iterator completed, deliver directly whatever's available 4794 if it.done { 4795 select { 4796 case log := <-it.logs: 4797 it.Event = new(MinterRoleMinterAdded) 4798 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4799 it.fail = err 4800 return false 4801 } 4802 it.Event.Raw = log 4803 return true 4804 4805 default: 4806 return false 4807 } 4808 } 4809 // Iterator still in progress, wait for either a data or an error event 4810 select { 4811 case log := <-it.logs: 4812 it.Event = new(MinterRoleMinterAdded) 4813 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4814 it.fail = err 4815 return false 4816 } 4817 it.Event.Raw = log 4818 return true 4819 4820 case err := <-it.sub.Err(): 4821 it.done = true 4822 it.fail = err 4823 return it.Next() 4824 } 4825 } 4826 4827 // Error returns any retrieval or parsing error occurred during filtering. 4828 func (it *MinterRoleMinterAddedIterator) Error() error { 4829 return it.fail 4830 } 4831 4832 // Close terminates the iteration process, releasing any pending underlying 4833 // resources. 4834 func (it *MinterRoleMinterAddedIterator) Close() error { 4835 it.sub.Unsubscribe() 4836 return nil 4837 } 4838 4839 // MinterRoleMinterAdded represents a MinterAdded event raised by the MinterRole contract. 4840 type MinterRoleMinterAdded struct { 4841 Account common.Address 4842 Raw types.Log // Blockchain specific contextual infos 4843 } 4844 4845 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 4846 // 4847 // Solidity: event MinterAdded(address indexed account) 4848 func (_MinterRole *MinterRoleFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterAddedIterator, error) { 4849 4850 var accountRule []interface{} 4851 for _, accountItem := range account { 4852 accountRule = append(accountRule, accountItem) 4853 } 4854 4855 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterAdded", accountRule) 4856 if err != nil { 4857 return nil, err 4858 } 4859 return &MinterRoleMinterAddedIterator{contract: _MinterRole.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 4860 } 4861 4862 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 4863 // 4864 // Solidity: event MinterAdded(address indexed account) 4865 func (_MinterRole *MinterRoleFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterAdded, account []common.Address) (event.Subscription, error) { 4866 4867 var accountRule []interface{} 4868 for _, accountItem := range account { 4869 accountRule = append(accountRule, accountItem) 4870 } 4871 4872 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterAdded", accountRule) 4873 if err != nil { 4874 return nil, err 4875 } 4876 return event.NewSubscription(func(quit <-chan struct{}) error { 4877 defer sub.Unsubscribe() 4878 for { 4879 select { 4880 case log := <-logs: 4881 // New log arrived, parse the event and forward to the user 4882 event := new(MinterRoleMinterAdded) 4883 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 4884 return err 4885 } 4886 event.Raw = log 4887 4888 select { 4889 case sink <- event: 4890 case err := <-sub.Err(): 4891 return err 4892 case <-quit: 4893 return nil 4894 } 4895 case err := <-sub.Err(): 4896 return err 4897 case <-quit: 4898 return nil 4899 } 4900 } 4901 }), nil 4902 } 4903 4904 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 4905 // 4906 // Solidity: event MinterAdded(address indexed account) 4907 func (_MinterRole *MinterRoleFilterer) ParseMinterAdded(log types.Log) (*MinterRoleMinterAdded, error) { 4908 event := new(MinterRoleMinterAdded) 4909 if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { 4910 return nil, err 4911 } 4912 return event, nil 4913 } 4914 4915 // 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. 4916 type MinterRoleMinterRemovedIterator struct { 4917 Event *MinterRoleMinterRemoved // Event containing the contract specifics and raw log 4918 4919 contract *bind.BoundContract // Generic contract to use for unpacking event data 4920 event string // Event name to use for unpacking event data 4921 4922 logs chan types.Log // Log channel receiving the found contract events 4923 sub klaytn.Subscription // Subscription for errors, completion and termination 4924 done bool // Whether the subscription completed delivering logs 4925 fail error // Occurred error to stop iteration 4926 } 4927 4928 // Next advances the iterator to the subsequent event, returning whether there 4929 // are any more events found. In case of a retrieval or parsing error, false is 4930 // returned and Error() can be queried for the exact failure. 4931 func (it *MinterRoleMinterRemovedIterator) Next() bool { 4932 // If the iterator failed, stop iterating 4933 if it.fail != nil { 4934 return false 4935 } 4936 // If the iterator completed, deliver directly whatever's available 4937 if it.done { 4938 select { 4939 case log := <-it.logs: 4940 it.Event = new(MinterRoleMinterRemoved) 4941 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4942 it.fail = err 4943 return false 4944 } 4945 it.Event.Raw = log 4946 return true 4947 4948 default: 4949 return false 4950 } 4951 } 4952 // Iterator still in progress, wait for either a data or an error event 4953 select { 4954 case log := <-it.logs: 4955 it.Event = new(MinterRoleMinterRemoved) 4956 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4957 it.fail = err 4958 return false 4959 } 4960 it.Event.Raw = log 4961 return true 4962 4963 case err := <-it.sub.Err(): 4964 it.done = true 4965 it.fail = err 4966 return it.Next() 4967 } 4968 } 4969 4970 // Error returns any retrieval or parsing error occurred during filtering. 4971 func (it *MinterRoleMinterRemovedIterator) Error() error { 4972 return it.fail 4973 } 4974 4975 // Close terminates the iteration process, releasing any pending underlying 4976 // resources. 4977 func (it *MinterRoleMinterRemovedIterator) Close() error { 4978 it.sub.Unsubscribe() 4979 return nil 4980 } 4981 4982 // MinterRoleMinterRemoved represents a MinterRemoved event raised by the MinterRole contract. 4983 type MinterRoleMinterRemoved struct { 4984 Account common.Address 4985 Raw types.Log // Blockchain specific contextual infos 4986 } 4987 4988 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 4989 // 4990 // Solidity: event MinterRemoved(address indexed account) 4991 func (_MinterRole *MinterRoleFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterRemovedIterator, error) { 4992 4993 var accountRule []interface{} 4994 for _, accountItem := range account { 4995 accountRule = append(accountRule, accountItem) 4996 } 4997 4998 logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterRemoved", accountRule) 4999 if err != nil { 5000 return nil, err 5001 } 5002 return &MinterRoleMinterRemovedIterator{contract: _MinterRole.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 5003 } 5004 5005 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 5006 // 5007 // Solidity: event MinterRemoved(address indexed account) 5008 func (_MinterRole *MinterRoleFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterRemoved, account []common.Address) (event.Subscription, error) { 5009 5010 var accountRule []interface{} 5011 for _, accountItem := range account { 5012 accountRule = append(accountRule, accountItem) 5013 } 5014 5015 logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterRemoved", accountRule) 5016 if err != nil { 5017 return nil, err 5018 } 5019 return event.NewSubscription(func(quit <-chan struct{}) error { 5020 defer sub.Unsubscribe() 5021 for { 5022 select { 5023 case log := <-logs: 5024 // New log arrived, parse the event and forward to the user 5025 event := new(MinterRoleMinterRemoved) 5026 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 5027 return err 5028 } 5029 event.Raw = log 5030 5031 select { 5032 case sink <- event: 5033 case err := <-sub.Err(): 5034 return err 5035 case <-quit: 5036 return nil 5037 } 5038 case err := <-sub.Err(): 5039 return err 5040 case <-quit: 5041 return nil 5042 } 5043 } 5044 }), nil 5045 } 5046 5047 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 5048 // 5049 // Solidity: event MinterRemoved(address indexed account) 5050 func (_MinterRole *MinterRoleFilterer) ParseMinterRemoved(log types.Log) (*MinterRoleMinterRemoved, error) { 5051 event := new(MinterRoleMinterRemoved) 5052 if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 5053 return nil, err 5054 } 5055 return event, nil 5056 } 5057 5058 // OwnableMetaData contains all meta data concerning the Ownable contract. 5059 var OwnableMetaData = &bind.MetaData{ 5060 ABI: "[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]", 5061 Sigs: map[string]string{ 5062 "8f32d59b": "isOwner()", 5063 "8da5cb5b": "owner()", 5064 "715018a6": "renounceOwnership()", 5065 "f2fde38b": "transferOwnership(address)", 5066 }, 5067 } 5068 5069 // OwnableABI is the input ABI used to generate the binding from. 5070 // Deprecated: Use OwnableMetaData.ABI instead. 5071 var OwnableABI = OwnableMetaData.ABI 5072 5073 // OwnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 5074 const OwnableBinRuntime = `` 5075 5076 // OwnableFuncSigs maps the 4-byte function signature to its string representation. 5077 // Deprecated: Use OwnableMetaData.Sigs instead. 5078 var OwnableFuncSigs = OwnableMetaData.Sigs 5079 5080 // Ownable is an auto generated Go binding around a Klaytn contract. 5081 type Ownable struct { 5082 OwnableCaller // Read-only binding to the contract 5083 OwnableTransactor // Write-only binding to the contract 5084 OwnableFilterer // Log filterer for contract events 5085 } 5086 5087 // OwnableCaller is an auto generated read-only Go binding around a Klaytn contract. 5088 type OwnableCaller struct { 5089 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5090 } 5091 5092 // OwnableTransactor is an auto generated write-only Go binding around a Klaytn contract. 5093 type OwnableTransactor struct { 5094 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5095 } 5096 5097 // OwnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 5098 type OwnableFilterer struct { 5099 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5100 } 5101 5102 // OwnableSession is an auto generated Go binding around a Klaytn contract, 5103 // with pre-set call and transact options. 5104 type OwnableSession struct { 5105 Contract *Ownable // Generic contract binding to set the session for 5106 CallOpts bind.CallOpts // Call options to use throughout this session 5107 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5108 } 5109 5110 // OwnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, 5111 // with pre-set call options. 5112 type OwnableCallerSession struct { 5113 Contract *OwnableCaller // Generic contract caller binding to set the session for 5114 CallOpts bind.CallOpts // Call options to use throughout this session 5115 } 5116 5117 // OwnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 5118 // with pre-set transact options. 5119 type OwnableTransactorSession struct { 5120 Contract *OwnableTransactor // Generic contract transactor binding to set the session for 5121 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5122 } 5123 5124 // OwnableRaw is an auto generated low-level Go binding around a Klaytn contract. 5125 type OwnableRaw struct { 5126 Contract *Ownable // Generic contract binding to access the raw methods on 5127 } 5128 5129 // OwnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 5130 type OwnableCallerRaw struct { 5131 Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on 5132 } 5133 5134 // OwnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 5135 type OwnableTransactorRaw struct { 5136 Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on 5137 } 5138 5139 // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. 5140 func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { 5141 contract, err := bindOwnable(address, backend, backend, backend) 5142 if err != nil { 5143 return nil, err 5144 } 5145 return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil 5146 } 5147 5148 // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. 5149 func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { 5150 contract, err := bindOwnable(address, caller, nil, nil) 5151 if err != nil { 5152 return nil, err 5153 } 5154 return &OwnableCaller{contract: contract}, nil 5155 } 5156 5157 // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. 5158 func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { 5159 contract, err := bindOwnable(address, nil, transactor, nil) 5160 if err != nil { 5161 return nil, err 5162 } 5163 return &OwnableTransactor{contract: contract}, nil 5164 } 5165 5166 // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. 5167 func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { 5168 contract, err := bindOwnable(address, nil, nil, filterer) 5169 if err != nil { 5170 return nil, err 5171 } 5172 return &OwnableFilterer{contract: contract}, nil 5173 } 5174 5175 // bindOwnable binds a generic wrapper to an already deployed contract. 5176 func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5177 parsed, err := OwnableMetaData.GetAbi() 5178 if err != nil { 5179 return nil, err 5180 } 5181 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 5182 } 5183 5184 // Call invokes the (constant) contract method with params as input values and 5185 // sets the output to result. The result type might be a single field for simple 5186 // returns, a slice of interfaces for anonymous returns and a struct for named 5187 // returns. 5188 func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5189 return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...) 5190 } 5191 5192 // Transfer initiates a plain transaction to move funds to the contract, calling 5193 // its default method if one is available. 5194 func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5195 return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) 5196 } 5197 5198 // Transact invokes the (paid) contract method with params as input values. 5199 func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5200 return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...) 5201 } 5202 5203 // Call invokes the (constant) contract method with params as input values and 5204 // sets the output to result. The result type might be a single field for simple 5205 // returns, a slice of interfaces for anonymous returns and a struct for named 5206 // returns. 5207 func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5208 return _Ownable.Contract.contract.Call(opts, result, method, params...) 5209 } 5210 5211 // Transfer initiates a plain transaction to move funds to the contract, calling 5212 // its default method if one is available. 5213 func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5214 return _Ownable.Contract.contract.Transfer(opts) 5215 } 5216 5217 // Transact invokes the (paid) contract method with params as input values. 5218 func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5219 return _Ownable.Contract.contract.Transact(opts, method, params...) 5220 } 5221 5222 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 5223 // 5224 // Solidity: function isOwner() view returns(bool) 5225 func (_Ownable *OwnableCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 5226 var out []interface{} 5227 err := _Ownable.contract.Call(opts, &out, "isOwner") 5228 5229 if err != nil { 5230 return *new(bool), err 5231 } 5232 5233 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 5234 5235 return out0, err 5236 5237 } 5238 5239 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 5240 // 5241 // Solidity: function isOwner() view returns(bool) 5242 func (_Ownable *OwnableSession) IsOwner() (bool, error) { 5243 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 5244 } 5245 5246 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 5247 // 5248 // Solidity: function isOwner() view returns(bool) 5249 func (_Ownable *OwnableCallerSession) IsOwner() (bool, error) { 5250 return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) 5251 } 5252 5253 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 5254 // 5255 // Solidity: function owner() view returns(address) 5256 func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 5257 var out []interface{} 5258 err := _Ownable.contract.Call(opts, &out, "owner") 5259 5260 if err != nil { 5261 return *new(common.Address), err 5262 } 5263 5264 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 5265 5266 return out0, err 5267 5268 } 5269 5270 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 5271 // 5272 // Solidity: function owner() view returns(address) 5273 func (_Ownable *OwnableSession) Owner() (common.Address, error) { 5274 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 5275 } 5276 5277 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 5278 // 5279 // Solidity: function owner() view returns(address) 5280 func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { 5281 return _Ownable.Contract.Owner(&_Ownable.CallOpts) 5282 } 5283 5284 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 5285 // 5286 // Solidity: function renounceOwnership() returns() 5287 func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 5288 return _Ownable.contract.Transact(opts, "renounceOwnership") 5289 } 5290 5291 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 5292 // 5293 // Solidity: function renounceOwnership() returns() 5294 func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { 5295 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 5296 } 5297 5298 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 5299 // 5300 // Solidity: function renounceOwnership() returns() 5301 func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { 5302 return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) 5303 } 5304 5305 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 5306 // 5307 // Solidity: function transferOwnership(address newOwner) returns() 5308 func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 5309 return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) 5310 } 5311 5312 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 5313 // 5314 // Solidity: function transferOwnership(address newOwner) returns() 5315 func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 5316 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 5317 } 5318 5319 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 5320 // 5321 // Solidity: function transferOwnership(address newOwner) returns() 5322 func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 5323 return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) 5324 } 5325 5326 // 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. 5327 type OwnableOwnershipTransferredIterator struct { 5328 Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log 5329 5330 contract *bind.BoundContract // Generic contract to use for unpacking event data 5331 event string // Event name to use for unpacking event data 5332 5333 logs chan types.Log // Log channel receiving the found contract events 5334 sub klaytn.Subscription // Subscription for errors, completion and termination 5335 done bool // Whether the subscription completed delivering logs 5336 fail error // Occurred error to stop iteration 5337 } 5338 5339 // Next advances the iterator to the subsequent event, returning whether there 5340 // are any more events found. In case of a retrieval or parsing error, false is 5341 // returned and Error() can be queried for the exact failure. 5342 func (it *OwnableOwnershipTransferredIterator) Next() bool { 5343 // If the iterator failed, stop iterating 5344 if it.fail != nil { 5345 return false 5346 } 5347 // If the iterator completed, deliver directly whatever's available 5348 if it.done { 5349 select { 5350 case log := <-it.logs: 5351 it.Event = new(OwnableOwnershipTransferred) 5352 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5353 it.fail = err 5354 return false 5355 } 5356 it.Event.Raw = log 5357 return true 5358 5359 default: 5360 return false 5361 } 5362 } 5363 // Iterator still in progress, wait for either a data or an error event 5364 select { 5365 case log := <-it.logs: 5366 it.Event = new(OwnableOwnershipTransferred) 5367 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5368 it.fail = err 5369 return false 5370 } 5371 it.Event.Raw = log 5372 return true 5373 5374 case err := <-it.sub.Err(): 5375 it.done = true 5376 it.fail = err 5377 return it.Next() 5378 } 5379 } 5380 5381 // Error returns any retrieval or parsing error occurred during filtering. 5382 func (it *OwnableOwnershipTransferredIterator) Error() error { 5383 return it.fail 5384 } 5385 5386 // Close terminates the iteration process, releasing any pending underlying 5387 // resources. 5388 func (it *OwnableOwnershipTransferredIterator) Close() error { 5389 it.sub.Unsubscribe() 5390 return nil 5391 } 5392 5393 // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. 5394 type OwnableOwnershipTransferred struct { 5395 PreviousOwner common.Address 5396 NewOwner common.Address 5397 Raw types.Log // Blockchain specific contextual infos 5398 } 5399 5400 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 5401 // 5402 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 5403 func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { 5404 5405 var previousOwnerRule []interface{} 5406 for _, previousOwnerItem := range previousOwner { 5407 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 5408 } 5409 var newOwnerRule []interface{} 5410 for _, newOwnerItem := range newOwner { 5411 newOwnerRule = append(newOwnerRule, newOwnerItem) 5412 } 5413 5414 logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 5415 if err != nil { 5416 return nil, err 5417 } 5418 return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 5419 } 5420 5421 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 5422 // 5423 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 5424 func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 5425 5426 var previousOwnerRule []interface{} 5427 for _, previousOwnerItem := range previousOwner { 5428 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 5429 } 5430 var newOwnerRule []interface{} 5431 for _, newOwnerItem := range newOwner { 5432 newOwnerRule = append(newOwnerRule, newOwnerItem) 5433 } 5434 5435 logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 5436 if err != nil { 5437 return nil, err 5438 } 5439 return event.NewSubscription(func(quit <-chan struct{}) error { 5440 defer sub.Unsubscribe() 5441 for { 5442 select { 5443 case log := <-logs: 5444 // New log arrived, parse the event and forward to the user 5445 event := new(OwnableOwnershipTransferred) 5446 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 5447 return err 5448 } 5449 event.Raw = log 5450 5451 select { 5452 case sink <- event: 5453 case err := <-sub.Err(): 5454 return err 5455 case <-quit: 5456 return nil 5457 } 5458 case err := <-sub.Err(): 5459 return err 5460 case <-quit: 5461 return nil 5462 } 5463 } 5464 }), nil 5465 } 5466 5467 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 5468 // 5469 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 5470 func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) { 5471 event := new(OwnableOwnershipTransferred) 5472 if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 5473 return nil, err 5474 } 5475 return event, nil 5476 } 5477 5478 // RolesMetaData contains all meta data concerning the Roles contract. 5479 var RolesMetaData = &bind.MetaData{ 5480 ABI: "[]", 5481 Bin: "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058206fdeeec4a4b0b444bd488c924c927184696cea63963686d57a13cf42f3830d840029", 5482 } 5483 5484 // RolesABI is the input ABI used to generate the binding from. 5485 // Deprecated: Use RolesMetaData.ABI instead. 5486 var RolesABI = RolesMetaData.ABI 5487 5488 // RolesBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 5489 const RolesBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058206fdeeec4a4b0b444bd488c924c927184696cea63963686d57a13cf42f3830d840029` 5490 5491 // RolesBin is the compiled bytecode used for deploying new contracts. 5492 // Deprecated: Use RolesMetaData.Bin instead. 5493 var RolesBin = RolesMetaData.Bin 5494 5495 // DeployRoles deploys a new Klaytn contract, binding an instance of Roles to it. 5496 func DeployRoles(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Roles, error) { 5497 parsed, err := RolesMetaData.GetAbi() 5498 if err != nil { 5499 return common.Address{}, nil, nil, err 5500 } 5501 if parsed == nil { 5502 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 5503 } 5504 5505 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(RolesBin), backend) 5506 if err != nil { 5507 return common.Address{}, nil, nil, err 5508 } 5509 return address, tx, &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 5510 } 5511 5512 // Roles is an auto generated Go binding around a Klaytn contract. 5513 type Roles struct { 5514 RolesCaller // Read-only binding to the contract 5515 RolesTransactor // Write-only binding to the contract 5516 RolesFilterer // Log filterer for contract events 5517 } 5518 5519 // RolesCaller is an auto generated read-only Go binding around a Klaytn contract. 5520 type RolesCaller struct { 5521 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5522 } 5523 5524 // RolesTransactor is an auto generated write-only Go binding around a Klaytn contract. 5525 type RolesTransactor struct { 5526 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5527 } 5528 5529 // RolesFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 5530 type RolesFilterer struct { 5531 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5532 } 5533 5534 // RolesSession is an auto generated Go binding around a Klaytn contract, 5535 // with pre-set call and transact options. 5536 type RolesSession struct { 5537 Contract *Roles // Generic contract binding to set the session for 5538 CallOpts bind.CallOpts // Call options to use throughout this session 5539 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5540 } 5541 5542 // RolesCallerSession is an auto generated read-only Go binding around a Klaytn contract, 5543 // with pre-set call options. 5544 type RolesCallerSession struct { 5545 Contract *RolesCaller // Generic contract caller binding to set the session for 5546 CallOpts bind.CallOpts // Call options to use throughout this session 5547 } 5548 5549 // RolesTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 5550 // with pre-set transact options. 5551 type RolesTransactorSession struct { 5552 Contract *RolesTransactor // Generic contract transactor binding to set the session for 5553 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5554 } 5555 5556 // RolesRaw is an auto generated low-level Go binding around a Klaytn contract. 5557 type RolesRaw struct { 5558 Contract *Roles // Generic contract binding to access the raw methods on 5559 } 5560 5561 // RolesCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 5562 type RolesCallerRaw struct { 5563 Contract *RolesCaller // Generic read-only contract binding to access the raw methods on 5564 } 5565 5566 // RolesTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 5567 type RolesTransactorRaw struct { 5568 Contract *RolesTransactor // Generic write-only contract binding to access the raw methods on 5569 } 5570 5571 // NewRoles creates a new instance of Roles, bound to a specific deployed contract. 5572 func NewRoles(address common.Address, backend bind.ContractBackend) (*Roles, error) { 5573 contract, err := bindRoles(address, backend, backend, backend) 5574 if err != nil { 5575 return nil, err 5576 } 5577 return &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 5578 } 5579 5580 // NewRolesCaller creates a new read-only instance of Roles, bound to a specific deployed contract. 5581 func NewRolesCaller(address common.Address, caller bind.ContractCaller) (*RolesCaller, error) { 5582 contract, err := bindRoles(address, caller, nil, nil) 5583 if err != nil { 5584 return nil, err 5585 } 5586 return &RolesCaller{contract: contract}, nil 5587 } 5588 5589 // NewRolesTransactor creates a new write-only instance of Roles, bound to a specific deployed contract. 5590 func NewRolesTransactor(address common.Address, transactor bind.ContractTransactor) (*RolesTransactor, error) { 5591 contract, err := bindRoles(address, nil, transactor, nil) 5592 if err != nil { 5593 return nil, err 5594 } 5595 return &RolesTransactor{contract: contract}, nil 5596 } 5597 5598 // NewRolesFilterer creates a new log filterer instance of Roles, bound to a specific deployed contract. 5599 func NewRolesFilterer(address common.Address, filterer bind.ContractFilterer) (*RolesFilterer, error) { 5600 contract, err := bindRoles(address, nil, nil, filterer) 5601 if err != nil { 5602 return nil, err 5603 } 5604 return &RolesFilterer{contract: contract}, nil 5605 } 5606 5607 // bindRoles binds a generic wrapper to an already deployed contract. 5608 func bindRoles(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5609 parsed, err := RolesMetaData.GetAbi() 5610 if err != nil { 5611 return nil, err 5612 } 5613 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 5614 } 5615 5616 // Call invokes the (constant) contract method with params as input values and 5617 // sets the output to result. The result type might be a single field for simple 5618 // returns, a slice of interfaces for anonymous returns and a struct for named 5619 // returns. 5620 func (_Roles *RolesRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5621 return _Roles.Contract.RolesCaller.contract.Call(opts, result, method, params...) 5622 } 5623 5624 // Transfer initiates a plain transaction to move funds to the contract, calling 5625 // its default method if one is available. 5626 func (_Roles *RolesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5627 return _Roles.Contract.RolesTransactor.contract.Transfer(opts) 5628 } 5629 5630 // Transact invokes the (paid) contract method with params as input values. 5631 func (_Roles *RolesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5632 return _Roles.Contract.RolesTransactor.contract.Transact(opts, method, params...) 5633 } 5634 5635 // Call invokes the (constant) contract method with params as input values and 5636 // sets the output to result. The result type might be a single field for simple 5637 // returns, a slice of interfaces for anonymous returns and a struct for named 5638 // returns. 5639 func (_Roles *RolesCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5640 return _Roles.Contract.contract.Call(opts, result, method, params...) 5641 } 5642 5643 // Transfer initiates a plain transaction to move funds to the contract, calling 5644 // its default method if one is available. 5645 func (_Roles *RolesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5646 return _Roles.Contract.contract.Transfer(opts) 5647 } 5648 5649 // Transact invokes the (paid) contract method with params as input values. 5650 func (_Roles *RolesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5651 return _Roles.Contract.contract.Transact(opts, method, params...) 5652 } 5653 5654 // SafeMathMetaData contains all meta data concerning the SafeMath contract. 5655 var SafeMathMetaData = &bind.MetaData{ 5656 ABI: "[]", 5657 Bin: "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582052c975835d8618888691b14d52ff822fc00b24a3637e28a17d824cf0361b62b90029", 5658 } 5659 5660 // SafeMathABI is the input ABI used to generate the binding from. 5661 // Deprecated: Use SafeMathMetaData.ABI instead. 5662 var SafeMathABI = SafeMathMetaData.ABI 5663 5664 // SafeMathBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 5665 const SafeMathBinRuntime = `73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582052c975835d8618888691b14d52ff822fc00b24a3637e28a17d824cf0361b62b90029` 5666 5667 // SafeMathBin is the compiled bytecode used for deploying new contracts. 5668 // Deprecated: Use SafeMathMetaData.Bin instead. 5669 var SafeMathBin = SafeMathMetaData.Bin 5670 5671 // DeploySafeMath deploys a new Klaytn contract, binding an instance of SafeMath to it. 5672 func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { 5673 parsed, err := SafeMathMetaData.GetAbi() 5674 if err != nil { 5675 return common.Address{}, nil, nil, err 5676 } 5677 if parsed == nil { 5678 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 5679 } 5680 5681 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SafeMathBin), backend) 5682 if err != nil { 5683 return common.Address{}, nil, nil, err 5684 } 5685 return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 5686 } 5687 5688 // SafeMath is an auto generated Go binding around a Klaytn contract. 5689 type SafeMath struct { 5690 SafeMathCaller // Read-only binding to the contract 5691 SafeMathTransactor // Write-only binding to the contract 5692 SafeMathFilterer // Log filterer for contract events 5693 } 5694 5695 // SafeMathCaller is an auto generated read-only Go binding around a Klaytn contract. 5696 type SafeMathCaller struct { 5697 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5698 } 5699 5700 // SafeMathTransactor is an auto generated write-only Go binding around a Klaytn contract. 5701 type SafeMathTransactor struct { 5702 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5703 } 5704 5705 // SafeMathFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 5706 type SafeMathFilterer struct { 5707 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5708 } 5709 5710 // SafeMathSession is an auto generated Go binding around a Klaytn contract, 5711 // with pre-set call and transact options. 5712 type SafeMathSession struct { 5713 Contract *SafeMath // Generic contract binding to set the session for 5714 CallOpts bind.CallOpts // Call options to use throughout this session 5715 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5716 } 5717 5718 // SafeMathCallerSession is an auto generated read-only Go binding around a Klaytn contract, 5719 // with pre-set call options. 5720 type SafeMathCallerSession struct { 5721 Contract *SafeMathCaller // Generic contract caller binding to set the session for 5722 CallOpts bind.CallOpts // Call options to use throughout this session 5723 } 5724 5725 // SafeMathTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 5726 // with pre-set transact options. 5727 type SafeMathTransactorSession struct { 5728 Contract *SafeMathTransactor // Generic contract transactor binding to set the session for 5729 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5730 } 5731 5732 // SafeMathRaw is an auto generated low-level Go binding around a Klaytn contract. 5733 type SafeMathRaw struct { 5734 Contract *SafeMath // Generic contract binding to access the raw methods on 5735 } 5736 5737 // SafeMathCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 5738 type SafeMathCallerRaw struct { 5739 Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on 5740 } 5741 5742 // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 5743 type SafeMathTransactorRaw struct { 5744 Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on 5745 } 5746 5747 // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. 5748 func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { 5749 contract, err := bindSafeMath(address, backend, backend, backend) 5750 if err != nil { 5751 return nil, err 5752 } 5753 return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 5754 } 5755 5756 // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. 5757 func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { 5758 contract, err := bindSafeMath(address, caller, nil, nil) 5759 if err != nil { 5760 return nil, err 5761 } 5762 return &SafeMathCaller{contract: contract}, nil 5763 } 5764 5765 // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. 5766 func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { 5767 contract, err := bindSafeMath(address, nil, transactor, nil) 5768 if err != nil { 5769 return nil, err 5770 } 5771 return &SafeMathTransactor{contract: contract}, nil 5772 } 5773 5774 // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. 5775 func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { 5776 contract, err := bindSafeMath(address, nil, nil, filterer) 5777 if err != nil { 5778 return nil, err 5779 } 5780 return &SafeMathFilterer{contract: contract}, nil 5781 } 5782 5783 // bindSafeMath binds a generic wrapper to an already deployed contract. 5784 func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5785 parsed, err := SafeMathMetaData.GetAbi() 5786 if err != nil { 5787 return nil, err 5788 } 5789 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 5790 } 5791 5792 // Call invokes the (constant) contract method with params as input values and 5793 // sets the output to result. The result type might be a single field for simple 5794 // returns, a slice of interfaces for anonymous returns and a struct for named 5795 // returns. 5796 func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5797 return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) 5798 } 5799 5800 // Transfer initiates a plain transaction to move funds to the contract, calling 5801 // its default method if one is available. 5802 func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5803 return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) 5804 } 5805 5806 // Transact invokes the (paid) contract method with params as input values. 5807 func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5808 return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) 5809 } 5810 5811 // Call invokes the (constant) contract method with params as input values and 5812 // sets the output to result. The result type might be a single field for simple 5813 // returns, a slice of interfaces for anonymous returns and a struct for named 5814 // returns. 5815 func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5816 return _SafeMath.Contract.contract.Call(opts, result, method, params...) 5817 } 5818 5819 // Transfer initiates a plain transaction to move funds to the contract, calling 5820 // its default method if one is available. 5821 func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5822 return _SafeMath.Contract.contract.Transfer(opts) 5823 } 5824 5825 // Transact invokes the (paid) contract method with params as input values. 5826 func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5827 return _SafeMath.Contract.contract.Transact(opts, method, params...) 5828 } 5829 5830 // ServiceChainTokenMetaData contains all meta data concerning the ServiceChainToken contract. 5831 var ServiceChainTokenMetaData = &bind.MetaData{ 5832 ABI: "[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"INITIAL_SUPPLY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_feeLimit\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestValueTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"setBridge\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NAME\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"bridge\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"SYMBOL\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}]", 5833 Sigs: map[string]string{ 5834 "2e0f2625": "DECIMALS()", 5835 "2ff2e9dc": "INITIAL_SUPPLY()", 5836 "a3f4df7e": "NAME()", 5837 "f76f8d78": "SYMBOL()", 5838 "983b2d56": "addMinter(address)", 5839 "dd62ed3e": "allowance(address,address)", 5840 "095ea7b3": "approve(address,uint256)", 5841 "70a08231": "balanceOf(address)", 5842 "e78cea92": "bridge()", 5843 "42966c68": "burn(uint256)", 5844 "79cc6790": "burnFrom(address,uint256)", 5845 "a457c2d7": "decreaseAllowance(address,uint256)", 5846 "39509351": "increaseAllowance(address,uint256)", 5847 "aa271e1a": "isMinter(address)", 5848 "8f32d59b": "isOwner()", 5849 "40c10f19": "mint(address,uint256)", 5850 "8da5cb5b": "owner()", 5851 "98650275": "renounceMinter()", 5852 "715018a6": "renounceOwnership()", 5853 "3dc3c9e1": "requestValueTransfer(uint256,address,uint256,bytes)", 5854 "8dd14802": "setBridge(address)", 5855 "18160ddd": "totalSupply()", 5856 "a9059cbb": "transfer(address,uint256)", 5857 "23b872dd": "transferFrom(address,address,uint256)", 5858 "f2fde38b": "transferOwnership(address)", 5859 }, 5860 Bin: "0x60806040523480156200001157600080fd5b50604051602080620019c6833981018060405260208110156200003357600080fd5b5051806200004833620000cc602090811b901c565b600480546001600160a01b0319163317908190556040516001600160a01b0391909116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3620000a5816200011e60201b60201c565b50620000c5336b033b2e3c9fd0803ce800000062000247602090811b901c565b506200051c565b620000e78160036200036260201b620011f11790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6200012e6200040660201b60201c565b6200019a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b620001b9816001600160a01b03166200041760201b6200104d1760201c565b6200022557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216620002bd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620002d9816002546200041d60201b62000dd51790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200030c91839062000dd56200041d821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6200037482826200049960201b60201c565b15620003e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6004546001600160a01b0316331490565b3b151590565b6000828201838110156200049257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006001600160a01b038216620004fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620019a46022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b611478806200052c6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80638da5cb5b116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e14610506578063e78cea9214610534578063f2fde38b1461053c578063f76f8d781461056257610173565b8063a457c2d714610488578063a9059cbb146104b4578063aa271e1a146104e057610173565b80638da5cb5b1461038b5780638dd14802146103af5780638f32d59b146103d5578063983b2d56146103dd5780639865027514610403578063a3f4df7e1461040b57610173565b80633dc3c9e1116101305780633dc3c9e11461025a57806340c10f19146102e857806342966c681461031457806370a0823114610331578063715018a61461035757806379cc67901461035f57610173565b8063095ea7b31461017857806318160ddd146101b857806323b872dd146101d25780632e0f2625146102085780632ff2e9dc14610226578063395093511461022e575b600080fd5b6101a46004803603604081101561018e57600080fd5b506001600160a01b03813516906020013561056a565b604080519115158252519081900360200190f35b6101c0610580565b60408051918252519081900360200190f35b6101a4600480360360608110156101e857600080fd5b506001600160a01b03813581169160208101359091169060400135610586565b6102106105dd565b6040805160ff9092168252519081900360200190f35b6101c06105e2565b6101a46004803603604081101561024457600080fd5b506001600160a01b0381351690602001356105f2565b6102e66004803603608081101561027057600080fd5b8135916001600160a01b0360208201351691604082013591908101906080810160608201356401000000008111156102a757600080fd5b8201836020820111156102b957600080fd5b803590602001918460018302840111640100000000831117156102db57600080fd5b50909250905061062e565b005b6101a4600480360360408110156102fe57600080fd5b506001600160a01b038135169060200135610751565b6102e66004803603602081101561032a57600080fd5b50356107a4565b6101c06004803603602081101561034757600080fd5b50356001600160a01b03166107b1565b6102e66107cc565b6102e66004803603604081101561037557600080fd5b506001600160a01b038135169060200135610872565b610393610880565b604080516001600160a01b039092168252519081900360200190f35b6102e6600480360360208110156103c557600080fd5b50356001600160a01b031661088f565b6101a4610973565b6102e6600480360360208110156103f357600080fd5b50356001600160a01b0316610984565b6102e66109d4565b6104136109df565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561044d578181015183820152602001610435565b50505050905090810190601f16801561047a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a46004803603604081101561049e57600080fd5b506001600160a01b038135169060200135610a18565b6101a4600480360360408110156104ca57600080fd5b506001600160a01b038135169060200135610a54565b6101a4600480360360208110156104f657600080fd5b50356001600160a01b0316610a61565b6101c06004803603604081101561051c57600080fd5b506001600160a01b0381358116916020013516610a7a565b610393610aa5565b6102e66004803603602081101561055257600080fd5b50356001600160a01b0316610ab4565b610413610b19565b6000610577338484610b3b565b50600192915050565b60025490565b6000610593848484610c2d565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546105d39186916105ce908663ffffffff610d7516565b610b3b565b5060019392505050565b601281565b6b033b2e3c9fd0803ce800000081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105779185906105ce908663ffffffff610dd516565b600554610653906001600160a01b031661064e878663ffffffff610dd516565b610a54565b61069157604051600160e51b62461bcd0281526004018080602001828103825260258152602001806114286025913960400191505060405180910390fd5b600554604051600160e01b63f1656e5302815233600482018181526001600160a01b038881166024850152604484018a90526064840188905260a06084850190815260a4850187905294169363f1656e539389928b928a928a928a92909160c401848480828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561073257600080fd5b505af1158015610746573d6000803e3d6000fd5b505050505050505050565b600061075c33610a61565b61079a57604051600160e51b62461bcd02815260040180806020018281038252603081526020018061134b6030913960400191505060405180910390fd5b6105778383610e39565b6107ae3382610f2c565b50565b6001600160a01b031660009081526020819052604090205490565b6107d4610973565b6108285760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6004546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600480546001600160a01b0319169055565b61087c8282611008565b5050565b6004546001600160a01b031690565b610897610973565b6108eb5760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6108fd816001600160a01b031661104d565b6109515760408051600160e51b62461bcd02815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b0316331490565b61098d33610a61565b6109cb57604051600160e51b62461bcd02815260040180806020018281038252603081526020018061134b6030913960400191505060405180910390fd5b6107ae81611053565b6109dd3361109b565b565b6040518060400160405280601181526020017f53657276696365436861696e546f6b656e00000000000000000000000000000081525081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105779185906105ce908663ffffffff610d7516565b6000610577338484610c2d565b6000610a7460038363ffffffff6110e316565b92915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6005546001600160a01b031681565b610abc610973565b610b105760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6107ae8161114d565b604051806040016040528060038152602001600160ea1b6214d0d50281525081565b6001600160a01b038316610b8357604051600160e51b62461bcd0281526004018080602001828103825260248152602001806114046024913960400191505060405180910390fd5b6001600160a01b038216610bcb57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806113296022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c7557604051600160e51b62461bcd0281526004018080602001828103825260258152602001806113df6025913960400191505060405180910390fd5b6001600160a01b038216610cbd57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806112e06023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610ce6908263ffffffff610d7516565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610d1b908263ffffffff610dd516565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610dcf5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610e325760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610e975760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610eaa908263ffffffff610dd516565b6002556001600160a01b038216600090815260208190526040902054610ed6908263ffffffff610dd516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610f7457604051600160e51b62461bcd0281526004018080602001828103825260218152602001806113be6021913960400191505060405180910390fd5b600254610f87908263ffffffff610d7516565b6002556001600160a01b038216600090815260208190526040902054610fb3908263ffffffff610d7516565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6110128282610f2c565b6001600160a01b03821660009081526001602090815260408083203380855292529091205461087c9184916105ce908563ffffffff610d7516565b3b151590565b61106460038263ffffffff6111f116565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6110ac60038263ffffffff61127516565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661112d57604051600160e51b62461bcd02815260040180806020018281038252602281526020018061139c6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b03811661119557604051600160e51b62461bcd0281526004018080602001828103825260268152602001806113036026913960400191505060405180910390fd5b6004546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600480546001600160a01b0319166001600160a01b0392909216919091179055565b6111fb82826110e3565b156112505760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b61127f82826110e3565b6112bd57604051600160e51b62461bcd02815260040180806020018281038252602181526020018061137b6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573737265717565737456616c75655472616e736665723a207472616e73666572206661696c6564a165627a7a723058202e38a4147f4ac4c20a2215c319fa05c4bd78865723915d12ebc5ef7ae6c48c970029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", 5861 } 5862 5863 // ServiceChainTokenABI is the input ABI used to generate the binding from. 5864 // Deprecated: Use ServiceChainTokenMetaData.ABI instead. 5865 var ServiceChainTokenABI = ServiceChainTokenMetaData.ABI 5866 5867 // ServiceChainTokenBinRuntime is the compiled bytecode used for adding genesis block without deploying code. 5868 const ServiceChainTokenBinRuntime = `608060405234801561001057600080fd5b50600436106101735760003560e01c80638da5cb5b116100de578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e14610506578063e78cea9214610534578063f2fde38b1461053c578063f76f8d781461056257610173565b8063a457c2d714610488578063a9059cbb146104b4578063aa271e1a146104e057610173565b80638da5cb5b1461038b5780638dd14802146103af5780638f32d59b146103d5578063983b2d56146103dd5780639865027514610403578063a3f4df7e1461040b57610173565b80633dc3c9e1116101305780633dc3c9e11461025a57806340c10f19146102e857806342966c681461031457806370a0823114610331578063715018a61461035757806379cc67901461035f57610173565b8063095ea7b31461017857806318160ddd146101b857806323b872dd146101d25780632e0f2625146102085780632ff2e9dc14610226578063395093511461022e575b600080fd5b6101a46004803603604081101561018e57600080fd5b506001600160a01b03813516906020013561056a565b604080519115158252519081900360200190f35b6101c0610580565b60408051918252519081900360200190f35b6101a4600480360360608110156101e857600080fd5b506001600160a01b03813581169160208101359091169060400135610586565b6102106105dd565b6040805160ff9092168252519081900360200190f35b6101c06105e2565b6101a46004803603604081101561024457600080fd5b506001600160a01b0381351690602001356105f2565b6102e66004803603608081101561027057600080fd5b8135916001600160a01b0360208201351691604082013591908101906080810160608201356401000000008111156102a757600080fd5b8201836020820111156102b957600080fd5b803590602001918460018302840111640100000000831117156102db57600080fd5b50909250905061062e565b005b6101a4600480360360408110156102fe57600080fd5b506001600160a01b038135169060200135610751565b6102e66004803603602081101561032a57600080fd5b50356107a4565b6101c06004803603602081101561034757600080fd5b50356001600160a01b03166107b1565b6102e66107cc565b6102e66004803603604081101561037557600080fd5b506001600160a01b038135169060200135610872565b610393610880565b604080516001600160a01b039092168252519081900360200190f35b6102e6600480360360208110156103c557600080fd5b50356001600160a01b031661088f565b6101a4610973565b6102e6600480360360208110156103f357600080fd5b50356001600160a01b0316610984565b6102e66109d4565b6104136109df565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561044d578181015183820152602001610435565b50505050905090810190601f16801561047a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a46004803603604081101561049e57600080fd5b506001600160a01b038135169060200135610a18565b6101a4600480360360408110156104ca57600080fd5b506001600160a01b038135169060200135610a54565b6101a4600480360360208110156104f657600080fd5b50356001600160a01b0316610a61565b6101c06004803603604081101561051c57600080fd5b506001600160a01b0381358116916020013516610a7a565b610393610aa5565b6102e66004803603602081101561055257600080fd5b50356001600160a01b0316610ab4565b610413610b19565b6000610577338484610b3b565b50600192915050565b60025490565b6000610593848484610c2d565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546105d39186916105ce908663ffffffff610d7516565b610b3b565b5060019392505050565b601281565b6b033b2e3c9fd0803ce800000081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105779185906105ce908663ffffffff610dd516565b600554610653906001600160a01b031661064e878663ffffffff610dd516565b610a54565b61069157604051600160e51b62461bcd0281526004018080602001828103825260258152602001806114286025913960400191505060405180910390fd5b600554604051600160e01b63f1656e5302815233600482018181526001600160a01b038881166024850152604484018a90526064840188905260a06084850190815260a4850187905294169363f1656e539389928b928a928a928a92909160c401848480828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561073257600080fd5b505af1158015610746573d6000803e3d6000fd5b505050505050505050565b600061075c33610a61565b61079a57604051600160e51b62461bcd02815260040180806020018281038252603081526020018061134b6030913960400191505060405180910390fd5b6105778383610e39565b6107ae3382610f2c565b50565b6001600160a01b031660009081526020819052604090205490565b6107d4610973565b6108285760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6004546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600480546001600160a01b0319169055565b61087c8282611008565b5050565b6004546001600160a01b031690565b610897610973565b6108eb5760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6108fd816001600160a01b031661104d565b6109515760408051600160e51b62461bcd02815260206004820152601860248201527f627269646765206973206e6f74206120636f6e74726163740000000000000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b0316331490565b61098d33610a61565b6109cb57604051600160e51b62461bcd02815260040180806020018281038252603081526020018061134b6030913960400191505060405180910390fd5b6107ae81611053565b6109dd3361109b565b565b6040518060400160405280601181526020017f53657276696365436861696e546f6b656e00000000000000000000000000000081525081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105779185906105ce908663ffffffff610d7516565b6000610577338484610c2d565b6000610a7460038363ffffffff6110e316565b92915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6005546001600160a01b031681565b610abc610973565b610b105760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6107ae8161114d565b604051806040016040528060038152602001600160ea1b6214d0d50281525081565b6001600160a01b038316610b8357604051600160e51b62461bcd0281526004018080602001828103825260248152602001806114046024913960400191505060405180910390fd5b6001600160a01b038216610bcb57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806113296022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c7557604051600160e51b62461bcd0281526004018080602001828103825260258152602001806113df6025913960400191505060405180910390fd5b6001600160a01b038216610cbd57604051600160e51b62461bcd0281526004018080602001828103825260238152602001806112e06023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610ce6908263ffffffff610d7516565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610d1b908263ffffffff610dd516565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610dcf5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610e325760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610e975760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610eaa908263ffffffff610dd516565b6002556001600160a01b038216600090815260208190526040902054610ed6908263ffffffff610dd516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610f7457604051600160e51b62461bcd0281526004018080602001828103825260218152602001806113be6021913960400191505060405180910390fd5b600254610f87908263ffffffff610d7516565b6002556001600160a01b038216600090815260208190526040902054610fb3908263ffffffff610d7516565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6110128282610f2c565b6001600160a01b03821660009081526001602090815260408083203380855292529091205461087c9184916105ce908563ffffffff610d7516565b3b151590565b61106460038263ffffffff6111f116565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6110ac60038263ffffffff61127516565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661112d57604051600160e51b62461bcd02815260040180806020018281038252602281526020018061139c6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b03811661119557604051600160e51b62461bcd0281526004018080602001828103825260268152602001806113036026913960400191505060405180910390fd5b6004546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600480546001600160a01b0319166001600160a01b0392909216919091179055565b6111fb82826110e3565b156112505760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b61127f82826110e3565b6112bd57604051600160e51b62461bcd02815260040180806020018281038252602181526020018061137b6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573737265717565737456616c75655472616e736665723a207472616e73666572206661696c6564a165627a7a723058202e38a4147f4ac4c20a2215c319fa05c4bd78865723915d12ebc5ef7ae6c48c970029` 5869 5870 // ServiceChainTokenFuncSigs maps the 4-byte function signature to its string representation. 5871 // Deprecated: Use ServiceChainTokenMetaData.Sigs instead. 5872 var ServiceChainTokenFuncSigs = ServiceChainTokenMetaData.Sigs 5873 5874 // ServiceChainTokenBin is the compiled bytecode used for deploying new contracts. 5875 // Deprecated: Use ServiceChainTokenMetaData.Bin instead. 5876 var ServiceChainTokenBin = ServiceChainTokenMetaData.Bin 5877 5878 // DeployServiceChainToken deploys a new Klaytn contract, binding an instance of ServiceChainToken to it. 5879 func DeployServiceChainToken(auth *bind.TransactOpts, backend bind.ContractBackend, _bridge common.Address) (common.Address, *types.Transaction, *ServiceChainToken, error) { 5880 parsed, err := ServiceChainTokenMetaData.GetAbi() 5881 if err != nil { 5882 return common.Address{}, nil, nil, err 5883 } 5884 if parsed == nil { 5885 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 5886 } 5887 5888 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ServiceChainTokenBin), backend, _bridge) 5889 if err != nil { 5890 return common.Address{}, nil, nil, err 5891 } 5892 return address, tx, &ServiceChainToken{ServiceChainTokenCaller: ServiceChainTokenCaller{contract: contract}, ServiceChainTokenTransactor: ServiceChainTokenTransactor{contract: contract}, ServiceChainTokenFilterer: ServiceChainTokenFilterer{contract: contract}}, nil 5893 } 5894 5895 // ServiceChainToken is an auto generated Go binding around a Klaytn contract. 5896 type ServiceChainToken struct { 5897 ServiceChainTokenCaller // Read-only binding to the contract 5898 ServiceChainTokenTransactor // Write-only binding to the contract 5899 ServiceChainTokenFilterer // Log filterer for contract events 5900 } 5901 5902 // ServiceChainTokenCaller is an auto generated read-only Go binding around a Klaytn contract. 5903 type ServiceChainTokenCaller struct { 5904 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5905 } 5906 5907 // ServiceChainTokenTransactor is an auto generated write-only Go binding around a Klaytn contract. 5908 type ServiceChainTokenTransactor struct { 5909 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5910 } 5911 5912 // ServiceChainTokenFilterer is an auto generated log filtering Go binding around a Klaytn contract events. 5913 type ServiceChainTokenFilterer struct { 5914 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5915 } 5916 5917 // ServiceChainTokenSession is an auto generated Go binding around a Klaytn contract, 5918 // with pre-set call and transact options. 5919 type ServiceChainTokenSession struct { 5920 Contract *ServiceChainToken // Generic contract binding to set the session for 5921 CallOpts bind.CallOpts // Call options to use throughout this session 5922 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5923 } 5924 5925 // ServiceChainTokenCallerSession is an auto generated read-only Go binding around a Klaytn contract, 5926 // with pre-set call options. 5927 type ServiceChainTokenCallerSession struct { 5928 Contract *ServiceChainTokenCaller // Generic contract caller binding to set the session for 5929 CallOpts bind.CallOpts // Call options to use throughout this session 5930 } 5931 5932 // ServiceChainTokenTransactorSession is an auto generated write-only Go binding around a Klaytn contract, 5933 // with pre-set transact options. 5934 type ServiceChainTokenTransactorSession struct { 5935 Contract *ServiceChainTokenTransactor // Generic contract transactor binding to set the session for 5936 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5937 } 5938 5939 // ServiceChainTokenRaw is an auto generated low-level Go binding around a Klaytn contract. 5940 type ServiceChainTokenRaw struct { 5941 Contract *ServiceChainToken // Generic contract binding to access the raw methods on 5942 } 5943 5944 // ServiceChainTokenCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. 5945 type ServiceChainTokenCallerRaw struct { 5946 Contract *ServiceChainTokenCaller // Generic read-only contract binding to access the raw methods on 5947 } 5948 5949 // ServiceChainTokenTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. 5950 type ServiceChainTokenTransactorRaw struct { 5951 Contract *ServiceChainTokenTransactor // Generic write-only contract binding to access the raw methods on 5952 } 5953 5954 // NewServiceChainToken creates a new instance of ServiceChainToken, bound to a specific deployed contract. 5955 func NewServiceChainToken(address common.Address, backend bind.ContractBackend) (*ServiceChainToken, error) { 5956 contract, err := bindServiceChainToken(address, backend, backend, backend) 5957 if err != nil { 5958 return nil, err 5959 } 5960 return &ServiceChainToken{ServiceChainTokenCaller: ServiceChainTokenCaller{contract: contract}, ServiceChainTokenTransactor: ServiceChainTokenTransactor{contract: contract}, ServiceChainTokenFilterer: ServiceChainTokenFilterer{contract: contract}}, nil 5961 } 5962 5963 // NewServiceChainTokenCaller creates a new read-only instance of ServiceChainToken, bound to a specific deployed contract. 5964 func NewServiceChainTokenCaller(address common.Address, caller bind.ContractCaller) (*ServiceChainTokenCaller, error) { 5965 contract, err := bindServiceChainToken(address, caller, nil, nil) 5966 if err != nil { 5967 return nil, err 5968 } 5969 return &ServiceChainTokenCaller{contract: contract}, nil 5970 } 5971 5972 // NewServiceChainTokenTransactor creates a new write-only instance of ServiceChainToken, bound to a specific deployed contract. 5973 func NewServiceChainTokenTransactor(address common.Address, transactor bind.ContractTransactor) (*ServiceChainTokenTransactor, error) { 5974 contract, err := bindServiceChainToken(address, nil, transactor, nil) 5975 if err != nil { 5976 return nil, err 5977 } 5978 return &ServiceChainTokenTransactor{contract: contract}, nil 5979 } 5980 5981 // NewServiceChainTokenFilterer creates a new log filterer instance of ServiceChainToken, bound to a specific deployed contract. 5982 func NewServiceChainTokenFilterer(address common.Address, filterer bind.ContractFilterer) (*ServiceChainTokenFilterer, error) { 5983 contract, err := bindServiceChainToken(address, nil, nil, filterer) 5984 if err != nil { 5985 return nil, err 5986 } 5987 return &ServiceChainTokenFilterer{contract: contract}, nil 5988 } 5989 5990 // bindServiceChainToken binds a generic wrapper to an already deployed contract. 5991 func bindServiceChainToken(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5992 parsed, err := ServiceChainTokenMetaData.GetAbi() 5993 if err != nil { 5994 return nil, err 5995 } 5996 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 5997 } 5998 5999 // Call invokes the (constant) contract method with params as input values and 6000 // sets the output to result. The result type might be a single field for simple 6001 // returns, a slice of interfaces for anonymous returns and a struct for named 6002 // returns. 6003 func (_ServiceChainToken *ServiceChainTokenRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6004 return _ServiceChainToken.Contract.ServiceChainTokenCaller.contract.Call(opts, result, method, params...) 6005 } 6006 6007 // Transfer initiates a plain transaction to move funds to the contract, calling 6008 // its default method if one is available. 6009 func (_ServiceChainToken *ServiceChainTokenRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6010 return _ServiceChainToken.Contract.ServiceChainTokenTransactor.contract.Transfer(opts) 6011 } 6012 6013 // Transact invokes the (paid) contract method with params as input values. 6014 func (_ServiceChainToken *ServiceChainTokenRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6015 return _ServiceChainToken.Contract.ServiceChainTokenTransactor.contract.Transact(opts, method, params...) 6016 } 6017 6018 // Call invokes the (constant) contract method with params as input values and 6019 // sets the output to result. The result type might be a single field for simple 6020 // returns, a slice of interfaces for anonymous returns and a struct for named 6021 // returns. 6022 func (_ServiceChainToken *ServiceChainTokenCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 6023 return _ServiceChainToken.Contract.contract.Call(opts, result, method, params...) 6024 } 6025 6026 // Transfer initiates a plain transaction to move funds to the contract, calling 6027 // its default method if one is available. 6028 func (_ServiceChainToken *ServiceChainTokenTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 6029 return _ServiceChainToken.Contract.contract.Transfer(opts) 6030 } 6031 6032 // Transact invokes the (paid) contract method with params as input values. 6033 func (_ServiceChainToken *ServiceChainTokenTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 6034 return _ServiceChainToken.Contract.contract.Transact(opts, method, params...) 6035 } 6036 6037 // DECIMALS is a free data retrieval call binding the contract method 0x2e0f2625. 6038 // 6039 // Solidity: function DECIMALS() view returns(uint8) 6040 func (_ServiceChainToken *ServiceChainTokenCaller) DECIMALS(opts *bind.CallOpts) (uint8, error) { 6041 var out []interface{} 6042 err := _ServiceChainToken.contract.Call(opts, &out, "DECIMALS") 6043 6044 if err != nil { 6045 return *new(uint8), err 6046 } 6047 6048 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) 6049 6050 return out0, err 6051 6052 } 6053 6054 // DECIMALS is a free data retrieval call binding the contract method 0x2e0f2625. 6055 // 6056 // Solidity: function DECIMALS() view returns(uint8) 6057 func (_ServiceChainToken *ServiceChainTokenSession) DECIMALS() (uint8, error) { 6058 return _ServiceChainToken.Contract.DECIMALS(&_ServiceChainToken.CallOpts) 6059 } 6060 6061 // DECIMALS is a free data retrieval call binding the contract method 0x2e0f2625. 6062 // 6063 // Solidity: function DECIMALS() view returns(uint8) 6064 func (_ServiceChainToken *ServiceChainTokenCallerSession) DECIMALS() (uint8, error) { 6065 return _ServiceChainToken.Contract.DECIMALS(&_ServiceChainToken.CallOpts) 6066 } 6067 6068 // INITIALSUPPLY is a free data retrieval call binding the contract method 0x2ff2e9dc. 6069 // 6070 // Solidity: function INITIAL_SUPPLY() view returns(uint256) 6071 func (_ServiceChainToken *ServiceChainTokenCaller) INITIALSUPPLY(opts *bind.CallOpts) (*big.Int, error) { 6072 var out []interface{} 6073 err := _ServiceChainToken.contract.Call(opts, &out, "INITIAL_SUPPLY") 6074 6075 if err != nil { 6076 return *new(*big.Int), err 6077 } 6078 6079 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6080 6081 return out0, err 6082 6083 } 6084 6085 // INITIALSUPPLY is a free data retrieval call binding the contract method 0x2ff2e9dc. 6086 // 6087 // Solidity: function INITIAL_SUPPLY() view returns(uint256) 6088 func (_ServiceChainToken *ServiceChainTokenSession) INITIALSUPPLY() (*big.Int, error) { 6089 return _ServiceChainToken.Contract.INITIALSUPPLY(&_ServiceChainToken.CallOpts) 6090 } 6091 6092 // INITIALSUPPLY is a free data retrieval call binding the contract method 0x2ff2e9dc. 6093 // 6094 // Solidity: function INITIAL_SUPPLY() view returns(uint256) 6095 func (_ServiceChainToken *ServiceChainTokenCallerSession) INITIALSUPPLY() (*big.Int, error) { 6096 return _ServiceChainToken.Contract.INITIALSUPPLY(&_ServiceChainToken.CallOpts) 6097 } 6098 6099 // NAME is a free data retrieval call binding the contract method 0xa3f4df7e. 6100 // 6101 // Solidity: function NAME() view returns(string) 6102 func (_ServiceChainToken *ServiceChainTokenCaller) NAME(opts *bind.CallOpts) (string, error) { 6103 var out []interface{} 6104 err := _ServiceChainToken.contract.Call(opts, &out, "NAME") 6105 6106 if err != nil { 6107 return *new(string), err 6108 } 6109 6110 out0 := *abi.ConvertType(out[0], new(string)).(*string) 6111 6112 return out0, err 6113 6114 } 6115 6116 // NAME is a free data retrieval call binding the contract method 0xa3f4df7e. 6117 // 6118 // Solidity: function NAME() view returns(string) 6119 func (_ServiceChainToken *ServiceChainTokenSession) NAME() (string, error) { 6120 return _ServiceChainToken.Contract.NAME(&_ServiceChainToken.CallOpts) 6121 } 6122 6123 // NAME is a free data retrieval call binding the contract method 0xa3f4df7e. 6124 // 6125 // Solidity: function NAME() view returns(string) 6126 func (_ServiceChainToken *ServiceChainTokenCallerSession) NAME() (string, error) { 6127 return _ServiceChainToken.Contract.NAME(&_ServiceChainToken.CallOpts) 6128 } 6129 6130 // SYMBOL is a free data retrieval call binding the contract method 0xf76f8d78. 6131 // 6132 // Solidity: function SYMBOL() view returns(string) 6133 func (_ServiceChainToken *ServiceChainTokenCaller) SYMBOL(opts *bind.CallOpts) (string, error) { 6134 var out []interface{} 6135 err := _ServiceChainToken.contract.Call(opts, &out, "SYMBOL") 6136 6137 if err != nil { 6138 return *new(string), err 6139 } 6140 6141 out0 := *abi.ConvertType(out[0], new(string)).(*string) 6142 6143 return out0, err 6144 6145 } 6146 6147 // SYMBOL is a free data retrieval call binding the contract method 0xf76f8d78. 6148 // 6149 // Solidity: function SYMBOL() view returns(string) 6150 func (_ServiceChainToken *ServiceChainTokenSession) SYMBOL() (string, error) { 6151 return _ServiceChainToken.Contract.SYMBOL(&_ServiceChainToken.CallOpts) 6152 } 6153 6154 // SYMBOL is a free data retrieval call binding the contract method 0xf76f8d78. 6155 // 6156 // Solidity: function SYMBOL() view returns(string) 6157 func (_ServiceChainToken *ServiceChainTokenCallerSession) SYMBOL() (string, error) { 6158 return _ServiceChainToken.Contract.SYMBOL(&_ServiceChainToken.CallOpts) 6159 } 6160 6161 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 6162 // 6163 // Solidity: function allowance(address owner, address spender) view returns(uint256) 6164 func (_ServiceChainToken *ServiceChainTokenCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 6165 var out []interface{} 6166 err := _ServiceChainToken.contract.Call(opts, &out, "allowance", owner, spender) 6167 6168 if err != nil { 6169 return *new(*big.Int), err 6170 } 6171 6172 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6173 6174 return out0, err 6175 6176 } 6177 6178 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 6179 // 6180 // Solidity: function allowance(address owner, address spender) view returns(uint256) 6181 func (_ServiceChainToken *ServiceChainTokenSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 6182 return _ServiceChainToken.Contract.Allowance(&_ServiceChainToken.CallOpts, owner, spender) 6183 } 6184 6185 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 6186 // 6187 // Solidity: function allowance(address owner, address spender) view returns(uint256) 6188 func (_ServiceChainToken *ServiceChainTokenCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 6189 return _ServiceChainToken.Contract.Allowance(&_ServiceChainToken.CallOpts, owner, spender) 6190 } 6191 6192 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6193 // 6194 // Solidity: function balanceOf(address account) view returns(uint256) 6195 func (_ServiceChainToken *ServiceChainTokenCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { 6196 var out []interface{} 6197 err := _ServiceChainToken.contract.Call(opts, &out, "balanceOf", account) 6198 6199 if err != nil { 6200 return *new(*big.Int), err 6201 } 6202 6203 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6204 6205 return out0, err 6206 6207 } 6208 6209 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6210 // 6211 // Solidity: function balanceOf(address account) view returns(uint256) 6212 func (_ServiceChainToken *ServiceChainTokenSession) BalanceOf(account common.Address) (*big.Int, error) { 6213 return _ServiceChainToken.Contract.BalanceOf(&_ServiceChainToken.CallOpts, account) 6214 } 6215 6216 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 6217 // 6218 // Solidity: function balanceOf(address account) view returns(uint256) 6219 func (_ServiceChainToken *ServiceChainTokenCallerSession) BalanceOf(account common.Address) (*big.Int, error) { 6220 return _ServiceChainToken.Contract.BalanceOf(&_ServiceChainToken.CallOpts, account) 6221 } 6222 6223 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 6224 // 6225 // Solidity: function bridge() view returns(address) 6226 func (_ServiceChainToken *ServiceChainTokenCaller) Bridge(opts *bind.CallOpts) (common.Address, error) { 6227 var out []interface{} 6228 err := _ServiceChainToken.contract.Call(opts, &out, "bridge") 6229 6230 if err != nil { 6231 return *new(common.Address), err 6232 } 6233 6234 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 6235 6236 return out0, err 6237 6238 } 6239 6240 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 6241 // 6242 // Solidity: function bridge() view returns(address) 6243 func (_ServiceChainToken *ServiceChainTokenSession) Bridge() (common.Address, error) { 6244 return _ServiceChainToken.Contract.Bridge(&_ServiceChainToken.CallOpts) 6245 } 6246 6247 // Bridge is a free data retrieval call binding the contract method 0xe78cea92. 6248 // 6249 // Solidity: function bridge() view returns(address) 6250 func (_ServiceChainToken *ServiceChainTokenCallerSession) Bridge() (common.Address, error) { 6251 return _ServiceChainToken.Contract.Bridge(&_ServiceChainToken.CallOpts) 6252 } 6253 6254 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6255 // 6256 // Solidity: function isMinter(address account) view returns(bool) 6257 func (_ServiceChainToken *ServiceChainTokenCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { 6258 var out []interface{} 6259 err := _ServiceChainToken.contract.Call(opts, &out, "isMinter", account) 6260 6261 if err != nil { 6262 return *new(bool), err 6263 } 6264 6265 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 6266 6267 return out0, err 6268 6269 } 6270 6271 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6272 // 6273 // Solidity: function isMinter(address account) view returns(bool) 6274 func (_ServiceChainToken *ServiceChainTokenSession) IsMinter(account common.Address) (bool, error) { 6275 return _ServiceChainToken.Contract.IsMinter(&_ServiceChainToken.CallOpts, account) 6276 } 6277 6278 // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. 6279 // 6280 // Solidity: function isMinter(address account) view returns(bool) 6281 func (_ServiceChainToken *ServiceChainTokenCallerSession) IsMinter(account common.Address) (bool, error) { 6282 return _ServiceChainToken.Contract.IsMinter(&_ServiceChainToken.CallOpts, account) 6283 } 6284 6285 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6286 // 6287 // Solidity: function isOwner() view returns(bool) 6288 func (_ServiceChainToken *ServiceChainTokenCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 6289 var out []interface{} 6290 err := _ServiceChainToken.contract.Call(opts, &out, "isOwner") 6291 6292 if err != nil { 6293 return *new(bool), err 6294 } 6295 6296 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 6297 6298 return out0, err 6299 6300 } 6301 6302 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6303 // 6304 // Solidity: function isOwner() view returns(bool) 6305 func (_ServiceChainToken *ServiceChainTokenSession) IsOwner() (bool, error) { 6306 return _ServiceChainToken.Contract.IsOwner(&_ServiceChainToken.CallOpts) 6307 } 6308 6309 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 6310 // 6311 // Solidity: function isOwner() view returns(bool) 6312 func (_ServiceChainToken *ServiceChainTokenCallerSession) IsOwner() (bool, error) { 6313 return _ServiceChainToken.Contract.IsOwner(&_ServiceChainToken.CallOpts) 6314 } 6315 6316 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6317 // 6318 // Solidity: function owner() view returns(address) 6319 func (_ServiceChainToken *ServiceChainTokenCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 6320 var out []interface{} 6321 err := _ServiceChainToken.contract.Call(opts, &out, "owner") 6322 6323 if err != nil { 6324 return *new(common.Address), err 6325 } 6326 6327 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 6328 6329 return out0, err 6330 6331 } 6332 6333 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6334 // 6335 // Solidity: function owner() view returns(address) 6336 func (_ServiceChainToken *ServiceChainTokenSession) Owner() (common.Address, error) { 6337 return _ServiceChainToken.Contract.Owner(&_ServiceChainToken.CallOpts) 6338 } 6339 6340 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 6341 // 6342 // Solidity: function owner() view returns(address) 6343 func (_ServiceChainToken *ServiceChainTokenCallerSession) Owner() (common.Address, error) { 6344 return _ServiceChainToken.Contract.Owner(&_ServiceChainToken.CallOpts) 6345 } 6346 6347 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6348 // 6349 // Solidity: function totalSupply() view returns(uint256) 6350 func (_ServiceChainToken *ServiceChainTokenCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 6351 var out []interface{} 6352 err := _ServiceChainToken.contract.Call(opts, &out, "totalSupply") 6353 6354 if err != nil { 6355 return *new(*big.Int), err 6356 } 6357 6358 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6359 6360 return out0, err 6361 6362 } 6363 6364 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6365 // 6366 // Solidity: function totalSupply() view returns(uint256) 6367 func (_ServiceChainToken *ServiceChainTokenSession) TotalSupply() (*big.Int, error) { 6368 return _ServiceChainToken.Contract.TotalSupply(&_ServiceChainToken.CallOpts) 6369 } 6370 6371 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6372 // 6373 // Solidity: function totalSupply() view returns(uint256) 6374 func (_ServiceChainToken *ServiceChainTokenCallerSession) TotalSupply() (*big.Int, error) { 6375 return _ServiceChainToken.Contract.TotalSupply(&_ServiceChainToken.CallOpts) 6376 } 6377 6378 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6379 // 6380 // Solidity: function addMinter(address account) returns() 6381 func (_ServiceChainToken *ServiceChainTokenTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 6382 return _ServiceChainToken.contract.Transact(opts, "addMinter", account) 6383 } 6384 6385 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6386 // 6387 // Solidity: function addMinter(address account) returns() 6388 func (_ServiceChainToken *ServiceChainTokenSession) AddMinter(account common.Address) (*types.Transaction, error) { 6389 return _ServiceChainToken.Contract.AddMinter(&_ServiceChainToken.TransactOpts, account) 6390 } 6391 6392 // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. 6393 // 6394 // Solidity: function addMinter(address account) returns() 6395 func (_ServiceChainToken *ServiceChainTokenTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { 6396 return _ServiceChainToken.Contract.AddMinter(&_ServiceChainToken.TransactOpts, account) 6397 } 6398 6399 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6400 // 6401 // Solidity: function approve(address spender, uint256 value) returns(bool) 6402 func (_ServiceChainToken *ServiceChainTokenTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 6403 return _ServiceChainToken.contract.Transact(opts, "approve", spender, value) 6404 } 6405 6406 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6407 // 6408 // Solidity: function approve(address spender, uint256 value) returns(bool) 6409 func (_ServiceChainToken *ServiceChainTokenSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 6410 return _ServiceChainToken.Contract.Approve(&_ServiceChainToken.TransactOpts, spender, value) 6411 } 6412 6413 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6414 // 6415 // Solidity: function approve(address spender, uint256 value) returns(bool) 6416 func (_ServiceChainToken *ServiceChainTokenTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 6417 return _ServiceChainToken.Contract.Approve(&_ServiceChainToken.TransactOpts, spender, value) 6418 } 6419 6420 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 6421 // 6422 // Solidity: function burn(uint256 amount) returns() 6423 func (_ServiceChainToken *ServiceChainTokenTransactor) Burn(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { 6424 return _ServiceChainToken.contract.Transact(opts, "burn", amount) 6425 } 6426 6427 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 6428 // 6429 // Solidity: function burn(uint256 amount) returns() 6430 func (_ServiceChainToken *ServiceChainTokenSession) Burn(amount *big.Int) (*types.Transaction, error) { 6431 return _ServiceChainToken.Contract.Burn(&_ServiceChainToken.TransactOpts, amount) 6432 } 6433 6434 // Burn is a paid mutator transaction binding the contract method 0x42966c68. 6435 // 6436 // Solidity: function burn(uint256 amount) returns() 6437 func (_ServiceChainToken *ServiceChainTokenTransactorSession) Burn(amount *big.Int) (*types.Transaction, error) { 6438 return _ServiceChainToken.Contract.Burn(&_ServiceChainToken.TransactOpts, amount) 6439 } 6440 6441 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 6442 // 6443 // Solidity: function burnFrom(address account, uint256 amount) returns() 6444 func (_ServiceChainToken *ServiceChainTokenTransactor) BurnFrom(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { 6445 return _ServiceChainToken.contract.Transact(opts, "burnFrom", account, amount) 6446 } 6447 6448 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 6449 // 6450 // Solidity: function burnFrom(address account, uint256 amount) returns() 6451 func (_ServiceChainToken *ServiceChainTokenSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { 6452 return _ServiceChainToken.Contract.BurnFrom(&_ServiceChainToken.TransactOpts, account, amount) 6453 } 6454 6455 // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. 6456 // 6457 // Solidity: function burnFrom(address account, uint256 amount) returns() 6458 func (_ServiceChainToken *ServiceChainTokenTransactorSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { 6459 return _ServiceChainToken.Contract.BurnFrom(&_ServiceChainToken.TransactOpts, account, amount) 6460 } 6461 6462 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 6463 // 6464 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 6465 func (_ServiceChainToken *ServiceChainTokenTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 6466 return _ServiceChainToken.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) 6467 } 6468 6469 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 6470 // 6471 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 6472 func (_ServiceChainToken *ServiceChainTokenSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 6473 return _ServiceChainToken.Contract.DecreaseAllowance(&_ServiceChainToken.TransactOpts, spender, subtractedValue) 6474 } 6475 6476 // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. 6477 // 6478 // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool) 6479 func (_ServiceChainToken *ServiceChainTokenTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { 6480 return _ServiceChainToken.Contract.DecreaseAllowance(&_ServiceChainToken.TransactOpts, spender, subtractedValue) 6481 } 6482 6483 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 6484 // 6485 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 6486 func (_ServiceChainToken *ServiceChainTokenTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 6487 return _ServiceChainToken.contract.Transact(opts, "increaseAllowance", spender, addedValue) 6488 } 6489 6490 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 6491 // 6492 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 6493 func (_ServiceChainToken *ServiceChainTokenSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 6494 return _ServiceChainToken.Contract.IncreaseAllowance(&_ServiceChainToken.TransactOpts, spender, addedValue) 6495 } 6496 6497 // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. 6498 // 6499 // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool) 6500 func (_ServiceChainToken *ServiceChainTokenTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { 6501 return _ServiceChainToken.Contract.IncreaseAllowance(&_ServiceChainToken.TransactOpts, spender, addedValue) 6502 } 6503 6504 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 6505 // 6506 // Solidity: function mint(address account, uint256 amount) returns(bool) 6507 func (_ServiceChainToken *ServiceChainTokenTransactor) Mint(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { 6508 return _ServiceChainToken.contract.Transact(opts, "mint", account, amount) 6509 } 6510 6511 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 6512 // 6513 // Solidity: function mint(address account, uint256 amount) returns(bool) 6514 func (_ServiceChainToken *ServiceChainTokenSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { 6515 return _ServiceChainToken.Contract.Mint(&_ServiceChainToken.TransactOpts, account, amount) 6516 } 6517 6518 // Mint is a paid mutator transaction binding the contract method 0x40c10f19. 6519 // 6520 // Solidity: function mint(address account, uint256 amount) returns(bool) 6521 func (_ServiceChainToken *ServiceChainTokenTransactorSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { 6522 return _ServiceChainToken.Contract.Mint(&_ServiceChainToken.TransactOpts, account, amount) 6523 } 6524 6525 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6526 // 6527 // Solidity: function renounceMinter() returns() 6528 func (_ServiceChainToken *ServiceChainTokenTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { 6529 return _ServiceChainToken.contract.Transact(opts, "renounceMinter") 6530 } 6531 6532 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6533 // 6534 // Solidity: function renounceMinter() returns() 6535 func (_ServiceChainToken *ServiceChainTokenSession) RenounceMinter() (*types.Transaction, error) { 6536 return _ServiceChainToken.Contract.RenounceMinter(&_ServiceChainToken.TransactOpts) 6537 } 6538 6539 // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. 6540 // 6541 // Solidity: function renounceMinter() returns() 6542 func (_ServiceChainToken *ServiceChainTokenTransactorSession) RenounceMinter() (*types.Transaction, error) { 6543 return _ServiceChainToken.Contract.RenounceMinter(&_ServiceChainToken.TransactOpts) 6544 } 6545 6546 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 6547 // 6548 // Solidity: function renounceOwnership() returns() 6549 func (_ServiceChainToken *ServiceChainTokenTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 6550 return _ServiceChainToken.contract.Transact(opts, "renounceOwnership") 6551 } 6552 6553 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 6554 // 6555 // Solidity: function renounceOwnership() returns() 6556 func (_ServiceChainToken *ServiceChainTokenSession) RenounceOwnership() (*types.Transaction, error) { 6557 return _ServiceChainToken.Contract.RenounceOwnership(&_ServiceChainToken.TransactOpts) 6558 } 6559 6560 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 6561 // 6562 // Solidity: function renounceOwnership() returns() 6563 func (_ServiceChainToken *ServiceChainTokenTransactorSession) RenounceOwnership() (*types.Transaction, error) { 6564 return _ServiceChainToken.Contract.RenounceOwnership(&_ServiceChainToken.TransactOpts) 6565 } 6566 6567 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3dc3c9e1. 6568 // 6569 // Solidity: function requestValueTransfer(uint256 _amount, address _to, uint256 _feeLimit, bytes _extraData) returns() 6570 func (_ServiceChainToken *ServiceChainTokenTransactor) RequestValueTransfer(opts *bind.TransactOpts, _amount *big.Int, _to common.Address, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 6571 return _ServiceChainToken.contract.Transact(opts, "requestValueTransfer", _amount, _to, _feeLimit, _extraData) 6572 } 6573 6574 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3dc3c9e1. 6575 // 6576 // Solidity: function requestValueTransfer(uint256 _amount, address _to, uint256 _feeLimit, bytes _extraData) returns() 6577 func (_ServiceChainToken *ServiceChainTokenSession) RequestValueTransfer(_amount *big.Int, _to common.Address, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 6578 return _ServiceChainToken.Contract.RequestValueTransfer(&_ServiceChainToken.TransactOpts, _amount, _to, _feeLimit, _extraData) 6579 } 6580 6581 // RequestValueTransfer is a paid mutator transaction binding the contract method 0x3dc3c9e1. 6582 // 6583 // Solidity: function requestValueTransfer(uint256 _amount, address _to, uint256 _feeLimit, bytes _extraData) returns() 6584 func (_ServiceChainToken *ServiceChainTokenTransactorSession) RequestValueTransfer(_amount *big.Int, _to common.Address, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { 6585 return _ServiceChainToken.Contract.RequestValueTransfer(&_ServiceChainToken.TransactOpts, _amount, _to, _feeLimit, _extraData) 6586 } 6587 6588 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 6589 // 6590 // Solidity: function setBridge(address _bridge) returns() 6591 func (_ServiceChainToken *ServiceChainTokenTransactor) SetBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { 6592 return _ServiceChainToken.contract.Transact(opts, "setBridge", _bridge) 6593 } 6594 6595 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 6596 // 6597 // Solidity: function setBridge(address _bridge) returns() 6598 func (_ServiceChainToken *ServiceChainTokenSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 6599 return _ServiceChainToken.Contract.SetBridge(&_ServiceChainToken.TransactOpts, _bridge) 6600 } 6601 6602 // SetBridge is a paid mutator transaction binding the contract method 0x8dd14802. 6603 // 6604 // Solidity: function setBridge(address _bridge) returns() 6605 func (_ServiceChainToken *ServiceChainTokenTransactorSession) SetBridge(_bridge common.Address) (*types.Transaction, error) { 6606 return _ServiceChainToken.Contract.SetBridge(&_ServiceChainToken.TransactOpts, _bridge) 6607 } 6608 6609 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 6610 // 6611 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 6612 func (_ServiceChainToken *ServiceChainTokenTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 6613 return _ServiceChainToken.contract.Transact(opts, "transfer", recipient, amount) 6614 } 6615 6616 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 6617 // 6618 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 6619 func (_ServiceChainToken *ServiceChainTokenSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 6620 return _ServiceChainToken.Contract.Transfer(&_ServiceChainToken.TransactOpts, recipient, amount) 6621 } 6622 6623 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 6624 // 6625 // Solidity: function transfer(address recipient, uint256 amount) returns(bool) 6626 func (_ServiceChainToken *ServiceChainTokenTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { 6627 return _ServiceChainToken.Contract.Transfer(&_ServiceChainToken.TransactOpts, recipient, amount) 6628 } 6629 6630 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6631 // 6632 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 6633 func (_ServiceChainToken *ServiceChainTokenTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 6634 return _ServiceChainToken.contract.Transact(opts, "transferFrom", sender, recipient, amount) 6635 } 6636 6637 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6638 // 6639 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 6640 func (_ServiceChainToken *ServiceChainTokenSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 6641 return _ServiceChainToken.Contract.TransferFrom(&_ServiceChainToken.TransactOpts, sender, recipient, amount) 6642 } 6643 6644 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6645 // 6646 // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool) 6647 func (_ServiceChainToken *ServiceChainTokenTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { 6648 return _ServiceChainToken.Contract.TransferFrom(&_ServiceChainToken.TransactOpts, sender, recipient, amount) 6649 } 6650 6651 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 6652 // 6653 // Solidity: function transferOwnership(address newOwner) returns() 6654 func (_ServiceChainToken *ServiceChainTokenTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 6655 return _ServiceChainToken.contract.Transact(opts, "transferOwnership", newOwner) 6656 } 6657 6658 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 6659 // 6660 // Solidity: function transferOwnership(address newOwner) returns() 6661 func (_ServiceChainToken *ServiceChainTokenSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 6662 return _ServiceChainToken.Contract.TransferOwnership(&_ServiceChainToken.TransactOpts, newOwner) 6663 } 6664 6665 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 6666 // 6667 // Solidity: function transferOwnership(address newOwner) returns() 6668 func (_ServiceChainToken *ServiceChainTokenTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 6669 return _ServiceChainToken.Contract.TransferOwnership(&_ServiceChainToken.TransactOpts, newOwner) 6670 } 6671 6672 // ServiceChainTokenApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ServiceChainToken contract. 6673 type ServiceChainTokenApprovalIterator struct { 6674 Event *ServiceChainTokenApproval // Event containing the contract specifics and raw log 6675 6676 contract *bind.BoundContract // Generic contract to use for unpacking event data 6677 event string // Event name to use for unpacking event data 6678 6679 logs chan types.Log // Log channel receiving the found contract events 6680 sub klaytn.Subscription // Subscription for errors, completion and termination 6681 done bool // Whether the subscription completed delivering logs 6682 fail error // Occurred error to stop iteration 6683 } 6684 6685 // Next advances the iterator to the subsequent event, returning whether there 6686 // are any more events found. In case of a retrieval or parsing error, false is 6687 // returned and Error() can be queried for the exact failure. 6688 func (it *ServiceChainTokenApprovalIterator) Next() bool { 6689 // If the iterator failed, stop iterating 6690 if it.fail != nil { 6691 return false 6692 } 6693 // If the iterator completed, deliver directly whatever's available 6694 if it.done { 6695 select { 6696 case log := <-it.logs: 6697 it.Event = new(ServiceChainTokenApproval) 6698 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6699 it.fail = err 6700 return false 6701 } 6702 it.Event.Raw = log 6703 return true 6704 6705 default: 6706 return false 6707 } 6708 } 6709 // Iterator still in progress, wait for either a data or an error event 6710 select { 6711 case log := <-it.logs: 6712 it.Event = new(ServiceChainTokenApproval) 6713 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6714 it.fail = err 6715 return false 6716 } 6717 it.Event.Raw = log 6718 return true 6719 6720 case err := <-it.sub.Err(): 6721 it.done = true 6722 it.fail = err 6723 return it.Next() 6724 } 6725 } 6726 6727 // Error returns any retrieval or parsing error occurred during filtering. 6728 func (it *ServiceChainTokenApprovalIterator) Error() error { 6729 return it.fail 6730 } 6731 6732 // Close terminates the iteration process, releasing any pending underlying 6733 // resources. 6734 func (it *ServiceChainTokenApprovalIterator) Close() error { 6735 it.sub.Unsubscribe() 6736 return nil 6737 } 6738 6739 // ServiceChainTokenApproval represents a Approval event raised by the ServiceChainToken contract. 6740 type ServiceChainTokenApproval struct { 6741 Owner common.Address 6742 Spender common.Address 6743 Value *big.Int 6744 Raw types.Log // Blockchain specific contextual infos 6745 } 6746 6747 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6748 // 6749 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 6750 func (_ServiceChainToken *ServiceChainTokenFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ServiceChainTokenApprovalIterator, error) { 6751 6752 var ownerRule []interface{} 6753 for _, ownerItem := range owner { 6754 ownerRule = append(ownerRule, ownerItem) 6755 } 6756 var spenderRule []interface{} 6757 for _, spenderItem := range spender { 6758 spenderRule = append(spenderRule, spenderItem) 6759 } 6760 6761 logs, sub, err := _ServiceChainToken.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 6762 if err != nil { 6763 return nil, err 6764 } 6765 return &ServiceChainTokenApprovalIterator{contract: _ServiceChainToken.contract, event: "Approval", logs: logs, sub: sub}, nil 6766 } 6767 6768 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6769 // 6770 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 6771 func (_ServiceChainToken *ServiceChainTokenFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ServiceChainTokenApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 6772 6773 var ownerRule []interface{} 6774 for _, ownerItem := range owner { 6775 ownerRule = append(ownerRule, ownerItem) 6776 } 6777 var spenderRule []interface{} 6778 for _, spenderItem := range spender { 6779 spenderRule = append(spenderRule, spenderItem) 6780 } 6781 6782 logs, sub, err := _ServiceChainToken.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 6783 if err != nil { 6784 return nil, err 6785 } 6786 return event.NewSubscription(func(quit <-chan struct{}) error { 6787 defer sub.Unsubscribe() 6788 for { 6789 select { 6790 case log := <-logs: 6791 // New log arrived, parse the event and forward to the user 6792 event := new(ServiceChainTokenApproval) 6793 if err := _ServiceChainToken.contract.UnpackLog(event, "Approval", log); err != nil { 6794 return err 6795 } 6796 event.Raw = log 6797 6798 select { 6799 case sink <- event: 6800 case err := <-sub.Err(): 6801 return err 6802 case <-quit: 6803 return nil 6804 } 6805 case err := <-sub.Err(): 6806 return err 6807 case <-quit: 6808 return nil 6809 } 6810 } 6811 }), nil 6812 } 6813 6814 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6815 // 6816 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 6817 func (_ServiceChainToken *ServiceChainTokenFilterer) ParseApproval(log types.Log) (*ServiceChainTokenApproval, error) { 6818 event := new(ServiceChainTokenApproval) 6819 if err := _ServiceChainToken.contract.UnpackLog(event, "Approval", log); err != nil { 6820 return nil, err 6821 } 6822 return event, nil 6823 } 6824 6825 // ServiceChainTokenMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the ServiceChainToken contract. 6826 type ServiceChainTokenMinterAddedIterator struct { 6827 Event *ServiceChainTokenMinterAdded // Event containing the contract specifics and raw log 6828 6829 contract *bind.BoundContract // Generic contract to use for unpacking event data 6830 event string // Event name to use for unpacking event data 6831 6832 logs chan types.Log // Log channel receiving the found contract events 6833 sub klaytn.Subscription // Subscription for errors, completion and termination 6834 done bool // Whether the subscription completed delivering logs 6835 fail error // Occurred error to stop iteration 6836 } 6837 6838 // Next advances the iterator to the subsequent event, returning whether there 6839 // are any more events found. In case of a retrieval or parsing error, false is 6840 // returned and Error() can be queried for the exact failure. 6841 func (it *ServiceChainTokenMinterAddedIterator) Next() bool { 6842 // If the iterator failed, stop iterating 6843 if it.fail != nil { 6844 return false 6845 } 6846 // If the iterator completed, deliver directly whatever's available 6847 if it.done { 6848 select { 6849 case log := <-it.logs: 6850 it.Event = new(ServiceChainTokenMinterAdded) 6851 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6852 it.fail = err 6853 return false 6854 } 6855 it.Event.Raw = log 6856 return true 6857 6858 default: 6859 return false 6860 } 6861 } 6862 // Iterator still in progress, wait for either a data or an error event 6863 select { 6864 case log := <-it.logs: 6865 it.Event = new(ServiceChainTokenMinterAdded) 6866 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6867 it.fail = err 6868 return false 6869 } 6870 it.Event.Raw = log 6871 return true 6872 6873 case err := <-it.sub.Err(): 6874 it.done = true 6875 it.fail = err 6876 return it.Next() 6877 } 6878 } 6879 6880 // Error returns any retrieval or parsing error occurred during filtering. 6881 func (it *ServiceChainTokenMinterAddedIterator) Error() error { 6882 return it.fail 6883 } 6884 6885 // Close terminates the iteration process, releasing any pending underlying 6886 // resources. 6887 func (it *ServiceChainTokenMinterAddedIterator) Close() error { 6888 it.sub.Unsubscribe() 6889 return nil 6890 } 6891 6892 // ServiceChainTokenMinterAdded represents a MinterAdded event raised by the ServiceChainToken contract. 6893 type ServiceChainTokenMinterAdded struct { 6894 Account common.Address 6895 Raw types.Log // Blockchain specific contextual infos 6896 } 6897 6898 // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6899 // 6900 // Solidity: event MinterAdded(address indexed account) 6901 func (_ServiceChainToken *ServiceChainTokenFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ServiceChainTokenMinterAddedIterator, error) { 6902 6903 var accountRule []interface{} 6904 for _, accountItem := range account { 6905 accountRule = append(accountRule, accountItem) 6906 } 6907 6908 logs, sub, err := _ServiceChainToken.contract.FilterLogs(opts, "MinterAdded", accountRule) 6909 if err != nil { 6910 return nil, err 6911 } 6912 return &ServiceChainTokenMinterAddedIterator{contract: _ServiceChainToken.contract, event: "MinterAdded", logs: logs, sub: sub}, nil 6913 } 6914 6915 // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6916 // 6917 // Solidity: event MinterAdded(address indexed account) 6918 func (_ServiceChainToken *ServiceChainTokenFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ServiceChainTokenMinterAdded, account []common.Address) (event.Subscription, error) { 6919 6920 var accountRule []interface{} 6921 for _, accountItem := range account { 6922 accountRule = append(accountRule, accountItem) 6923 } 6924 6925 logs, sub, err := _ServiceChainToken.contract.WatchLogs(opts, "MinterAdded", accountRule) 6926 if err != nil { 6927 return nil, err 6928 } 6929 return event.NewSubscription(func(quit <-chan struct{}) error { 6930 defer sub.Unsubscribe() 6931 for { 6932 select { 6933 case log := <-logs: 6934 // New log arrived, parse the event and forward to the user 6935 event := new(ServiceChainTokenMinterAdded) 6936 if err := _ServiceChainToken.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6937 return err 6938 } 6939 event.Raw = log 6940 6941 select { 6942 case sink <- event: 6943 case err := <-sub.Err(): 6944 return err 6945 case <-quit: 6946 return nil 6947 } 6948 case err := <-sub.Err(): 6949 return err 6950 case <-quit: 6951 return nil 6952 } 6953 } 6954 }), nil 6955 } 6956 6957 // ParseMinterAdded is a log parse operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. 6958 // 6959 // Solidity: event MinterAdded(address indexed account) 6960 func (_ServiceChainToken *ServiceChainTokenFilterer) ParseMinterAdded(log types.Log) (*ServiceChainTokenMinterAdded, error) { 6961 event := new(ServiceChainTokenMinterAdded) 6962 if err := _ServiceChainToken.contract.UnpackLog(event, "MinterAdded", log); err != nil { 6963 return nil, err 6964 } 6965 return event, nil 6966 } 6967 6968 // ServiceChainTokenMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the ServiceChainToken contract. 6969 type ServiceChainTokenMinterRemovedIterator struct { 6970 Event *ServiceChainTokenMinterRemoved // Event containing the contract specifics and raw log 6971 6972 contract *bind.BoundContract // Generic contract to use for unpacking event data 6973 event string // Event name to use for unpacking event data 6974 6975 logs chan types.Log // Log channel receiving the found contract events 6976 sub klaytn.Subscription // Subscription for errors, completion and termination 6977 done bool // Whether the subscription completed delivering logs 6978 fail error // Occurred error to stop iteration 6979 } 6980 6981 // Next advances the iterator to the subsequent event, returning whether there 6982 // are any more events found. In case of a retrieval or parsing error, false is 6983 // returned and Error() can be queried for the exact failure. 6984 func (it *ServiceChainTokenMinterRemovedIterator) Next() bool { 6985 // If the iterator failed, stop iterating 6986 if it.fail != nil { 6987 return false 6988 } 6989 // If the iterator completed, deliver directly whatever's available 6990 if it.done { 6991 select { 6992 case log := <-it.logs: 6993 it.Event = new(ServiceChainTokenMinterRemoved) 6994 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6995 it.fail = err 6996 return false 6997 } 6998 it.Event.Raw = log 6999 return true 7000 7001 default: 7002 return false 7003 } 7004 } 7005 // Iterator still in progress, wait for either a data or an error event 7006 select { 7007 case log := <-it.logs: 7008 it.Event = new(ServiceChainTokenMinterRemoved) 7009 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7010 it.fail = err 7011 return false 7012 } 7013 it.Event.Raw = log 7014 return true 7015 7016 case err := <-it.sub.Err(): 7017 it.done = true 7018 it.fail = err 7019 return it.Next() 7020 } 7021 } 7022 7023 // Error returns any retrieval or parsing error occurred during filtering. 7024 func (it *ServiceChainTokenMinterRemovedIterator) Error() error { 7025 return it.fail 7026 } 7027 7028 // Close terminates the iteration process, releasing any pending underlying 7029 // resources. 7030 func (it *ServiceChainTokenMinterRemovedIterator) Close() error { 7031 it.sub.Unsubscribe() 7032 return nil 7033 } 7034 7035 // ServiceChainTokenMinterRemoved represents a MinterRemoved event raised by the ServiceChainToken contract. 7036 type ServiceChainTokenMinterRemoved struct { 7037 Account common.Address 7038 Raw types.Log // Blockchain specific contextual infos 7039 } 7040 7041 // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 7042 // 7043 // Solidity: event MinterRemoved(address indexed account) 7044 func (_ServiceChainToken *ServiceChainTokenFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ServiceChainTokenMinterRemovedIterator, error) { 7045 7046 var accountRule []interface{} 7047 for _, accountItem := range account { 7048 accountRule = append(accountRule, accountItem) 7049 } 7050 7051 logs, sub, err := _ServiceChainToken.contract.FilterLogs(opts, "MinterRemoved", accountRule) 7052 if err != nil { 7053 return nil, err 7054 } 7055 return &ServiceChainTokenMinterRemovedIterator{contract: _ServiceChainToken.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil 7056 } 7057 7058 // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 7059 // 7060 // Solidity: event MinterRemoved(address indexed account) 7061 func (_ServiceChainToken *ServiceChainTokenFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ServiceChainTokenMinterRemoved, account []common.Address) (event.Subscription, error) { 7062 7063 var accountRule []interface{} 7064 for _, accountItem := range account { 7065 accountRule = append(accountRule, accountItem) 7066 } 7067 7068 logs, sub, err := _ServiceChainToken.contract.WatchLogs(opts, "MinterRemoved", accountRule) 7069 if err != nil { 7070 return nil, err 7071 } 7072 return event.NewSubscription(func(quit <-chan struct{}) error { 7073 defer sub.Unsubscribe() 7074 for { 7075 select { 7076 case log := <-logs: 7077 // New log arrived, parse the event and forward to the user 7078 event := new(ServiceChainTokenMinterRemoved) 7079 if err := _ServiceChainToken.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 7080 return err 7081 } 7082 event.Raw = log 7083 7084 select { 7085 case sink <- event: 7086 case err := <-sub.Err(): 7087 return err 7088 case <-quit: 7089 return nil 7090 } 7091 case err := <-sub.Err(): 7092 return err 7093 case <-quit: 7094 return nil 7095 } 7096 } 7097 }), nil 7098 } 7099 7100 // ParseMinterRemoved is a log parse operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. 7101 // 7102 // Solidity: event MinterRemoved(address indexed account) 7103 func (_ServiceChainToken *ServiceChainTokenFilterer) ParseMinterRemoved(log types.Log) (*ServiceChainTokenMinterRemoved, error) { 7104 event := new(ServiceChainTokenMinterRemoved) 7105 if err := _ServiceChainToken.contract.UnpackLog(event, "MinterRemoved", log); err != nil { 7106 return nil, err 7107 } 7108 return event, nil 7109 } 7110 7111 // ServiceChainTokenOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the ServiceChainToken contract. 7112 type ServiceChainTokenOwnershipTransferredIterator struct { 7113 Event *ServiceChainTokenOwnershipTransferred // Event containing the contract specifics and raw log 7114 7115 contract *bind.BoundContract // Generic contract to use for unpacking event data 7116 event string // Event name to use for unpacking event data 7117 7118 logs chan types.Log // Log channel receiving the found contract events 7119 sub klaytn.Subscription // Subscription for errors, completion and termination 7120 done bool // Whether the subscription completed delivering logs 7121 fail error // Occurred error to stop iteration 7122 } 7123 7124 // Next advances the iterator to the subsequent event, returning whether there 7125 // are any more events found. In case of a retrieval or parsing error, false is 7126 // returned and Error() can be queried for the exact failure. 7127 func (it *ServiceChainTokenOwnershipTransferredIterator) Next() bool { 7128 // If the iterator failed, stop iterating 7129 if it.fail != nil { 7130 return false 7131 } 7132 // If the iterator completed, deliver directly whatever's available 7133 if it.done { 7134 select { 7135 case log := <-it.logs: 7136 it.Event = new(ServiceChainTokenOwnershipTransferred) 7137 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7138 it.fail = err 7139 return false 7140 } 7141 it.Event.Raw = log 7142 return true 7143 7144 default: 7145 return false 7146 } 7147 } 7148 // Iterator still in progress, wait for either a data or an error event 7149 select { 7150 case log := <-it.logs: 7151 it.Event = new(ServiceChainTokenOwnershipTransferred) 7152 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7153 it.fail = err 7154 return false 7155 } 7156 it.Event.Raw = log 7157 return true 7158 7159 case err := <-it.sub.Err(): 7160 it.done = true 7161 it.fail = err 7162 return it.Next() 7163 } 7164 } 7165 7166 // Error returns any retrieval or parsing error occurred during filtering. 7167 func (it *ServiceChainTokenOwnershipTransferredIterator) Error() error { 7168 return it.fail 7169 } 7170 7171 // Close terminates the iteration process, releasing any pending underlying 7172 // resources. 7173 func (it *ServiceChainTokenOwnershipTransferredIterator) Close() error { 7174 it.sub.Unsubscribe() 7175 return nil 7176 } 7177 7178 // ServiceChainTokenOwnershipTransferred represents a OwnershipTransferred event raised by the ServiceChainToken contract. 7179 type ServiceChainTokenOwnershipTransferred struct { 7180 PreviousOwner common.Address 7181 NewOwner common.Address 7182 Raw types.Log // Blockchain specific contextual infos 7183 } 7184 7185 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7186 // 7187 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7188 func (_ServiceChainToken *ServiceChainTokenFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ServiceChainTokenOwnershipTransferredIterator, error) { 7189 7190 var previousOwnerRule []interface{} 7191 for _, previousOwnerItem := range previousOwner { 7192 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7193 } 7194 var newOwnerRule []interface{} 7195 for _, newOwnerItem := range newOwner { 7196 newOwnerRule = append(newOwnerRule, newOwnerItem) 7197 } 7198 7199 logs, sub, err := _ServiceChainToken.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7200 if err != nil { 7201 return nil, err 7202 } 7203 return &ServiceChainTokenOwnershipTransferredIterator{contract: _ServiceChainToken.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 7204 } 7205 7206 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7207 // 7208 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7209 func (_ServiceChainToken *ServiceChainTokenFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ServiceChainTokenOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 7210 7211 var previousOwnerRule []interface{} 7212 for _, previousOwnerItem := range previousOwner { 7213 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 7214 } 7215 var newOwnerRule []interface{} 7216 for _, newOwnerItem := range newOwner { 7217 newOwnerRule = append(newOwnerRule, newOwnerItem) 7218 } 7219 7220 logs, sub, err := _ServiceChainToken.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 7221 if err != nil { 7222 return nil, err 7223 } 7224 return event.NewSubscription(func(quit <-chan struct{}) error { 7225 defer sub.Unsubscribe() 7226 for { 7227 select { 7228 case log := <-logs: 7229 // New log arrived, parse the event and forward to the user 7230 event := new(ServiceChainTokenOwnershipTransferred) 7231 if err := _ServiceChainToken.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7232 return err 7233 } 7234 event.Raw = log 7235 7236 select { 7237 case sink <- event: 7238 case err := <-sub.Err(): 7239 return err 7240 case <-quit: 7241 return nil 7242 } 7243 case err := <-sub.Err(): 7244 return err 7245 case <-quit: 7246 return nil 7247 } 7248 } 7249 }), nil 7250 } 7251 7252 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 7253 // 7254 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 7255 func (_ServiceChainToken *ServiceChainTokenFilterer) ParseOwnershipTransferred(log types.Log) (*ServiceChainTokenOwnershipTransferred, error) { 7256 event := new(ServiceChainTokenOwnershipTransferred) 7257 if err := _ServiceChainToken.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 7258 return nil, err 7259 } 7260 return event, nil 7261 } 7262 7263 // ServiceChainTokenTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ServiceChainToken contract. 7264 type ServiceChainTokenTransferIterator struct { 7265 Event *ServiceChainTokenTransfer // Event containing the contract specifics and raw log 7266 7267 contract *bind.BoundContract // Generic contract to use for unpacking event data 7268 event string // Event name to use for unpacking event data 7269 7270 logs chan types.Log // Log channel receiving the found contract events 7271 sub klaytn.Subscription // Subscription for errors, completion and termination 7272 done bool // Whether the subscription completed delivering logs 7273 fail error // Occurred error to stop iteration 7274 } 7275 7276 // Next advances the iterator to the subsequent event, returning whether there 7277 // are any more events found. In case of a retrieval or parsing error, false is 7278 // returned and Error() can be queried for the exact failure. 7279 func (it *ServiceChainTokenTransferIterator) Next() bool { 7280 // If the iterator failed, stop iterating 7281 if it.fail != nil { 7282 return false 7283 } 7284 // If the iterator completed, deliver directly whatever's available 7285 if it.done { 7286 select { 7287 case log := <-it.logs: 7288 it.Event = new(ServiceChainTokenTransfer) 7289 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7290 it.fail = err 7291 return false 7292 } 7293 it.Event.Raw = log 7294 return true 7295 7296 default: 7297 return false 7298 } 7299 } 7300 // Iterator still in progress, wait for either a data or an error event 7301 select { 7302 case log := <-it.logs: 7303 it.Event = new(ServiceChainTokenTransfer) 7304 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7305 it.fail = err 7306 return false 7307 } 7308 it.Event.Raw = log 7309 return true 7310 7311 case err := <-it.sub.Err(): 7312 it.done = true 7313 it.fail = err 7314 return it.Next() 7315 } 7316 } 7317 7318 // Error returns any retrieval or parsing error occurred during filtering. 7319 func (it *ServiceChainTokenTransferIterator) Error() error { 7320 return it.fail 7321 } 7322 7323 // Close terminates the iteration process, releasing any pending underlying 7324 // resources. 7325 func (it *ServiceChainTokenTransferIterator) Close() error { 7326 it.sub.Unsubscribe() 7327 return nil 7328 } 7329 7330 // ServiceChainTokenTransfer represents a Transfer event raised by the ServiceChainToken contract. 7331 type ServiceChainTokenTransfer struct { 7332 From common.Address 7333 To common.Address 7334 Value *big.Int 7335 Raw types.Log // Blockchain specific contextual infos 7336 } 7337 7338 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7339 // 7340 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 7341 func (_ServiceChainToken *ServiceChainTokenFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ServiceChainTokenTransferIterator, error) { 7342 7343 var fromRule []interface{} 7344 for _, fromItem := range from { 7345 fromRule = append(fromRule, fromItem) 7346 } 7347 var toRule []interface{} 7348 for _, toItem := range to { 7349 toRule = append(toRule, toItem) 7350 } 7351 7352 logs, sub, err := _ServiceChainToken.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 7353 if err != nil { 7354 return nil, err 7355 } 7356 return &ServiceChainTokenTransferIterator{contract: _ServiceChainToken.contract, event: "Transfer", logs: logs, sub: sub}, nil 7357 } 7358 7359 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7360 // 7361 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 7362 func (_ServiceChainToken *ServiceChainTokenFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ServiceChainTokenTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 7363 7364 var fromRule []interface{} 7365 for _, fromItem := range from { 7366 fromRule = append(fromRule, fromItem) 7367 } 7368 var toRule []interface{} 7369 for _, toItem := range to { 7370 toRule = append(toRule, toItem) 7371 } 7372 7373 logs, sub, err := _ServiceChainToken.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 7374 if err != nil { 7375 return nil, err 7376 } 7377 return event.NewSubscription(func(quit <-chan struct{}) error { 7378 defer sub.Unsubscribe() 7379 for { 7380 select { 7381 case log := <-logs: 7382 // New log arrived, parse the event and forward to the user 7383 event := new(ServiceChainTokenTransfer) 7384 if err := _ServiceChainToken.contract.UnpackLog(event, "Transfer", log); err != nil { 7385 return err 7386 } 7387 event.Raw = log 7388 7389 select { 7390 case sink <- event: 7391 case err := <-sub.Err(): 7392 return err 7393 case <-quit: 7394 return nil 7395 } 7396 case err := <-sub.Err(): 7397 return err 7398 case <-quit: 7399 return nil 7400 } 7401 } 7402 }), nil 7403 } 7404 7405 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7406 // 7407 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 7408 func (_ServiceChainToken *ServiceChainTokenFilterer) ParseTransfer(log types.Log) (*ServiceChainTokenTransfer, error) { 7409 event := new(ServiceChainTokenTransfer) 7410 if err := _ServiceChainToken.contract.UnpackLog(event, "Transfer", log); err != nil { 7411 return nil, err 7412 } 7413 return event, nil 7414 }