// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package bridge import ( "math/big" "strings" "github.com/klaytn/klaytn" "github.com/klaytn/klaytn/accounts/abi" "github.com/klaytn/klaytn/accounts/abi/bind" "github.com/klaytn/klaytn/blockchain/types" "github.com/klaytn/klaytn/common" "github.com/klaytn/klaytn/event" ) // AddressABI is the input ABI used to generate the binding from. const AddressABI = "[]" // AddressBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const AddressBinRuntime = `0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820b7534b8b203852d9ead56352219b5abb5424533d9bb1b9cf84c0b1d15d11fee50029` // AddressBin is the compiled bytecode used for deploying new contracts. const AddressBin = `0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820b7534b8b203852d9ead56352219b5abb5424533d9bb1b9cf84c0b1d15d11fee50029` // DeployAddress deploys a new Klaytn contract, binding an instance of Address to it. func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { parsed, err := abi.JSON(strings.NewReader(AddressABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(AddressBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil } // Address is an auto generated Go binding around a Klaytn contract. type Address struct { AddressCaller // Read-only binding to the contract AddressTransactor // Write-only binding to the contract AddressFilterer // Log filterer for contract events } // AddressCaller is an auto generated read-only Go binding around a Klaytn contract. type AddressCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressTransactor is an auto generated write-only Go binding around a Klaytn contract. type AddressTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type AddressFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // AddressSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type AddressSession struct { Contract *Address // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type AddressCallerSession struct { Contract *AddressCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // AddressTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type AddressTransactorSession struct { Contract *AddressTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // AddressRaw is an auto generated low-level Go binding around a Klaytn contract. type AddressRaw struct { Contract *Address // Generic contract binding to access the raw methods on } // AddressCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type AddressCallerRaw struct { Contract *AddressCaller // Generic read-only contract binding to access the raw methods on } // AddressTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type AddressTransactorRaw struct { Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on } // NewAddress creates a new instance of Address, bound to a specific deployed contract. func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { contract, err := bindAddress(address, backend, backend, backend) if err != nil { return nil, err } return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil } // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { contract, err := bindAddress(address, caller, nil, nil) if err != nil { return nil, err } return &AddressCaller{contract: contract}, nil } // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { contract, err := bindAddress(address, nil, transactor, nil) if err != nil { return nil, err } return &AddressTransactor{contract: contract}, nil } // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { contract, err := bindAddress(address, nil, nil, filterer) if err != nil { return nil, err } return &AddressFilterer{contract: contract}, nil } // bindAddress binds a generic wrapper to an already deployed contract. func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(AddressABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Address *AddressRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Address.Contract.AddressTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Address.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Address.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Address.Contract.contract.Transact(opts, method, params...) } // BridgeABI is the input ABI used to generate the binding from. const BridgeABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"lockToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"handleNoncesToBlockNums\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"operators\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_requestNonce\",\"type\":\"uint64\"}],\"name\":\"setKLAYFee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unlockKLAY\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestERC721Transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_feeLimit\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestERC20Transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_requestNonce\",\"type\":\"uint64\"}],\"name\":\"setERC20Fee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"registerOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_OPERATOR\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"counterpartBridge\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredTokenList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_requestTxHash\",\"type\":\"bytes32\"},{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_requestedNonce\",\"type\":\"uint64\"},{\"name\":\"_requestedBlockNumber\",\"type\":\"uint64\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"handleERC20Transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"registerToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"feeOfERC20\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"indexOfTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lowerHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"upperHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"operatorThresholds\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"modeMintBurn\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestKLAYTransfer\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"requestNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"setCounterPartBridge\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"handledRequestTx\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"registeredTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"closedValueTransferVotes\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"recoveryBlockNumber\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"unlockToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"lockKLAY\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_requestTxHash\",\"type\":\"bytes32\"},{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_requestedNonce\",\"type\":\"uint64\"},{\"name\":\"_requestedBlockNumber\",\"type\":\"uint64\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"handleKLAYTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"configurationNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_requestTxHash\",\"type\":\"bytes32\"},{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_requestedNonce\",\"type\":\"uint64\"},{\"name\":\"_requestedBlockNumber\",\"type\":\"uint64\"},{\"name\":\"_tokenURI\",\"type\":\"string\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"handleERC721Transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOperatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"deregisterToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeOfKLAY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_status\",\"type\":\"bool\"}],\"name\":\"start\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"operatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"deregisterOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"chargeWithoutEvent\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getRegisteredTokenList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_voteType\",\"type\":\"uint8\"},{\"name\":\"_threshold\",\"type\":\"uint8\"}],\"name\":\"setOperatorThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_feeReceiver\",\"type\":\"address\"}],\"name\":\"setFeeReceiver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_feeLimit\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"onERC20Received\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isLockedKLAY\",\"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\"},{\"constant\":true,\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_modeMintBurn\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"KLAYLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"KLAYUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"requestNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"RequestValueTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"requestTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"handleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"lowerHandleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"HandleValueTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenUnlocked\",\"type\":\"event\"},{\"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\":\"fee\",\"type\":\"uint256\"}],\"name\":\"KLAYFeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"ERC20FeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"feeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverChanged\",\"type\":\"event\"}]" // BridgeBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeBinRuntime = `0x60806040526004361061031a5760003560e01c80638a75eee2116101ab578063bab2af1d116100f7578063ea21eade11610095578063f1656e531161006f578063f1656e5314611071578063f171996614611147578063f2fde38b1461115c578063ffa1ad741461118f5761031a565b8063ea21eade14610ff4578063ee2aec6514611009578063efdcd9741461103e5761031a565b8063cb38f407116100d1578063cb38f40714610ebf578063cf0da29014610ee9578063d8cf98ca14610fb9578063dd9222d614610fec5761031a565b8063bab2af1d14610e4b578063c263b5d614610e7e578063c877cf3714610e935761031a565b80639ef2017b11610164578063ac6fff0b1161013e578063ac6fff0b14610c3e578063afb6022314610c53578063b2c0103014610dd1578063b3f0067414610e365761031a565b80639ef2017b14610b075780639f07132914610b3a578063a066a7ed14610b4f5761031a565b80638a75eee214610a385780638c0bd91614610a625780638da5cb5b14610a955780638f32d59b14610aaa5780639832c1d714610abf578063989ba0d314610af25761031a565b8063407e6bae1161026a5780635526f76b11610223578063715018a6116101fd578063715018a61461095857806375ebdc091461096d5780637c1a0302146109f057806387b04c5514610a055761031a565b80635526f76b146108cd5780635eb7413a146109105780636e176ec2146109435761031a565b8063407e6bae146106f75780634739f7e5146107f0578063488af8711461082b57806348a18a6a146108705780634b40b826146108a357806354edad72146108b85761031a565b806322604742116102d75780633682a450116102b15780633682a450146106545780633a3099d1146106875780633a3485331461069c5780633e4fe949146106cd5761031a565b8063226047421461046557806326c23b54146105365780632f88396c1461060c5761031a565b806310693fcd1461033957806313a6738a1461036c57806313e7c9d8146103bb5780631a2ae53e146104025780631ebdca381461043b5780632014e5d114610450575b6002546040805160008152602081019091526103379133916111a4565b005b34801561034557600080fd5b506103376004803603602081101561035c57600080fd5b50356001600160a01b03166113e4565b34801561037857600080fd5b5061039f6004803603602081101561038f57600080fd5b50356001600160401b0316611549565b604080516001600160401b039092168252519081900360200190f35b3480156103c757600080fd5b506103ee600480360360208110156103de57600080fd5b50356001600160a01b0316611564565b604080519115158252519081900360200190f35b34801561040e57600080fd5b506103376004803603604081101561042557600080fd5b50803590602001356001600160401b0316611579565b34801561044757600080fd5b506103376115ed565b34801561045c57600080fd5b506103ee6116b9565b34801561047157600080fd5b506103376004803603608081101561048857600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104c257600080fd5b8201836020820111156104d457600080fd5b803590602001918460018302840111600160201b831117156104f557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506116c9945050505050565b34801561054257600080fd5b50610337600480360360a081101561055957600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a081016080820135600160201b81111561059857600080fd5b8201836020820111156105aa57600080fd5b803590602001918460018302840111600160201b831117156105cb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061174b945050505050565b34801561061857600080fd5b506103376004803603606081101561062f57600080fd5b5080356001600160a01b031690602081013590604001356001600160401b03166117ff565b34801561066057600080fd5b506103376004803603602081101561067757600080fd5b50356001600160a01b0316611875565b34801561069357600080fd5b5061039f6119f0565b3480156106a857600080fd5b506106b16119f5565b604080516001600160a01b039092168252519081900360200190f35b3480156106d957600080fd5b506106b1600480360360208110156106f057600080fd5b5035611a04565b34801561070357600080fd5b50610337600480360361010081101561071b57600080fd5b8135916001600160a01b03602082013581169260408301358216926060810135909216916080810135916001600160401b0360a083013581169260c081013590911691810190610100810160e0820135600160201b81111561077c57600080fd5b82018360208201111561078e57600080fd5b803590602001918460018302840111600160201b831117156107af57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611a2b945050505050565b3480156107fc57600080fd5b506103376004803603604081101561081357600080fd5b506001600160a01b0381358116916020013516611d3e565b34801561083757600080fd5b5061085e6004803603602081101561084e57600080fd5b50356001600160a01b0316611e9b565b60408051918252519081900360200190f35b34801561087c57600080fd5b5061085e6004803603602081101561089357600080fd5b50356001600160a01b0316611ead565b3480156108af57600080fd5b5061039f611ebf565b3480156108c457600080fd5b5061039f611ed5565b3480156108d957600080fd5b506108fa600480360360208110156108f057600080fd5b503560ff16611ee4565b6040805160ff9092168252519081900360200190f35b34801561091c57600080fd5b506103ee6004803603602081101561093357600080fd5b50356001600160a01b0316611ef9565b34801561094f57600080fd5b506103ee611f0e565b34801561096457600080fd5b50610337611f1e565b6103376004803603606081101561098357600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156109b257600080fd5b8201836020820111156109c457600080fd5b803590602001918460018302840111600160201b831117156109e557600080fd5b509092509050611fb2565b3480156109fc57600080fd5b5061039f612007565b348015610a1157600080fd5b5061033760048036036020811015610a2857600080fd5b50356001600160a01b031661201d565b348015610a4457600080fd5b506103ee60048036036020811015610a5b57600080fd5b5035612089565b348015610a6e57600080fd5b506106b160048036036020811015610a8557600080fd5b50356001600160a01b031661209e565b348015610aa157600080fd5b506106b16120b9565b348015610ab657600080fd5b506103ee6120c9565b348015610acb57600080fd5b506103ee60048036036020811015610ae257600080fd5b50356001600160401b03166120da565b348015610afe57600080fd5b5061039f6120ef565b348015610b1357600080fd5b5061033760048036036020811015610b2a57600080fd5b50356001600160a01b0316612105565b348015610b4657600080fd5b50610337612279565b348015610b5b57600080fd5b50610337600480360360e0811015610b7257600080fd5b8135916001600160a01b0360208201358116926040830135909116916060810135916001600160401b03608083013581169260a08101359091169181019060e0810160c0820135600160201b811115610bca57600080fd5b820183602082011115610bdc57600080fd5b803590602001918460018302840111600160201b83111715610bfd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612342945050505050565b348015610c4a57600080fd5b5061039f61255a565b348015610c5f57600080fd5b506103376004803603610120811015610c7757600080fd5b8135916001600160a01b03602082013581169260408301358216926060810135909216916080810135916001600160401b0360a083013581169260c081013590911691810190610100810160e0820135600160201b811115610cd857600080fd5b820183602082011115610cea57600080fd5b803590602001918460018302840111600160201b83111715610d0b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610d5d57600080fd5b820183602082011115610d6f57600080fd5b803590602001918460018302840111600160201b83111715610d9057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612569945050505050565b348015610ddd57600080fd5b50610de66128ce565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610e22578181015183820152602001610e0a565b505050509050019250505060405180910390f35b348015610e4257600080fd5b506106b1612930565b348015610e5757600080fd5b5061033760048036036020811015610e6e57600080fd5b50356001600160a01b031661293f565b348015610e8a57600080fd5b5061085e612b2e565b348015610e9f57600080fd5b5061033760048036036020811015610eb657600080fd5b50351515612b34565b348015610ecb57600080fd5b506106b160048036036020811015610ee257600080fd5b5035612ba2565b348015610ef557600080fd5b5061033760048036036080811015610f0c57600080fd5b6001600160a01b038235811692602081013592604082013590921691810190608081016060820135600160201b811115610f4557600080fd5b820183602082011115610f5757600080fd5b803590602001918460018302840111600160201b83111715610f7857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612baf945050505050565b348015610fc557600080fd5b5061033760048036036020811015610fdc57600080fd5b50356001600160a01b0316612bbc565b610337612d0a565b34801561100057600080fd5b50610de6612d0c565b34801561101557600080fd5b506103376004803603604081101561102c57600080fd5b5060ff81358116916020013516612d6c565b34801561104a57600080fd5b506103376004803603602081101561106157600080fd5b50356001600160a01b0316612ea8565b34801561107d57600080fd5b50610337600480360360a081101561109457600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a081016080820135600160201b8111156110d357600080fd5b8201836020820111156110e557600080fd5b803590602001918460018302840111600160201b8311171561110657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612efe945050505050565b34801561115357600080fd5b506103ee612f0c565b34801561116857600080fd5b506103376004803603602081101561117f57600080fd5b50356001600160a01b0316612f15565b34801561119b57600080fd5b5061039f612f68565b60125460ff16156111eb5760408051600160e51b62461bcd0281526020600482015260066024820152600160d21b651b1bd8dad95902604482015290519081900360640190fd5b600f54600160481b900460ff166112405760408051600160e51b62461bcd02815260206004820152600e6024820152600160901b6d73746f707065642062726964676502604482015290519081900360640190fd5b8134116112975760408051600160e51b62461bcd02815260206004820152601360248201527f696e73756666696369656e7420616d6f756e7400000000000000000000000000604482015290519081900360640190fd5b60006112a283612f6d565b905060006001600160a01b038516337feff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09836112e3348963ffffffff6130a316565b600f600a9054906101000a90046001600160401b031687896040518086600281111561130b57fe5b60ff168152602001858152602001846001600160401b03166001600160401b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611370578181015183820152602001611358565b50505050905090810190601f16801561139d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a45050600f805460016001600160401b03600160501b8084048216929092011602600160501b600160901b03199091161790555050565b6113ec6120c9565b61142e5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b038082166000908152600660205260409020548291166114965760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260096020526040902054829060ff16156114fb5760408051600160e51b62461bcd02815260206004820152600c6024820152600160a11b6b3637b1b5b2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038316600081815260096020526040808220805460ff19166001179055517fca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd79190a2505050565b6011602052600090815260409020546001600160401b031681565b600c6020526000908152604090205460ff1681565b336000908152600c602052604090205460ff166115ce5760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b6115d781613103565b6115e0576115e9565b6115e9826131d5565b5050565b6115f56120c9565b6116375760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b60125460ff1615156001146116845760408051600160e51b62461bcd0281526020600482015260086024820152600160c21b671d5b9b1bd8dad95902604482015290519081900360640190fd5b6012805460ff191690556040517fd20610c9b78a6903ef134539e3deb5d243be461de6ef12d4c29536bb9b54fa1b90600090a1565b600f54600160481b900460ff1681565b60408051600160e01b6323b872dd0281523360048201523060248201526044810184905290516001600160a01b038616916323b872dd91606480830192600092919082900301818387803b15801561172057600080fd5b505af1158015611734573d6000803e3d6000fd5b505050506117458433858585613208565b50505050565b6001600160a01b0385166323b872dd333061176c878763ffffffff6134e216565b6040805163ffffffff861660e01b81526001600160a01b0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b1580156117bd57600080fd5b505af11580156117d1573d6000803e3d6000fd5b505050506040513d60208110156117e757600080fd5b506117f89050853386868686613546565b5050505050565b336000908152600c602052604090205460ff166118545760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b61185d81613103565b61186657611870565b6118708383613889565b505050565b61187d6120c9565b6118bf5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b600d54600c116119195760408051600160e51b62461bcd02815260206004820152601260248201527f6d6178206f70657261746f72206c696d69740000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600c602052604090205460ff161561198a5760408051600160e51b62461bcd02815260206004820152600e60248201527f6578697374206f70657261746f72000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03166000818152600c60205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055565b600c81565b6005546001600160a01b031681565b60088181548110611a1157fe5b6000918252602090912001546001600160a01b0316905081565b336000908152600c602052604090205460ff16611a805760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b611a89836138d0565b611a928361393d565b611a9b57611d34565b611aa488613a00565b6001600160401b038381166000908152601160205260409020805467ffffffffffffffff1916918416919091179055611adc83613a1b565b846001600160a01b0316866001600160a01b0316886001600160a01b03167f12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea101758b60018989600f60129054906101000a90046001600160401b03168960405180878152602001866002811115611b4d57fe5b60ff168152602001858152602001846001600160401b03166001600160401b03168152602001836001600160401b03166001600160401b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611bc4578181015183820152602001611bac565b50505050905090810190601f168015611bf15780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a4600f54600160401b900460ff1615611ca757846001600160a01b03166340c10f1987866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611c7557600080fd5b505af1158015611c89573d6000803e3d6000fd5b505050506040513d6020811015611c9f57600080fd5b50611d349050565b846001600160a01b031663a9059cbb87866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611d0757600080fd5b505af1158015611d1b573d6000803e3d6000fd5b505050506040513d6020811015611d3157600080fd5b50505b5050505050505050565b611d466120c9565b611d885760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b0380831660009081526006602052604090205483911615611dfa5760408051600160e51b62461bcd02815260206004820152600d60248201527f616c6c6f77656420746f6b656e00000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03808416600081815260066020908152604080832080549588166001600160a01b031996871617905560088054600790935281842083905560018301815583527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee390910180549094168317909355915190917f158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d91a2505050565b60036020526000908152604090205481565b60076020526000908152604090205481565b600f54600160901b90046001600160401b031681565b6010546001600160401b031681565b600e6020526000908152604090205460ff1681565b60096020526000908152604090205460ff1681565b600f54600160401b900460ff1681565b611f266120c9565b611f685760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6004546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600480546001600160a01b0319169055565b6000611fc4348563ffffffff6130a316565b90506117f8858285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111a492505050565b600f54600160501b90046001600160401b031681565b6120256120c9565b6120675760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60006020819052908152604090205460ff1681565b6006602052600090815260409020546001600160a01b031681565b6004546001600160a01b03165b90565b6004546001600160a01b0316331490565b600b6020526000908152604090205460ff1681565b601054600160401b90046001600160401b031681565b61210d6120c9565b61214f5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b038082166000908152600660205260409020548291166121b75760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260096020526040902054829060ff16151560011461222e5760408051600160e51b62461bcd02815260206004820152600e60248201527f756e6c6f636b656420746f6b656e000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038316600081815260096020526040808220805460ff19169055517f81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec9190a2505050565b6122816120c9565b6122c35760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b60125460ff161561230a5760408051600160e51b62461bcd0281526020600482015260066024820152600160d21b651b1bd8dad95902604482015290519081900360640190fd5b6012805460ff191660011790556040517f915f3053cbc6842207cd97b68c0b585109b4f2fe61c5dbeb25d7678bfdfb8dfa90600090a1565b336000908152600c602052604090205460ff166123975760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b6123a0836138d0565b6123a98361393d565b6123b257612551565b6123bb87613a00565b6001600160401b038381166000908152601160205260409020805467ffffffffffffffff19169184169190911790556123f383613a1b565b60006001600160a01b0316856001600160a01b0316876001600160a01b03167f12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea101758a60008989600f60129054906101000a90046001600160401b0316896040518087815260200186600281111561246557fe5b60ff168152602001858152602001846001600160401b03166001600160401b03168152602001836001600160401b03166001600160401b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156124dc5781810151838201526020016124c4565b50505050905090810190601f1680156125095780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a46040516001600160a01b0386169085156108fc029086906000818181858888f19350505050158015611d34573d6000803e3d6000fd5b50505050505050565b600f546001600160401b031681565b336000908152600c602052604090205460ff166125be5760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b6125c7846138d0565b6125d08461393d565b6125d9576128c3565b6125e289613a00565b6001600160401b038481166000908152601160205260409020805467ffffffffffffffff191691851691909117905561261a84613a1b565b856001600160a01b0316876001600160a01b0316896001600160a01b03167f12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea101758c60028a8a600f60129054906101000a90046001600160401b0316896040518087815260200186600281111561268b57fe5b60ff168152602001858152602001846001600160401b03166001600160401b03168152602001836001600160401b03166001600160401b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156127025781810151838201526020016126ea565b50505050905090810190601f16801561272f5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a4600f54600160401b900460ff161561284f57856001600160a01b03166350bb4e7f8887856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156127cf5781810151838201526020016127b7565b50505050905090810190601f1680156127fc5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561281d57600080fd5b505af1158015612831573d6000803e3d6000fd5b505050506040513d602081101561284757600080fd5b506128c39050565b60408051600160e11b63214217070281523060048201526001600160a01b038981166024830152604482018890529151918816916342842e0e9160648082019260009290919082900301818387803b1580156128aa57600080fd5b505af11580156128be573d6000803e3d6000fd5b505050505b505050505050505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561292657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612908575b5050505050905090565b6001546001600160a01b031681565b6129476120c9565b6129895760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b038082166000908152600660205260409020548291166129f15760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260066020908152604080832080546001600160a01b031916905560098252808320805460ff1916905560079091528120805491905560085460001901811015612ae157600880546000198101908110612a5557fe5b600091825260209091200154600880546001600160a01b039092169183908110612a7b57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806007600060088481548110612abb57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020555b6008805490612af490600019830161415e565b506040516001600160a01b038416907f1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b690600090a2505050565b60025481565b612b3c6120c9565b612b7e5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b600f8054911515600160481b0269ff00000000000000000019909216919091179055565b600d8181548110611a1157fe5b6117453385848685613208565b612bc46120c9565b612c065760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152600c602052604090205460ff16612c2b57600080fd5b6001600160a01b0381166000908152600c60205260408120805460ff191690555b600d548110156115e957816001600160a01b0316600d8281548110612c6d57fe5b6000918252602090912001546001600160a01b03161415612d0257600d80546000198101908110612c9a57fe5b600091825260209091200154600d80546001600160a01b039092169183908110612cc057fe5b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055600d805490612cfc90600019830161415e565b506115e9565b600101612c4c565b565b60606008805480602002602001604051908101604052809291908181526020018280548015612926576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311612908575050505050905090565b612d746120c9565b612db65760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b60008160ff1611612e115760408051600160e51b62461bcd02815260206004820152600e60248201527f7a65726f207468726573686f6c64000000000000000000000000000000000000604482015290519081900360640190fd5b600d5460ff82161115612e6e5760408051600160e51b62461bcd02815260206004820152601c60248201527f626967676572207468616e206e756d206f66206f70657261746f727300000000604482015290519081900360640190fd5b80600e6000846002811115612e7f57fe5b60ff90811682526020820192909252604001600020805460ff1916929091169190911790555050565b612eb06120c9565b612ef25760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b612efb81613b7f565b50565b6117f8338686868686613546565b60125460ff1681565b612f1d6120c9565b612f5f5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b612efb81613bc9565b600181565b600254600154600091906001600160a01b031615801590612f8e5750600081115b1561306a5780831015612feb5760408051600160e51b62461bcd02815260206004820152601560248201527f696e73756666696369656e74206665654c696d69740000000000000000000000604482015290519081900360640190fd5b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015613025573d6000803e3d6000fd5b50336108fc61303a858463ffffffff6130a316565b6040518115909202916000818181858888f19350505050158015613062573d6000803e3d6000fd5b50905061309e565b604051339084156108fc029085906000818181858888f19350505050158015613097573d6000803e3d6000fd5b5060009150505b919050565b6000828211156130fd5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600f546000906001600160401b0383811691161461316b5760408051600160e51b62461bcd02815260206004820152600e60248201527f6e6f6e6365206d69736d61746368000000000000000000000000000000000000604482015290519081900360640190fd5b600080366040518083838082843780830192505050925050506040518091039020905061319a60018483613c6d565b156131cc575050600f805467ffffffffffffffff19811660016001600160401b0392831681019092161790915561309e565b50600092915050565b600281905560405181907fa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac36590600090a250565b6001600160a01b038086166000908152600660205260409020548691166132705760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038616600090815260096020526040902054869060ff16156132d55760408051600160e51b62461bcd02815260206004820152600c6024820152600160a11b6b3637b1b5b2b2103a37b5b2b702604482015290519081900360640190fd5b600f54600160481b900460ff1661332a5760408051600160e51b62461bcd02815260206004820152600e6024820152600160901b6d73746f707065642062726964676502604482015290519081900360640190fd5b600f54600160401b900460ff161561339b57866001600160a01b03166342966c68856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561338257600080fd5b505af1158015613396573d6000803e3d6000fd5b505050505b866001600160a01b0316856001600160a01b0316876001600160a01b03167feff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09600288600f600a9054906101000a90046001600160401b031660008a6040518086600281111561340657fe5b60ff168152602001858152602001846001600160401b03166001600160401b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561346b578181015183820152602001613453565b50505050905090810190601f1680156134985780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a45050600f805460016001600160401b03600160501b8084048216929092011602600160501b600160901b03199091161790555050505050565b60008282018381101561353f5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038087166000908152600660205260409020548791166135ae5760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038716600090815260096020526040902054879060ff16156136135760408051600160e51b62461bcd02815260206004820152600c6024820152600160a11b6b3637b1b5b2b2103a37b5b2b702604482015290519081900360640190fd5b600f54600160481b900460ff166136685760408051600160e51b62461bcd02815260206004820152600e6024820152600160901b6d73746f707065642062726964676502604482015290519081900360640190fd5b600085116136c05760408051600160e51b62461bcd02815260206004820152600e60248201527f7a65726f206d73672e76616c7565000000000000000000000000000000000000604482015290519081900360640190fd5b60006136cd888a87613dd9565b600f54909150600160401b900460ff161561374157886001600160a01b03166342966c68876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561372857600080fd5b505af115801561373c573d6000803e3d6000fd5b505050505b886001600160a01b0316876001600160a01b0316896001600160a01b03167feff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f0960018a600f600a9054906101000a90046001600160401b0316878b604051808660028111156137ab57fe5b60ff168152602001858152602001846001600160401b03166001600160401b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156138105781810151838201526020016137f8565b50505050905090810190601f16801561383d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a45050600f805460016001600160401b03600160501b8084048216929092011602600160501b600160901b031990911617905550505050505050565b6001600160a01b038216600081815260036020526040808220849055518392917fdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b91a35050565b600f546001600160401b03808316600160901b909204161115612efb5760408051600160e51b62461bcd02815260206004820152600c60248201527f72656d6f76656420766f74650000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160401b0381166000908152600b602052604081205460ff161561399f5760408051600160e51b62461bcd02815260206004820152600b6024820152600160a81b6a636c6f73656420766f746502604482015290519081900360640190fd5b60008036604051808383808284378083019250505092505050604051809103902090506139ce60008483613c6d565b156131cc5750506001600160401b0381166000908152600b60205260409020805460ff1916600190811790915561309e565b6000908152602081905260409020805460ff19166001179055565b6010546001600160401b039081169082161115613a4f576010805467ffffffffffffffff19166001600160401b0383161790555b600f5460105460c86001600160401b03600160901b909304831601919081169082161115613a8557506010546001600160401b03165b600f54600160901b90046001600160401b03165b816001600160401b0316816001600160401b031611158015613ad457506001600160401b038082166000908152601160205260409020541615155b15613b41576001600160401b0381811660009081526011602090815260408083208054601080546fffffffffffffffff0000000000000000191691909616600160401b0217909455835467ffffffffffffffff1916909355600b905220805460ff19169055600101613a99565b600f80546001600160401b03909216600160901b0279ffffffffffffffff000000000000000000000000000000000000199092169190911790555050565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f78605990600090a250565b6001600160a01b038116613c1157604051600160e51b62461bcd0281526004018080602001828103825260268152602001806141bb6026913960400191505060405180910390fd5b6004546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080600a6000866002811115613c8057fe5b60ff168152602080820192909252604090810160009081206001600160401b0388168252835281812033825260018101909352205490915080613ce45781546001810183556000838152602090200180546001600160a01b03191633179055613d0b565b60008181526003830160205260409020805460ff19811660ff918216600019019091161790555b33600090815260018301602090815260408083208790558683526003850190915290205460ff16613d515760028201805460018101825560009182526020909120018490555b60008481526003830160205260408120805460ff8082166001011660ff19909116179055600e90876002811115613d8457fe5b60ff90811682526020808301939093526040918201600090812054888252600387019094529190912054918116911610613dcd57613dc28686614026565b60019250505061353f565b50600095945050505050565b6001600160a01b03808316600090815260036020526040812054600154919290911615801590613e095750600081115b15613f8f5780831015613e665760408051600160e51b62461bcd02815260206004820152601560248201527f696e73756666696369656e74206665654c696d69740000000000000000000000604482015290519081900360640190fd5b60015460408051600160e01b63a9059cbb0281526001600160a01b0392831660048201526024810184905290519186169163a9059cbb916044808201926020929091908290030181600087803b158015613ebf57600080fd5b505af1158015613ed3573d6000803e3d6000fd5b505050506040513d6020811015613ee957600080fd5b50506001600160a01b03841663a9059cbb86613f0b868563ffffffff6130a316565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613f5a57600080fd5b505af1158015613f6e573d6000803e3d6000fd5b505050506040513d6020811015613f8457600080fd5b5090915061353f9050565b836001600160a01b031663a9059cbb86856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613fef57600080fd5b505af1158015614003573d6000803e3d6000fd5b505050506040513d602081101561401957600080fd5b5060009695505050505050565b6000600a600084600281111561403857fe5b60ff168152602080820192909252604090810160009081206001600160401b0386168252909252812091505b815460ff821610156140b557816001016000836000018360ff168154811061408857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812055600101614064565b5060005b600282015460ff8216101561410b57816003016000836002018360ff16815481106140e057fe5b600091825260208083209091015483528201929092526040019020805460ff191690556001016140b9565b50600a600084600281111561411c57fe5b60ff168152602080820192909252604090810160009081206001600160401b03861682529092528120906141508282614182565b6117f8600283016000614182565b8154818355818111156118705760008381526020902061187091810190830161419c565b5080546000825590600052602060002090810190612efb91905b6120c691905b808211156141b657600081556001016141a2565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726d73672e73656e646572206973206e6f7420616e206f70657261746f72000000a165627a7a72305820ed5b748b664f20d36fca051983679dd3d7182666647d01b04537e4fa441cbdc40029` // BridgeBin is the compiled bytecode used for deploying new contracts. const BridgeBin = `0x60806040819052600180546001600160a01b03191690556000600255600f8054600160401b61ffff021916690100000000000000000017905560108054600160401b600160801b03191668010000000000000000179055602080620043e2833981018060405260208110156200007457600080fd5b5051600180546001600160a01b03199081169091556004805490911633179081905560405182916001600160a01b0316906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360005b600260ff82161015620001045760ff81166000908152600e60205260409020805460ff1916600190811790915501620000d0565b50336000818152600c60205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055600f80549115156801000000000000000002600160401b60ff02199092169190911790555061424c80620001966000396000f3fe60806040526004361061031a5760003560e01c80638a75eee2116101ab578063bab2af1d116100f7578063ea21eade11610095578063f1656e531161006f578063f1656e5314611071578063f171996614611147578063f2fde38b1461115c578063ffa1ad741461118f5761031a565b8063ea21eade14610ff4578063ee2aec6514611009578063efdcd9741461103e5761031a565b8063cb38f407116100d1578063cb38f40714610ebf578063cf0da29014610ee9578063d8cf98ca14610fb9578063dd9222d614610fec5761031a565b8063bab2af1d14610e4b578063c263b5d614610e7e578063c877cf3714610e935761031a565b80639ef2017b11610164578063ac6fff0b1161013e578063ac6fff0b14610c3e578063afb6022314610c53578063b2c0103014610dd1578063b3f0067414610e365761031a565b80639ef2017b14610b075780639f07132914610b3a578063a066a7ed14610b4f5761031a565b80638a75eee214610a385780638c0bd91614610a625780638da5cb5b14610a955780638f32d59b14610aaa5780639832c1d714610abf578063989ba0d314610af25761031a565b8063407e6bae1161026a5780635526f76b11610223578063715018a6116101fd578063715018a61461095857806375ebdc091461096d5780637c1a0302146109f057806387b04c5514610a055761031a565b80635526f76b146108cd5780635eb7413a146109105780636e176ec2146109435761031a565b8063407e6bae146106f75780634739f7e5146107f0578063488af8711461082b57806348a18a6a146108705780634b40b826146108a357806354edad72146108b85761031a565b806322604742116102d75780633682a450116102b15780633682a450146106545780633a3099d1146106875780633a3485331461069c5780633e4fe949146106cd5761031a565b8063226047421461046557806326c23b54146105365780632f88396c1461060c5761031a565b806310693fcd1461033957806313a6738a1461036c57806313e7c9d8146103bb5780631a2ae53e146104025780631ebdca381461043b5780632014e5d114610450575b6002546040805160008152602081019091526103379133916111a4565b005b34801561034557600080fd5b506103376004803603602081101561035c57600080fd5b50356001600160a01b03166113e4565b34801561037857600080fd5b5061039f6004803603602081101561038f57600080fd5b50356001600160401b0316611549565b604080516001600160401b039092168252519081900360200190f35b3480156103c757600080fd5b506103ee600480360360208110156103de57600080fd5b50356001600160a01b0316611564565b604080519115158252519081900360200190f35b34801561040e57600080fd5b506103376004803603604081101561042557600080fd5b50803590602001356001600160401b0316611579565b34801561044757600080fd5b506103376115ed565b34801561045c57600080fd5b506103ee6116b9565b34801561047157600080fd5b506103376004803603608081101561048857600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104c257600080fd5b8201836020820111156104d457600080fd5b803590602001918460018302840111600160201b831117156104f557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506116c9945050505050565b34801561054257600080fd5b50610337600480360360a081101561055957600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a081016080820135600160201b81111561059857600080fd5b8201836020820111156105aa57600080fd5b803590602001918460018302840111600160201b831117156105cb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061174b945050505050565b34801561061857600080fd5b506103376004803603606081101561062f57600080fd5b5080356001600160a01b031690602081013590604001356001600160401b03166117ff565b34801561066057600080fd5b506103376004803603602081101561067757600080fd5b50356001600160a01b0316611875565b34801561069357600080fd5b5061039f6119f0565b3480156106a857600080fd5b506106b16119f5565b604080516001600160a01b039092168252519081900360200190f35b3480156106d957600080fd5b506106b1600480360360208110156106f057600080fd5b5035611a04565b34801561070357600080fd5b50610337600480360361010081101561071b57600080fd5b8135916001600160a01b03602082013581169260408301358216926060810135909216916080810135916001600160401b0360a083013581169260c081013590911691810190610100810160e0820135600160201b81111561077c57600080fd5b82018360208201111561078e57600080fd5b803590602001918460018302840111600160201b831117156107af57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611a2b945050505050565b3480156107fc57600080fd5b506103376004803603604081101561081357600080fd5b506001600160a01b0381358116916020013516611d3e565b34801561083757600080fd5b5061085e6004803603602081101561084e57600080fd5b50356001600160a01b0316611e9b565b60408051918252519081900360200190f35b34801561087c57600080fd5b5061085e6004803603602081101561089357600080fd5b50356001600160a01b0316611ead565b3480156108af57600080fd5b5061039f611ebf565b3480156108c457600080fd5b5061039f611ed5565b3480156108d957600080fd5b506108fa600480360360208110156108f057600080fd5b503560ff16611ee4565b6040805160ff9092168252519081900360200190f35b34801561091c57600080fd5b506103ee6004803603602081101561093357600080fd5b50356001600160a01b0316611ef9565b34801561094f57600080fd5b506103ee611f0e565b34801561096457600080fd5b50610337611f1e565b6103376004803603606081101561098357600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156109b257600080fd5b8201836020820111156109c457600080fd5b803590602001918460018302840111600160201b831117156109e557600080fd5b509092509050611fb2565b3480156109fc57600080fd5b5061039f612007565b348015610a1157600080fd5b5061033760048036036020811015610a2857600080fd5b50356001600160a01b031661201d565b348015610a4457600080fd5b506103ee60048036036020811015610a5b57600080fd5b5035612089565b348015610a6e57600080fd5b506106b160048036036020811015610a8557600080fd5b50356001600160a01b031661209e565b348015610aa157600080fd5b506106b16120b9565b348015610ab657600080fd5b506103ee6120c9565b348015610acb57600080fd5b506103ee60048036036020811015610ae257600080fd5b50356001600160401b03166120da565b348015610afe57600080fd5b5061039f6120ef565b348015610b1357600080fd5b5061033760048036036020811015610b2a57600080fd5b50356001600160a01b0316612105565b348015610b4657600080fd5b50610337612279565b348015610b5b57600080fd5b50610337600480360360e0811015610b7257600080fd5b8135916001600160a01b0360208201358116926040830135909116916060810135916001600160401b03608083013581169260a08101359091169181019060e0810160c0820135600160201b811115610bca57600080fd5b820183602082011115610bdc57600080fd5b803590602001918460018302840111600160201b83111715610bfd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612342945050505050565b348015610c4a57600080fd5b5061039f61255a565b348015610c5f57600080fd5b506103376004803603610120811015610c7757600080fd5b8135916001600160a01b03602082013581169260408301358216926060810135909216916080810135916001600160401b0360a083013581169260c081013590911691810190610100810160e0820135600160201b811115610cd857600080fd5b820183602082011115610cea57600080fd5b803590602001918460018302840111600160201b83111715610d0b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610d5d57600080fd5b820183602082011115610d6f57600080fd5b803590602001918460018302840111600160201b83111715610d9057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612569945050505050565b348015610ddd57600080fd5b50610de66128ce565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610e22578181015183820152602001610e0a565b505050509050019250505060405180910390f35b348015610e4257600080fd5b506106b1612930565b348015610e5757600080fd5b5061033760048036036020811015610e6e57600080fd5b50356001600160a01b031661293f565b348015610e8a57600080fd5b5061085e612b2e565b348015610e9f57600080fd5b5061033760048036036020811015610eb657600080fd5b50351515612b34565b348015610ecb57600080fd5b506106b160048036036020811015610ee257600080fd5b5035612ba2565b348015610ef557600080fd5b5061033760048036036080811015610f0c57600080fd5b6001600160a01b038235811692602081013592604082013590921691810190608081016060820135600160201b811115610f4557600080fd5b820183602082011115610f5757600080fd5b803590602001918460018302840111600160201b83111715610f7857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612baf945050505050565b348015610fc557600080fd5b5061033760048036036020811015610fdc57600080fd5b50356001600160a01b0316612bbc565b610337612d0a565b34801561100057600080fd5b50610de6612d0c565b34801561101557600080fd5b506103376004803603604081101561102c57600080fd5b5060ff81358116916020013516612d6c565b34801561104a57600080fd5b506103376004803603602081101561106157600080fd5b50356001600160a01b0316612ea8565b34801561107d57600080fd5b50610337600480360360a081101561109457600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a081016080820135600160201b8111156110d357600080fd5b8201836020820111156110e557600080fd5b803590602001918460018302840111600160201b8311171561110657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612efe945050505050565b34801561115357600080fd5b506103ee612f0c565b34801561116857600080fd5b506103376004803603602081101561117f57600080fd5b50356001600160a01b0316612f15565b34801561119b57600080fd5b5061039f612f68565b60125460ff16156111eb5760408051600160e51b62461bcd0281526020600482015260066024820152600160d21b651b1bd8dad95902604482015290519081900360640190fd5b600f54600160481b900460ff166112405760408051600160e51b62461bcd02815260206004820152600e6024820152600160901b6d73746f707065642062726964676502604482015290519081900360640190fd5b8134116112975760408051600160e51b62461bcd02815260206004820152601360248201527f696e73756666696369656e7420616d6f756e7400000000000000000000000000604482015290519081900360640190fd5b60006112a283612f6d565b905060006001600160a01b038516337feff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09836112e3348963ffffffff6130a316565b600f600a9054906101000a90046001600160401b031687896040518086600281111561130b57fe5b60ff168152602001858152602001846001600160401b03166001600160401b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611370578181015183820152602001611358565b50505050905090810190601f16801561139d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a45050600f805460016001600160401b03600160501b8084048216929092011602600160501b600160901b03199091161790555050565b6113ec6120c9565b61142e5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b038082166000908152600660205260409020548291166114965760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260096020526040902054829060ff16156114fb5760408051600160e51b62461bcd02815260206004820152600c6024820152600160a11b6b3637b1b5b2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038316600081815260096020526040808220805460ff19166001179055517fca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd79190a2505050565b6011602052600090815260409020546001600160401b031681565b600c6020526000908152604090205460ff1681565b336000908152600c602052604090205460ff166115ce5760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b6115d781613103565b6115e0576115e9565b6115e9826131d5565b5050565b6115f56120c9565b6116375760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b60125460ff1615156001146116845760408051600160e51b62461bcd0281526020600482015260086024820152600160c21b671d5b9b1bd8dad95902604482015290519081900360640190fd5b6012805460ff191690556040517fd20610c9b78a6903ef134539e3deb5d243be461de6ef12d4c29536bb9b54fa1b90600090a1565b600f54600160481b900460ff1681565b60408051600160e01b6323b872dd0281523360048201523060248201526044810184905290516001600160a01b038616916323b872dd91606480830192600092919082900301818387803b15801561172057600080fd5b505af1158015611734573d6000803e3d6000fd5b505050506117458433858585613208565b50505050565b6001600160a01b0385166323b872dd333061176c878763ffffffff6134e216565b6040805163ffffffff861660e01b81526001600160a01b0394851660048201529290931660248301526044820152905160648083019260209291908290030181600087803b1580156117bd57600080fd5b505af11580156117d1573d6000803e3d6000fd5b505050506040513d60208110156117e757600080fd5b506117f89050853386868686613546565b5050505050565b336000908152600c602052604090205460ff166118545760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b61185d81613103565b61186657611870565b6118708383613889565b505050565b61187d6120c9565b6118bf5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b600d54600c116119195760408051600160e51b62461bcd02815260206004820152601260248201527f6d6178206f70657261746f72206c696d69740000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600c602052604090205460ff161561198a5760408051600160e51b62461bcd02815260206004820152600e60248201527f6578697374206f70657261746f72000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03166000818152600c60205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055565b600c81565b6005546001600160a01b031681565b60088181548110611a1157fe5b6000918252602090912001546001600160a01b0316905081565b336000908152600c602052604090205460ff16611a805760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b611a89836138d0565b611a928361393d565b611a9b57611d34565b611aa488613a00565b6001600160401b038381166000908152601160205260409020805467ffffffffffffffff1916918416919091179055611adc83613a1b565b846001600160a01b0316866001600160a01b0316886001600160a01b03167f12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea101758b60018989600f60129054906101000a90046001600160401b03168960405180878152602001866002811115611b4d57fe5b60ff168152602001858152602001846001600160401b03166001600160401b03168152602001836001600160401b03166001600160401b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611bc4578181015183820152602001611bac565b50505050905090810190601f168015611bf15780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a4600f54600160401b900460ff1615611ca757846001600160a01b03166340c10f1987866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611c7557600080fd5b505af1158015611c89573d6000803e3d6000fd5b505050506040513d6020811015611c9f57600080fd5b50611d349050565b846001600160a01b031663a9059cbb87866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611d0757600080fd5b505af1158015611d1b573d6000803e3d6000fd5b505050506040513d6020811015611d3157600080fd5b50505b5050505050505050565b611d466120c9565b611d885760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b0380831660009081526006602052604090205483911615611dfa5760408051600160e51b62461bcd02815260206004820152600d60248201527f616c6c6f77656420746f6b656e00000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03808416600081815260066020908152604080832080549588166001600160a01b031996871617905560088054600790935281842083905560018301815583527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee390910180549094168317909355915190917f158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d91a2505050565b60036020526000908152604090205481565b60076020526000908152604090205481565b600f54600160901b90046001600160401b031681565b6010546001600160401b031681565b600e6020526000908152604090205460ff1681565b60096020526000908152604090205460ff1681565b600f54600160401b900460ff1681565b611f266120c9565b611f685760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6004546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600480546001600160a01b0319169055565b6000611fc4348563ffffffff6130a316565b90506117f8858285858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111a492505050565b600f54600160501b90046001600160401b031681565b6120256120c9565b6120675760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60006020819052908152604090205460ff1681565b6006602052600090815260409020546001600160a01b031681565b6004546001600160a01b03165b90565b6004546001600160a01b0316331490565b600b6020526000908152604090205460ff1681565b601054600160401b90046001600160401b031681565b61210d6120c9565b61214f5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b038082166000908152600660205260409020548291166121b75760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260096020526040902054829060ff16151560011461222e5760408051600160e51b62461bcd02815260206004820152600e60248201527f756e6c6f636b656420746f6b656e000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038316600081815260096020526040808220805460ff19169055517f81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec9190a2505050565b6122816120c9565b6122c35760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b60125460ff161561230a5760408051600160e51b62461bcd0281526020600482015260066024820152600160d21b651b1bd8dad95902604482015290519081900360640190fd5b6012805460ff191660011790556040517f915f3053cbc6842207cd97b68c0b585109b4f2fe61c5dbeb25d7678bfdfb8dfa90600090a1565b336000908152600c602052604090205460ff166123975760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b6123a0836138d0565b6123a98361393d565b6123b257612551565b6123bb87613a00565b6001600160401b038381166000908152601160205260409020805467ffffffffffffffff19169184169190911790556123f383613a1b565b60006001600160a01b0316856001600160a01b0316876001600160a01b03167f12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea101758a60008989600f60129054906101000a90046001600160401b0316896040518087815260200186600281111561246557fe5b60ff168152602001858152602001846001600160401b03166001600160401b03168152602001836001600160401b03166001600160401b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156124dc5781810151838201526020016124c4565b50505050905090810190601f1680156125095780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a46040516001600160a01b0386169085156108fc029086906000818181858888f19350505050158015611d34573d6000803e3d6000fd5b50505050505050565b600f546001600160401b031681565b336000908152600c602052604090205460ff166125be5760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020614201833981519152604482015290519081900360640190fd5b6125c7846138d0565b6125d08461393d565b6125d9576128c3565b6125e289613a00565b6001600160401b038481166000908152601160205260409020805467ffffffffffffffff191691851691909117905561261a84613a1b565b856001600160a01b0316876001600160a01b0316896001600160a01b03167f12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea101758c60028a8a600f60129054906101000a90046001600160401b0316896040518087815260200186600281111561268b57fe5b60ff168152602001858152602001846001600160401b03166001600160401b03168152602001836001600160401b03166001600160401b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156127025781810151838201526020016126ea565b50505050905090810190601f16801561272f5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a4600f54600160401b900460ff161561284f57856001600160a01b03166350bb4e7f8887856040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156127cf5781810151838201526020016127b7565b50505050905090810190601f1680156127fc5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b15801561281d57600080fd5b505af1158015612831573d6000803e3d6000fd5b505050506040513d602081101561284757600080fd5b506128c39050565b60408051600160e11b63214217070281523060048201526001600160a01b038981166024830152604482018890529151918816916342842e0e9160648082019260009290919082900301818387803b1580156128aa57600080fd5b505af11580156128be573d6000803e3d6000fd5b505050505b505050505050505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561292657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612908575b5050505050905090565b6001546001600160a01b031681565b6129476120c9565b6129895760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b038082166000908152600660205260409020548291166129f15760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260066020908152604080832080546001600160a01b031916905560098252808320805460ff1916905560079091528120805491905560085460001901811015612ae157600880546000198101908110612a5557fe5b600091825260209091200154600880546001600160a01b039092169183908110612a7b57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806007600060088481548110612abb57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020555b6008805490612af490600019830161415e565b506040516001600160a01b038416907f1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b690600090a2505050565b60025481565b612b3c6120c9565b612b7e5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b600f8054911515600160481b0269ff00000000000000000019909216919091179055565b600d8181548110611a1157fe5b6117453385848685613208565b612bc46120c9565b612c065760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152600c602052604090205460ff16612c2b57600080fd5b6001600160a01b0381166000908152600c60205260408120805460ff191690555b600d548110156115e957816001600160a01b0316600d8281548110612c6d57fe5b6000918252602090912001546001600160a01b03161415612d0257600d80546000198101908110612c9a57fe5b600091825260209091200154600d80546001600160a01b039092169183908110612cc057fe5b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055600d805490612cfc90600019830161415e565b506115e9565b600101612c4c565b565b60606008805480602002602001604051908101604052809291908181526020018280548015612926576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311612908575050505050905090565b612d746120c9565b612db65760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b60008160ff1611612e115760408051600160e51b62461bcd02815260206004820152600e60248201527f7a65726f207468726573686f6c64000000000000000000000000000000000000604482015290519081900360640190fd5b600d5460ff82161115612e6e5760408051600160e51b62461bcd02815260206004820152601c60248201527f626967676572207468616e206e756d206f66206f70657261746f727300000000604482015290519081900360640190fd5b80600e6000846002811115612e7f57fe5b60ff90811682526020820192909252604001600020805460ff1916929091169190911790555050565b612eb06120c9565b612ef25760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b612efb81613b7f565b50565b6117f8338686868686613546565b60125460ff1681565b612f1d6120c9565b612f5f5760408051600160e51b62461bcd02815260206004820181905260248201526000805160206141e1833981519152604482015290519081900360640190fd5b612efb81613bc9565b600181565b600254600154600091906001600160a01b031615801590612f8e5750600081115b1561306a5780831015612feb5760408051600160e51b62461bcd02815260206004820152601560248201527f696e73756666696369656e74206665654c696d69740000000000000000000000604482015290519081900360640190fd5b6001546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015613025573d6000803e3d6000fd5b50336108fc61303a858463ffffffff6130a316565b6040518115909202916000818181858888f19350505050158015613062573d6000803e3d6000fd5b50905061309e565b604051339084156108fc029085906000818181858888f19350505050158015613097573d6000803e3d6000fd5b5060009150505b919050565b6000828211156130fd5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600f546000906001600160401b0383811691161461316b5760408051600160e51b62461bcd02815260206004820152600e60248201527f6e6f6e6365206d69736d61746368000000000000000000000000000000000000604482015290519081900360640190fd5b600080366040518083838082843780830192505050925050506040518091039020905061319a60018483613c6d565b156131cc575050600f805467ffffffffffffffff19811660016001600160401b0392831681019092161790915561309e565b50600092915050565b600281905560405181907fa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac36590600090a250565b6001600160a01b038086166000908152600660205260409020548691166132705760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038616600090815260096020526040902054869060ff16156132d55760408051600160e51b62461bcd02815260206004820152600c6024820152600160a11b6b3637b1b5b2b2103a37b5b2b702604482015290519081900360640190fd5b600f54600160481b900460ff1661332a5760408051600160e51b62461bcd02815260206004820152600e6024820152600160901b6d73746f707065642062726964676502604482015290519081900360640190fd5b600f54600160401b900460ff161561339b57866001600160a01b03166342966c68856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561338257600080fd5b505af1158015613396573d6000803e3d6000fd5b505050505b866001600160a01b0316856001600160a01b0316876001600160a01b03167feff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09600288600f600a9054906101000a90046001600160401b031660008a6040518086600281111561340657fe5b60ff168152602001858152602001846001600160401b03166001600160401b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561346b578181015183820152602001613453565b50505050905090810190601f1680156134985780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a45050600f805460016001600160401b03600160501b8084048216929092011602600160501b600160901b03199091161790555050505050565b60008282018381101561353f5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038087166000908152600660205260409020548791166135ae5760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038716600090815260096020526040902054879060ff16156136135760408051600160e51b62461bcd02815260206004820152600c6024820152600160a11b6b3637b1b5b2b2103a37b5b2b702604482015290519081900360640190fd5b600f54600160481b900460ff166136685760408051600160e51b62461bcd02815260206004820152600e6024820152600160901b6d73746f707065642062726964676502604482015290519081900360640190fd5b600085116136c05760408051600160e51b62461bcd02815260206004820152600e60248201527f7a65726f206d73672e76616c7565000000000000000000000000000000000000604482015290519081900360640190fd5b60006136cd888a87613dd9565b600f54909150600160401b900460ff161561374157886001600160a01b03166342966c68876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561372857600080fd5b505af115801561373c573d6000803e3d6000fd5b505050505b886001600160a01b0316876001600160a01b0316896001600160a01b03167feff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f0960018a600f600a9054906101000a90046001600160401b0316878b604051808660028111156137ab57fe5b60ff168152602001858152602001846001600160401b03166001600160401b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156138105781810151838201526020016137f8565b50505050905090810190601f16801561383d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a45050600f805460016001600160401b03600160501b8084048216929092011602600160501b600160901b031990911617905550505050505050565b6001600160a01b038216600081815260036020526040808220849055518392917fdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b91a35050565b600f546001600160401b03808316600160901b909204161115612efb5760408051600160e51b62461bcd02815260206004820152600c60248201527f72656d6f76656420766f74650000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160401b0381166000908152600b602052604081205460ff161561399f5760408051600160e51b62461bcd02815260206004820152600b6024820152600160a81b6a636c6f73656420766f746502604482015290519081900360640190fd5b60008036604051808383808284378083019250505092505050604051809103902090506139ce60008483613c6d565b156131cc5750506001600160401b0381166000908152600b60205260409020805460ff1916600190811790915561309e565b6000908152602081905260409020805460ff19166001179055565b6010546001600160401b039081169082161115613a4f576010805467ffffffffffffffff19166001600160401b0383161790555b600f5460105460c86001600160401b03600160901b909304831601919081169082161115613a8557506010546001600160401b03165b600f54600160901b90046001600160401b03165b816001600160401b0316816001600160401b031611158015613ad457506001600160401b038082166000908152601160205260409020541615155b15613b41576001600160401b0381811660009081526011602090815260408083208054601080546fffffffffffffffff0000000000000000191691909616600160401b0217909455835467ffffffffffffffff1916909355600b905220805460ff19169055600101613a99565b600f80546001600160401b03909216600160901b0279ffffffffffffffff000000000000000000000000000000000000199092169190911790555050565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f78605990600090a250565b6001600160a01b038116613c1157604051600160e51b62461bcd0281526004018080602001828103825260268152602001806141bb6026913960400191505060405180910390fd5b6004546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080600a6000866002811115613c8057fe5b60ff168152602080820192909252604090810160009081206001600160401b0388168252835281812033825260018101909352205490915080613ce45781546001810183556000838152602090200180546001600160a01b03191633179055613d0b565b60008181526003830160205260409020805460ff19811660ff918216600019019091161790555b33600090815260018301602090815260408083208790558683526003850190915290205460ff16613d515760028201805460018101825560009182526020909120018490555b60008481526003830160205260408120805460ff8082166001011660ff19909116179055600e90876002811115613d8457fe5b60ff90811682526020808301939093526040918201600090812054888252600387019094529190912054918116911610613dcd57613dc28686614026565b60019250505061353f565b50600095945050505050565b6001600160a01b03808316600090815260036020526040812054600154919290911615801590613e095750600081115b15613f8f5780831015613e665760408051600160e51b62461bcd02815260206004820152601560248201527f696e73756666696369656e74206665654c696d69740000000000000000000000604482015290519081900360640190fd5b60015460408051600160e01b63a9059cbb0281526001600160a01b0392831660048201526024810184905290519186169163a9059cbb916044808201926020929091908290030181600087803b158015613ebf57600080fd5b505af1158015613ed3573d6000803e3d6000fd5b505050506040513d6020811015613ee957600080fd5b50506001600160a01b03841663a9059cbb86613f0b868563ffffffff6130a316565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613f5a57600080fd5b505af1158015613f6e573d6000803e3d6000fd5b505050506040513d6020811015613f8457600080fd5b5090915061353f9050565b836001600160a01b031663a9059cbb86856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613fef57600080fd5b505af1158015614003573d6000803e3d6000fd5b505050506040513d602081101561401957600080fd5b5060009695505050505050565b6000600a600084600281111561403857fe5b60ff168152602080820192909252604090810160009081206001600160401b0386168252909252812091505b815460ff821610156140b557816001016000836000018360ff168154811061408857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812055600101614064565b5060005b600282015460ff8216101561410b57816003016000836002018360ff16815481106140e057fe5b600091825260208083209091015483528201929092526040019020805460ff191690556001016140b9565b50600a600084600281111561411c57fe5b60ff168152602080820192909252604090810160009081206001600160401b03861682529092528120906141508282614182565b6117f8600283016000614182565b8154818355818111156118705760008381526020902061187091810190830161419c565b5080546000825590600052602060002090810190612efb91905b6120c691905b808211156141b657600081556001016141a2565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726d73672e73656e646572206973206e6f7420616e206f70657261746f72000000a165627a7a72305820ed5b748b664f20d36fca051983679dd3d7182666647d01b04537e4fa441cbdc40029` // DeployBridge deploys a new Klaytn contract, binding an instance of Bridge to it. func DeployBridge(auth *bind.TransactOpts, backend bind.ContractBackend, _modeMintBurn bool) (common.Address, *types.Transaction, *Bridge, error) { parsed, err := abi.JSON(strings.NewReader(BridgeABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeBin), backend, _modeMintBurn) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Bridge{BridgeCaller: BridgeCaller{contract: contract}, BridgeTransactor: BridgeTransactor{contract: contract}, BridgeFilterer: BridgeFilterer{contract: contract}}, nil } // Bridge is an auto generated Go binding around a Klaytn contract. type Bridge struct { BridgeCaller // Read-only binding to the contract BridgeTransactor // Write-only binding to the contract BridgeFilterer // Log filterer for contract events } // BridgeCaller is an auto generated read-only Go binding around a Klaytn contract. type BridgeCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeSession struct { Contract *Bridge // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeCallerSession struct { Contract *BridgeCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeTransactorSession struct { Contract *BridgeTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeRaw is an auto generated low-level Go binding around a Klaytn contract. type BridgeRaw struct { Contract *Bridge // Generic contract binding to access the raw methods on } // BridgeCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeCallerRaw struct { Contract *BridgeCaller // Generic read-only contract binding to access the raw methods on } // BridgeTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeTransactorRaw struct { Contract *BridgeTransactor // Generic write-only contract binding to access the raw methods on } // NewBridge creates a new instance of Bridge, bound to a specific deployed contract. func NewBridge(address common.Address, backend bind.ContractBackend) (*Bridge, error) { contract, err := bindBridge(address, backend, backend, backend) if err != nil { return nil, err } return &Bridge{BridgeCaller: BridgeCaller{contract: contract}, BridgeTransactor: BridgeTransactor{contract: contract}, BridgeFilterer: BridgeFilterer{contract: contract}}, nil } // NewBridgeCaller creates a new read-only instance of Bridge, bound to a specific deployed contract. func NewBridgeCaller(address common.Address, caller bind.ContractCaller) (*BridgeCaller, error) { contract, err := bindBridge(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeCaller{contract: contract}, nil } // NewBridgeTransactor creates a new write-only instance of Bridge, bound to a specific deployed contract. func NewBridgeTransactor(address common.Address, transactor bind.ContractTransactor) (*BridgeTransactor, error) { contract, err := bindBridge(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeTransactor{contract: contract}, nil } // NewBridgeFilterer creates a new log filterer instance of Bridge, bound to a specific deployed contract. func NewBridgeFilterer(address common.Address, filterer bind.ContractFilterer) (*BridgeFilterer, error) { contract, err := bindBridge(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeFilterer{contract: contract}, nil } // bindBridge binds a generic wrapper to an already deployed contract. func bindBridge(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Bridge *BridgeRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Bridge.Contract.BridgeCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Bridge *BridgeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Bridge.Contract.BridgeTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Bridge *BridgeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Bridge.Contract.BridgeTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Bridge *BridgeCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Bridge.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Bridge *BridgeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Bridge.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Bridge *BridgeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Bridge.Contract.contract.Transact(opts, method, params...) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_Bridge *BridgeCaller) MAXOPERATOR(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _Bridge.contract.Call(opts, out, "MAX_OPERATOR") return *ret0, err } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_Bridge *BridgeSession) MAXOPERATOR() (uint64, error) { return _Bridge.Contract.MAXOPERATOR(&_Bridge.CallOpts) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_Bridge *BridgeCallerSession) MAXOPERATOR() (uint64, error) { return _Bridge.Contract.MAXOPERATOR(&_Bridge.CallOpts) } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() constant returns(uint64) func (_Bridge *BridgeCaller) VERSION(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _Bridge.contract.Call(opts, out, "VERSION") return *ret0, err } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() constant returns(uint64) func (_Bridge *BridgeSession) VERSION() (uint64, error) { return _Bridge.Contract.VERSION(&_Bridge.CallOpts) } // VERSION is a free data retrieval call binding the contract method 0xffa1ad74. // // Solidity: function VERSION() constant returns(uint64) func (_Bridge *BridgeCallerSession) VERSION() (uint64, error) { return _Bridge.Contract.VERSION(&_Bridge.CallOpts) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_Bridge *BridgeCaller) ClosedValueTransferVotes(opts *bind.CallOpts, arg0 uint64) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Bridge.contract.Call(opts, out, "closedValueTransferVotes", arg0) return *ret0, err } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_Bridge *BridgeSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _Bridge.Contract.ClosedValueTransferVotes(&_Bridge.CallOpts, arg0) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_Bridge *BridgeCallerSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _Bridge.Contract.ClosedValueTransferVotes(&_Bridge.CallOpts, arg0) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_Bridge *BridgeCaller) ConfigurationNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _Bridge.contract.Call(opts, out, "configurationNonce") return *ret0, err } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_Bridge *BridgeSession) ConfigurationNonce() (uint64, error) { return _Bridge.Contract.ConfigurationNonce(&_Bridge.CallOpts) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_Bridge *BridgeCallerSession) ConfigurationNonce() (uint64, error) { return _Bridge.Contract.ConfigurationNonce(&_Bridge.CallOpts) } // CounterpartBridge is a free data retrieval call binding the contract method 0x3a348533. // // Solidity: function counterpartBridge() constant returns(address) func (_Bridge *BridgeCaller) CounterpartBridge(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _Bridge.contract.Call(opts, out, "counterpartBridge") return *ret0, err } // CounterpartBridge is a free data retrieval call binding the contract method 0x3a348533. // // Solidity: function counterpartBridge() constant returns(address) func (_Bridge *BridgeSession) CounterpartBridge() (common.Address, error) { return _Bridge.Contract.CounterpartBridge(&_Bridge.CallOpts) } // CounterpartBridge is a free data retrieval call binding the contract method 0x3a348533. // // Solidity: function counterpartBridge() constant returns(address) func (_Bridge *BridgeCallerSession) CounterpartBridge() (common.Address, error) { return _Bridge.Contract.CounterpartBridge(&_Bridge.CallOpts) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_Bridge *BridgeCaller) FeeOfERC20(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _Bridge.contract.Call(opts, out, "feeOfERC20", arg0) return *ret0, err } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_Bridge *BridgeSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _Bridge.Contract.FeeOfERC20(&_Bridge.CallOpts, arg0) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_Bridge *BridgeCallerSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _Bridge.Contract.FeeOfERC20(&_Bridge.CallOpts, arg0) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_Bridge *BridgeCaller) FeeOfKLAY(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _Bridge.contract.Call(opts, out, "feeOfKLAY") return *ret0, err } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_Bridge *BridgeSession) FeeOfKLAY() (*big.Int, error) { return _Bridge.Contract.FeeOfKLAY(&_Bridge.CallOpts) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_Bridge *BridgeCallerSession) FeeOfKLAY() (*big.Int, error) { return _Bridge.Contract.FeeOfKLAY(&_Bridge.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_Bridge *BridgeCaller) FeeReceiver(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _Bridge.contract.Call(opts, out, "feeReceiver") return *ret0, err } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_Bridge *BridgeSession) FeeReceiver() (common.Address, error) { return _Bridge.Contract.FeeReceiver(&_Bridge.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_Bridge *BridgeCallerSession) FeeReceiver() (common.Address, error) { return _Bridge.Contract.FeeReceiver(&_Bridge.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_Bridge *BridgeCaller) GetOperatorList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _Bridge.contract.Call(opts, out, "getOperatorList") return *ret0, err } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_Bridge *BridgeSession) GetOperatorList() ([]common.Address, error) { return _Bridge.Contract.GetOperatorList(&_Bridge.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_Bridge *BridgeCallerSession) GetOperatorList() ([]common.Address, error) { return _Bridge.Contract.GetOperatorList(&_Bridge.CallOpts) } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_Bridge *BridgeCaller) GetRegisteredTokenList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _Bridge.contract.Call(opts, out, "getRegisteredTokenList") return *ret0, err } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_Bridge *BridgeSession) GetRegisteredTokenList() ([]common.Address, error) { return _Bridge.Contract.GetRegisteredTokenList(&_Bridge.CallOpts) } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_Bridge *BridgeCallerSession) GetRegisteredTokenList() ([]common.Address, error) { return _Bridge.Contract.GetRegisteredTokenList(&_Bridge.CallOpts) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_Bridge *BridgeCaller) HandleNoncesToBlockNums(opts *bind.CallOpts, arg0 uint64) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _Bridge.contract.Call(opts, out, "handleNoncesToBlockNums", arg0) return *ret0, err } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_Bridge *BridgeSession) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _Bridge.Contract.HandleNoncesToBlockNums(&_Bridge.CallOpts, arg0) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_Bridge *BridgeCallerSession) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _Bridge.Contract.HandleNoncesToBlockNums(&_Bridge.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_Bridge *BridgeCaller) HandledRequestTx(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Bridge.contract.Call(opts, out, "handledRequestTx", arg0) return *ret0, err } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_Bridge *BridgeSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _Bridge.Contract.HandledRequestTx(&_Bridge.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_Bridge *BridgeCallerSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _Bridge.Contract.HandledRequestTx(&_Bridge.CallOpts, arg0) } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_Bridge *BridgeCaller) IndexOfTokens(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _Bridge.contract.Call(opts, out, "indexOfTokens", arg0) return *ret0, err } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_Bridge *BridgeSession) IndexOfTokens(arg0 common.Address) (*big.Int, error) { return _Bridge.Contract.IndexOfTokens(&_Bridge.CallOpts, arg0) } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_Bridge *BridgeCallerSession) IndexOfTokens(arg0 common.Address) (*big.Int, error) { return _Bridge.Contract.IndexOfTokens(&_Bridge.CallOpts, arg0) } // IsLockedKLAY is a free data retrieval call binding the contract method 0xf1719966. // // Solidity: function isLockedKLAY() constant returns(bool) func (_Bridge *BridgeCaller) IsLockedKLAY(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Bridge.contract.Call(opts, out, "isLockedKLAY") return *ret0, err } // IsLockedKLAY is a free data retrieval call binding the contract method 0xf1719966. // // Solidity: function isLockedKLAY() constant returns(bool) func (_Bridge *BridgeSession) IsLockedKLAY() (bool, error) { return _Bridge.Contract.IsLockedKLAY(&_Bridge.CallOpts) } // IsLockedKLAY is a free data retrieval call binding the contract method 0xf1719966. // // Solidity: function isLockedKLAY() constant returns(bool) func (_Bridge *BridgeCallerSession) IsLockedKLAY() (bool, error) { return _Bridge.Contract.IsLockedKLAY(&_Bridge.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_Bridge *BridgeCaller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Bridge.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_Bridge *BridgeSession) IsOwner() (bool, error) { return _Bridge.Contract.IsOwner(&_Bridge.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_Bridge *BridgeCallerSession) IsOwner() (bool, error) { return _Bridge.Contract.IsOwner(&_Bridge.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_Bridge *BridgeCaller) IsRunning(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Bridge.contract.Call(opts, out, "isRunning") return *ret0, err } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_Bridge *BridgeSession) IsRunning() (bool, error) { return _Bridge.Contract.IsRunning(&_Bridge.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_Bridge *BridgeCallerSession) IsRunning() (bool, error) { return _Bridge.Contract.IsRunning(&_Bridge.CallOpts) } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_Bridge *BridgeCaller) LockedTokens(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Bridge.contract.Call(opts, out, "lockedTokens", arg0) return *ret0, err } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_Bridge *BridgeSession) LockedTokens(arg0 common.Address) (bool, error) { return _Bridge.Contract.LockedTokens(&_Bridge.CallOpts, arg0) } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_Bridge *BridgeCallerSession) LockedTokens(arg0 common.Address) (bool, error) { return _Bridge.Contract.LockedTokens(&_Bridge.CallOpts, arg0) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_Bridge *BridgeCaller) LowerHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _Bridge.contract.Call(opts, out, "lowerHandleNonce") return *ret0, err } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_Bridge *BridgeSession) LowerHandleNonce() (uint64, error) { return _Bridge.Contract.LowerHandleNonce(&_Bridge.CallOpts) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_Bridge *BridgeCallerSession) LowerHandleNonce() (uint64, error) { return _Bridge.Contract.LowerHandleNonce(&_Bridge.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_Bridge *BridgeCaller) ModeMintBurn(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Bridge.contract.Call(opts, out, "modeMintBurn") return *ret0, err } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_Bridge *BridgeSession) ModeMintBurn() (bool, error) { return _Bridge.Contract.ModeMintBurn(&_Bridge.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_Bridge *BridgeCallerSession) ModeMintBurn() (bool, error) { return _Bridge.Contract.ModeMintBurn(&_Bridge.CallOpts) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_Bridge *BridgeCaller) OperatorList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _Bridge.contract.Call(opts, out, "operatorList", arg0) return *ret0, err } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_Bridge *BridgeSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _Bridge.Contract.OperatorList(&_Bridge.CallOpts, arg0) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_Bridge *BridgeCallerSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _Bridge.Contract.OperatorList(&_Bridge.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_Bridge *BridgeCaller) OperatorThresholds(opts *bind.CallOpts, arg0 uint8) (uint8, error) { var ( ret0 = new(uint8) ) out := ret0 err := _Bridge.contract.Call(opts, out, "operatorThresholds", arg0) return *ret0, err } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_Bridge *BridgeSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _Bridge.Contract.OperatorThresholds(&_Bridge.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_Bridge *BridgeCallerSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _Bridge.Contract.OperatorThresholds(&_Bridge.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_Bridge *BridgeCaller) Operators(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Bridge.contract.Call(opts, out, "operators", arg0) return *ret0, err } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_Bridge *BridgeSession) Operators(arg0 common.Address) (bool, error) { return _Bridge.Contract.Operators(&_Bridge.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_Bridge *BridgeCallerSession) Operators(arg0 common.Address) (bool, error) { return _Bridge.Contract.Operators(&_Bridge.CallOpts, arg0) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_Bridge *BridgeCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _Bridge.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_Bridge *BridgeSession) Owner() (common.Address, error) { return _Bridge.Contract.Owner(&_Bridge.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_Bridge *BridgeCallerSession) Owner() (common.Address, error) { return _Bridge.Contract.Owner(&_Bridge.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_Bridge *BridgeCaller) RecoveryBlockNumber(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _Bridge.contract.Call(opts, out, "recoveryBlockNumber") return *ret0, err } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_Bridge *BridgeSession) RecoveryBlockNumber() (uint64, error) { return _Bridge.Contract.RecoveryBlockNumber(&_Bridge.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_Bridge *BridgeCallerSession) RecoveryBlockNumber() (uint64, error) { return _Bridge.Contract.RecoveryBlockNumber(&_Bridge.CallOpts) } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_Bridge *BridgeCaller) RegisteredTokenList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _Bridge.contract.Call(opts, out, "registeredTokenList", arg0) return *ret0, err } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_Bridge *BridgeSession) RegisteredTokenList(arg0 *big.Int) (common.Address, error) { return _Bridge.Contract.RegisteredTokenList(&_Bridge.CallOpts, arg0) } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_Bridge *BridgeCallerSession) RegisteredTokenList(arg0 *big.Int) (common.Address, error) { return _Bridge.Contract.RegisteredTokenList(&_Bridge.CallOpts, arg0) } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_Bridge *BridgeCaller) RegisteredTokens(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _Bridge.contract.Call(opts, out, "registeredTokens", arg0) return *ret0, err } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_Bridge *BridgeSession) RegisteredTokens(arg0 common.Address) (common.Address, error) { return _Bridge.Contract.RegisteredTokens(&_Bridge.CallOpts, arg0) } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_Bridge *BridgeCallerSession) RegisteredTokens(arg0 common.Address) (common.Address, error) { return _Bridge.Contract.RegisteredTokens(&_Bridge.CallOpts, arg0) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_Bridge *BridgeCaller) RequestNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _Bridge.contract.Call(opts, out, "requestNonce") return *ret0, err } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_Bridge *BridgeSession) RequestNonce() (uint64, error) { return _Bridge.Contract.RequestNonce(&_Bridge.CallOpts) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_Bridge *BridgeCallerSession) RequestNonce() (uint64, error) { return _Bridge.Contract.RequestNonce(&_Bridge.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_Bridge *BridgeCaller) UpperHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _Bridge.contract.Call(opts, out, "upperHandleNonce") return *ret0, err } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_Bridge *BridgeSession) UpperHandleNonce() (uint64, error) { return _Bridge.Contract.UpperHandleNonce(&_Bridge.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_Bridge *BridgeCallerSession) UpperHandleNonce() (uint64, error) { return _Bridge.Contract.UpperHandleNonce(&_Bridge.CallOpts) } // ChargeWithoutEvent is a paid mutator transaction binding the contract method 0xdd9222d6. // // Solidity: function chargeWithoutEvent() returns() func (_Bridge *BridgeTransactor) ChargeWithoutEvent(opts *bind.TransactOpts) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "chargeWithoutEvent") } // ChargeWithoutEvent is a paid mutator transaction binding the contract method 0xdd9222d6. // // Solidity: function chargeWithoutEvent() returns() func (_Bridge *BridgeSession) ChargeWithoutEvent() (*types.Transaction, error) { return _Bridge.Contract.ChargeWithoutEvent(&_Bridge.TransactOpts) } // ChargeWithoutEvent is a paid mutator transaction binding the contract method 0xdd9222d6. // // Solidity: function chargeWithoutEvent() returns() func (_Bridge *BridgeTransactorSession) ChargeWithoutEvent() (*types.Transaction, error) { return _Bridge.Contract.ChargeWithoutEvent(&_Bridge.TransactOpts) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_Bridge *BridgeTransactor) DeregisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "deregisterOperator", _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_Bridge *BridgeSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _Bridge.Contract.DeregisterOperator(&_Bridge.TransactOpts, _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_Bridge *BridgeTransactorSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _Bridge.Contract.DeregisterOperator(&_Bridge.TransactOpts, _operator) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_Bridge *BridgeTransactor) DeregisterToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "deregisterToken", _token) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_Bridge *BridgeSession) DeregisterToken(_token common.Address) (*types.Transaction, error) { return _Bridge.Contract.DeregisterToken(&_Bridge.TransactOpts, _token) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_Bridge *BridgeTransactorSession) DeregisterToken(_token common.Address) (*types.Transaction, error) { return _Bridge.Contract.DeregisterToken(&_Bridge.TransactOpts, _token) } // HandleERC20Transfer is a paid mutator transaction binding the contract method 0x407e6bae. // // Solidity: function handleERC20Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_Bridge *BridgeTransactor) HandleERC20Transfer(opts *bind.TransactOpts, _requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "handleERC20Transfer", _requestTxHash, _from, _to, _tokenAddress, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleERC20Transfer is a paid mutator transaction binding the contract method 0x407e6bae. // // Solidity: function handleERC20Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_Bridge *BridgeSession) HandleERC20Transfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.HandleERC20Transfer(&_Bridge.TransactOpts, _requestTxHash, _from, _to, _tokenAddress, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleERC20Transfer is a paid mutator transaction binding the contract method 0x407e6bae. // // Solidity: function handleERC20Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_Bridge *BridgeTransactorSession) HandleERC20Transfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.HandleERC20Transfer(&_Bridge.TransactOpts, _requestTxHash, _from, _to, _tokenAddress, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleERC721Transfer is a paid mutator transaction binding the contract method 0xafb60223. // // Solidity: function handleERC721Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _tokenId uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData bytes) returns() func (_Bridge *BridgeTransactor) HandleERC721Transfer(opts *bind.TransactOpts, _requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _tokenId *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData []byte) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "handleERC721Transfer", _requestTxHash, _from, _to, _tokenAddress, _tokenId, _requestedNonce, _requestedBlockNumber, _tokenURI, _extraData) } // HandleERC721Transfer is a paid mutator transaction binding the contract method 0xafb60223. // // Solidity: function handleERC721Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _tokenId uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData bytes) returns() func (_Bridge *BridgeSession) HandleERC721Transfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _tokenId *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.HandleERC721Transfer(&_Bridge.TransactOpts, _requestTxHash, _from, _to, _tokenAddress, _tokenId, _requestedNonce, _requestedBlockNumber, _tokenURI, _extraData) } // HandleERC721Transfer is a paid mutator transaction binding the contract method 0xafb60223. // // Solidity: function handleERC721Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _tokenId uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData bytes) returns() func (_Bridge *BridgeTransactorSession) HandleERC721Transfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _tokenId *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.HandleERC721Transfer(&_Bridge.TransactOpts, _requestTxHash, _from, _to, _tokenAddress, _tokenId, _requestedNonce, _requestedBlockNumber, _tokenURI, _extraData) } // HandleKLAYTransfer is a paid mutator transaction binding the contract method 0xa066a7ed. // // Solidity: function handleKLAYTransfer(_requestTxHash bytes32, _from address, _to address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_Bridge *BridgeTransactor) HandleKLAYTransfer(opts *bind.TransactOpts, _requestTxHash [32]byte, _from common.Address, _to common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "handleKLAYTransfer", _requestTxHash, _from, _to, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleKLAYTransfer is a paid mutator transaction binding the contract method 0xa066a7ed. // // Solidity: function handleKLAYTransfer(_requestTxHash bytes32, _from address, _to address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_Bridge *BridgeSession) HandleKLAYTransfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.HandleKLAYTransfer(&_Bridge.TransactOpts, _requestTxHash, _from, _to, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleKLAYTransfer is a paid mutator transaction binding the contract method 0xa066a7ed. // // Solidity: function handleKLAYTransfer(_requestTxHash bytes32, _from address, _to address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_Bridge *BridgeTransactorSession) HandleKLAYTransfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.HandleKLAYTransfer(&_Bridge.TransactOpts, _requestTxHash, _from, _to, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // LockKLAY is a paid mutator transaction binding the contract method 0x9f071329. // // Solidity: function lockKLAY() returns() func (_Bridge *BridgeTransactor) LockKLAY(opts *bind.TransactOpts) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "lockKLAY") } // LockKLAY is a paid mutator transaction binding the contract method 0x9f071329. // // Solidity: function lockKLAY() returns() func (_Bridge *BridgeSession) LockKLAY() (*types.Transaction, error) { return _Bridge.Contract.LockKLAY(&_Bridge.TransactOpts) } // LockKLAY is a paid mutator transaction binding the contract method 0x9f071329. // // Solidity: function lockKLAY() returns() func (_Bridge *BridgeTransactorSession) LockKLAY() (*types.Transaction, error) { return _Bridge.Contract.LockKLAY(&_Bridge.TransactOpts) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_Bridge *BridgeTransactor) LockToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "lockToken", _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_Bridge *BridgeSession) LockToken(_token common.Address) (*types.Transaction, error) { return _Bridge.Contract.LockToken(&_Bridge.TransactOpts, _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_Bridge *BridgeTransactorSession) LockToken(_token common.Address) (*types.Transaction, error) { return _Bridge.Contract.LockToken(&_Bridge.TransactOpts, _token) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_Bridge *BridgeTransactor) OnERC20Received(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "onERC20Received", _from, _to, _value, _feeLimit, _extraData) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_Bridge *BridgeSession) OnERC20Received(_from common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.OnERC20Received(&_Bridge.TransactOpts, _from, _to, _value, _feeLimit, _extraData) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_Bridge *BridgeTransactorSession) OnERC20Received(_from common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.OnERC20Received(&_Bridge.TransactOpts, _from, _to, _value, _feeLimit, _extraData) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_Bridge *BridgeTransactor) OnERC721Received(opts *bind.TransactOpts, _from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "onERC721Received", _from, _tokenId, _to, _extraData) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_Bridge *BridgeSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.OnERC721Received(&_Bridge.TransactOpts, _from, _tokenId, _to, _extraData) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_Bridge *BridgeTransactorSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.OnERC721Received(&_Bridge.TransactOpts, _from, _tokenId, _to, _extraData) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_Bridge *BridgeTransactor) RegisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "registerOperator", _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_Bridge *BridgeSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _Bridge.Contract.RegisterOperator(&_Bridge.TransactOpts, _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_Bridge *BridgeTransactorSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _Bridge.Contract.RegisterOperator(&_Bridge.TransactOpts, _operator) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_Bridge *BridgeTransactor) RegisterToken(opts *bind.TransactOpts, _token common.Address, _cToken common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "registerToken", _token, _cToken) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_Bridge *BridgeSession) RegisterToken(_token common.Address, _cToken common.Address) (*types.Transaction, error) { return _Bridge.Contract.RegisterToken(&_Bridge.TransactOpts, _token, _cToken) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_Bridge *BridgeTransactorSession) RegisterToken(_token common.Address, _cToken common.Address) (*types.Transaction, error) { return _Bridge.Contract.RegisterToken(&_Bridge.TransactOpts, _token, _cToken) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Bridge *BridgeTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Bridge *BridgeSession) RenounceOwnership() (*types.Transaction, error) { return _Bridge.Contract.RenounceOwnership(&_Bridge.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Bridge *BridgeTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _Bridge.Contract.RenounceOwnership(&_Bridge.TransactOpts) } // RequestERC20Transfer is a paid mutator transaction binding the contract method 0x26c23b54. // // Solidity: function requestERC20Transfer(_tokenAddress address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_Bridge *BridgeTransactor) RequestERC20Transfer(opts *bind.TransactOpts, _tokenAddress common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "requestERC20Transfer", _tokenAddress, _to, _value, _feeLimit, _extraData) } // RequestERC20Transfer is a paid mutator transaction binding the contract method 0x26c23b54. // // Solidity: function requestERC20Transfer(_tokenAddress address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_Bridge *BridgeSession) RequestERC20Transfer(_tokenAddress common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.RequestERC20Transfer(&_Bridge.TransactOpts, _tokenAddress, _to, _value, _feeLimit, _extraData) } // RequestERC20Transfer is a paid mutator transaction binding the contract method 0x26c23b54. // // Solidity: function requestERC20Transfer(_tokenAddress address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_Bridge *BridgeTransactorSession) RequestERC20Transfer(_tokenAddress common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.RequestERC20Transfer(&_Bridge.TransactOpts, _tokenAddress, _to, _value, _feeLimit, _extraData) } // RequestERC721Transfer is a paid mutator transaction binding the contract method 0x22604742. // // Solidity: function requestERC721Transfer(_tokenAddress address, _to address, _tokenId uint256, _extraData bytes) returns() func (_Bridge *BridgeTransactor) RequestERC721Transfer(opts *bind.TransactOpts, _tokenAddress common.Address, _to common.Address, _tokenId *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "requestERC721Transfer", _tokenAddress, _to, _tokenId, _extraData) } // RequestERC721Transfer is a paid mutator transaction binding the contract method 0x22604742. // // Solidity: function requestERC721Transfer(_tokenAddress address, _to address, _tokenId uint256, _extraData bytes) returns() func (_Bridge *BridgeSession) RequestERC721Transfer(_tokenAddress common.Address, _to common.Address, _tokenId *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.RequestERC721Transfer(&_Bridge.TransactOpts, _tokenAddress, _to, _tokenId, _extraData) } // RequestERC721Transfer is a paid mutator transaction binding the contract method 0x22604742. // // Solidity: function requestERC721Transfer(_tokenAddress address, _to address, _tokenId uint256, _extraData bytes) returns() func (_Bridge *BridgeTransactorSession) RequestERC721Transfer(_tokenAddress common.Address, _to common.Address, _tokenId *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.RequestERC721Transfer(&_Bridge.TransactOpts, _tokenAddress, _to, _tokenId, _extraData) } // RequestKLAYTransfer is a paid mutator transaction binding the contract method 0x75ebdc09. // // Solidity: function requestKLAYTransfer(_to address, _value uint256, _extraData bytes) returns() func (_Bridge *BridgeTransactor) RequestKLAYTransfer(opts *bind.TransactOpts, _to common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "requestKLAYTransfer", _to, _value, _extraData) } // RequestKLAYTransfer is a paid mutator transaction binding the contract method 0x75ebdc09. // // Solidity: function requestKLAYTransfer(_to address, _value uint256, _extraData bytes) returns() func (_Bridge *BridgeSession) RequestKLAYTransfer(_to common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.RequestKLAYTransfer(&_Bridge.TransactOpts, _to, _value, _extraData) } // RequestKLAYTransfer is a paid mutator transaction binding the contract method 0x75ebdc09. // // Solidity: function requestKLAYTransfer(_to address, _value uint256, _extraData bytes) returns() func (_Bridge *BridgeTransactorSession) RequestKLAYTransfer(_to common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { return _Bridge.Contract.RequestKLAYTransfer(&_Bridge.TransactOpts, _to, _value, _extraData) } // SetCounterPartBridge is a paid mutator transaction binding the contract method 0x87b04c55. // // Solidity: function setCounterPartBridge(_bridge address) returns() func (_Bridge *BridgeTransactor) SetCounterPartBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "setCounterPartBridge", _bridge) } // SetCounterPartBridge is a paid mutator transaction binding the contract method 0x87b04c55. // // Solidity: function setCounterPartBridge(_bridge address) returns() func (_Bridge *BridgeSession) SetCounterPartBridge(_bridge common.Address) (*types.Transaction, error) { return _Bridge.Contract.SetCounterPartBridge(&_Bridge.TransactOpts, _bridge) } // SetCounterPartBridge is a paid mutator transaction binding the contract method 0x87b04c55. // // Solidity: function setCounterPartBridge(_bridge address) returns() func (_Bridge *BridgeTransactorSession) SetCounterPartBridge(_bridge common.Address) (*types.Transaction, error) { return _Bridge.Contract.SetCounterPartBridge(&_Bridge.TransactOpts, _bridge) } // SetERC20Fee is a paid mutator transaction binding the contract method 0x2f88396c. // // Solidity: function setERC20Fee(_token address, _fee uint256, _requestNonce uint64) returns() func (_Bridge *BridgeTransactor) SetERC20Fee(opts *bind.TransactOpts, _token common.Address, _fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "setERC20Fee", _token, _fee, _requestNonce) } // SetERC20Fee is a paid mutator transaction binding the contract method 0x2f88396c. // // Solidity: function setERC20Fee(_token address, _fee uint256, _requestNonce uint64) returns() func (_Bridge *BridgeSession) SetERC20Fee(_token common.Address, _fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _Bridge.Contract.SetERC20Fee(&_Bridge.TransactOpts, _token, _fee, _requestNonce) } // SetERC20Fee is a paid mutator transaction binding the contract method 0x2f88396c. // // Solidity: function setERC20Fee(_token address, _fee uint256, _requestNonce uint64) returns() func (_Bridge *BridgeTransactorSession) SetERC20Fee(_token common.Address, _fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _Bridge.Contract.SetERC20Fee(&_Bridge.TransactOpts, _token, _fee, _requestNonce) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_Bridge *BridgeTransactor) SetFeeReceiver(opts *bind.TransactOpts, _feeReceiver common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "setFeeReceiver", _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_Bridge *BridgeSession) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _Bridge.Contract.SetFeeReceiver(&_Bridge.TransactOpts, _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_Bridge *BridgeTransactorSession) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _Bridge.Contract.SetFeeReceiver(&_Bridge.TransactOpts, _feeReceiver) } // SetKLAYFee is a paid mutator transaction binding the contract method 0x1a2ae53e. // // Solidity: function setKLAYFee(_fee uint256, _requestNonce uint64) returns() func (_Bridge *BridgeTransactor) SetKLAYFee(opts *bind.TransactOpts, _fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "setKLAYFee", _fee, _requestNonce) } // SetKLAYFee is a paid mutator transaction binding the contract method 0x1a2ae53e. // // Solidity: function setKLAYFee(_fee uint256, _requestNonce uint64) returns() func (_Bridge *BridgeSession) SetKLAYFee(_fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _Bridge.Contract.SetKLAYFee(&_Bridge.TransactOpts, _fee, _requestNonce) } // SetKLAYFee is a paid mutator transaction binding the contract method 0x1a2ae53e. // // Solidity: function setKLAYFee(_fee uint256, _requestNonce uint64) returns() func (_Bridge *BridgeTransactorSession) SetKLAYFee(_fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _Bridge.Contract.SetKLAYFee(&_Bridge.TransactOpts, _fee, _requestNonce) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_Bridge *BridgeTransactor) SetOperatorThreshold(opts *bind.TransactOpts, _voteType uint8, _threshold uint8) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "setOperatorThreshold", _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_Bridge *BridgeSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _Bridge.Contract.SetOperatorThreshold(&_Bridge.TransactOpts, _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_Bridge *BridgeTransactorSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _Bridge.Contract.SetOperatorThreshold(&_Bridge.TransactOpts, _voteType, _threshold) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_Bridge *BridgeTransactor) Start(opts *bind.TransactOpts, _status bool) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "start", _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_Bridge *BridgeSession) Start(_status bool) (*types.Transaction, error) { return _Bridge.Contract.Start(&_Bridge.TransactOpts, _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_Bridge *BridgeTransactorSession) Start(_status bool) (*types.Transaction, error) { return _Bridge.Contract.Start(&_Bridge.TransactOpts, _status) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_Bridge *BridgeTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_Bridge *BridgeSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Bridge.Contract.TransferOwnership(&_Bridge.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_Bridge *BridgeTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Bridge.Contract.TransferOwnership(&_Bridge.TransactOpts, newOwner) } // UnlockKLAY is a paid mutator transaction binding the contract method 0x1ebdca38. // // Solidity: function unlockKLAY() returns() func (_Bridge *BridgeTransactor) UnlockKLAY(opts *bind.TransactOpts) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "unlockKLAY") } // UnlockKLAY is a paid mutator transaction binding the contract method 0x1ebdca38. // // Solidity: function unlockKLAY() returns() func (_Bridge *BridgeSession) UnlockKLAY() (*types.Transaction, error) { return _Bridge.Contract.UnlockKLAY(&_Bridge.TransactOpts) } // UnlockKLAY is a paid mutator transaction binding the contract method 0x1ebdca38. // // Solidity: function unlockKLAY() returns() func (_Bridge *BridgeTransactorSession) UnlockKLAY() (*types.Transaction, error) { return _Bridge.Contract.UnlockKLAY(&_Bridge.TransactOpts) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_Bridge *BridgeTransactor) UnlockToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _Bridge.contract.Transact(opts, "unlockToken", _token) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_Bridge *BridgeSession) UnlockToken(_token common.Address) (*types.Transaction, error) { return _Bridge.Contract.UnlockToken(&_Bridge.TransactOpts, _token) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_Bridge *BridgeTransactorSession) UnlockToken(_token common.Address) (*types.Transaction, error) { return _Bridge.Contract.UnlockToken(&_Bridge.TransactOpts, _token) } // BridgeERC20FeeChangedIterator is returned from FilterERC20FeeChanged and is used to iterate over the raw logs and unpacked data for ERC20FeeChanged events raised by the Bridge contract. type BridgeERC20FeeChangedIterator struct { Event *BridgeERC20FeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeERC20FeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeERC20FeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeERC20FeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeERC20FeeChanged represents a ERC20FeeChanged event raised by the Bridge contract. type BridgeERC20FeeChanged struct { Token common.Address Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterERC20FeeChanged is a free log retrieval operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_Bridge *BridgeFilterer) FilterERC20FeeChanged(opts *bind.FilterOpts, token []common.Address, fee []*big.Int) (*BridgeERC20FeeChangedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return &BridgeERC20FeeChangedIterator{contract: _Bridge.contract, event: "ERC20FeeChanged", logs: logs, sub: sub}, nil } // WatchERC20FeeChanged is a free log subscription operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_Bridge *BridgeFilterer) WatchERC20FeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeERC20FeeChanged, token []common.Address, fee []*big.Int) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeERC20FeeChanged) if err := _Bridge.contract.UnpackLog(event, "ERC20FeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeFeeReceiverChangedIterator is returned from FilterFeeReceiverChanged and is used to iterate over the raw logs and unpacked data for FeeReceiverChanged events raised by the Bridge contract. type BridgeFeeReceiverChangedIterator struct { Event *BridgeFeeReceiverChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeFeeReceiverChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeFeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeFeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeFeeReceiverChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeFeeReceiverChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeFeeReceiverChanged represents a FeeReceiverChanged event raised by the Bridge contract. type BridgeFeeReceiverChanged struct { FeeReceiver common.Address Raw types.Log // Blockchain specific contextual infos } // FilterFeeReceiverChanged is a free log retrieval operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_Bridge *BridgeFilterer) FilterFeeReceiverChanged(opts *bind.FilterOpts, feeReceiver []common.Address) (*BridgeFeeReceiverChangedIterator, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return &BridgeFeeReceiverChangedIterator{contract: _Bridge.contract, event: "FeeReceiverChanged", logs: logs, sub: sub}, nil } // WatchFeeReceiverChanged is a free log subscription operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_Bridge *BridgeFilterer) WatchFeeReceiverChanged(opts *bind.WatchOpts, sink chan<- *BridgeFeeReceiverChanged, feeReceiver []common.Address) (event.Subscription, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeFeeReceiverChanged) if err := _Bridge.contract.UnpackLog(event, "FeeReceiverChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeHandleValueTransferIterator is returned from FilterHandleValueTransfer and is used to iterate over the raw logs and unpacked data for HandleValueTransfer events raised by the Bridge contract. type BridgeHandleValueTransferIterator struct { Event *BridgeHandleValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeHandleValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeHandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeHandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeHandleValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeHandleValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeHandleValueTransfer represents a HandleValueTransfer event raised by the Bridge contract. type BridgeHandleValueTransfer struct { RequestTxHash [32]byte TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int HandleNonce uint64 LowerHandleNonce uint64 ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterHandleValueTransfer is a free log retrieval operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_Bridge *BridgeFilterer) FilterHandleValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeHandleValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeHandleValueTransferIterator{contract: _Bridge.contract, event: "HandleValueTransfer", logs: logs, sub: sub}, nil } // WatchHandleValueTransfer is a free log subscription operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_Bridge *BridgeFilterer) WatchHandleValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeHandleValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeHandleValueTransfer) if err := _Bridge.contract.UnpackLog(event, "HandleValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeKLAYFeeChangedIterator is returned from FilterKLAYFeeChanged and is used to iterate over the raw logs and unpacked data for KLAYFeeChanged events raised by the Bridge contract. type BridgeKLAYFeeChangedIterator struct { Event *BridgeKLAYFeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeKLAYFeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeKLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeKLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeKLAYFeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeKLAYFeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeKLAYFeeChanged represents a KLAYFeeChanged event raised by the Bridge contract. type BridgeKLAYFeeChanged struct { Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterKLAYFeeChanged is a free log retrieval operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_Bridge *BridgeFilterer) FilterKLAYFeeChanged(opts *bind.FilterOpts, fee []*big.Int) (*BridgeKLAYFeeChangedIterator, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return &BridgeKLAYFeeChangedIterator{contract: _Bridge.contract, event: "KLAYFeeChanged", logs: logs, sub: sub}, nil } // WatchKLAYFeeChanged is a free log subscription operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_Bridge *BridgeFilterer) WatchKLAYFeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeKLAYFeeChanged, fee []*big.Int) (event.Subscription, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeKLAYFeeChanged) if err := _Bridge.contract.UnpackLog(event, "KLAYFeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeKLAYLockedIterator is returned from FilterKLAYLocked and is used to iterate over the raw logs and unpacked data for KLAYLocked events raised by the Bridge contract. type BridgeKLAYLockedIterator struct { Event *BridgeKLAYLocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeKLAYLockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeKLAYLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeKLAYLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeKLAYLockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeKLAYLockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeKLAYLocked represents a KLAYLocked event raised by the Bridge contract. type BridgeKLAYLocked struct { Raw types.Log // Blockchain specific contextual infos } // FilterKLAYLocked is a free log retrieval operation binding the contract event 0x915f3053cbc6842207cd97b68c0b585109b4f2fe61c5dbeb25d7678bfdfb8dfa. // // Solidity: e KLAYLocked() func (_Bridge *BridgeFilterer) FilterKLAYLocked(opts *bind.FilterOpts) (*BridgeKLAYLockedIterator, error) { logs, sub, err := _Bridge.contract.FilterLogs(opts, "KLAYLocked") if err != nil { return nil, err } return &BridgeKLAYLockedIterator{contract: _Bridge.contract, event: "KLAYLocked", logs: logs, sub: sub}, nil } // WatchKLAYLocked is a free log subscription operation binding the contract event 0x915f3053cbc6842207cd97b68c0b585109b4f2fe61c5dbeb25d7678bfdfb8dfa. // // Solidity: e KLAYLocked() func (_Bridge *BridgeFilterer) WatchKLAYLocked(opts *bind.WatchOpts, sink chan<- *BridgeKLAYLocked) (event.Subscription, error) { logs, sub, err := _Bridge.contract.WatchLogs(opts, "KLAYLocked") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeKLAYLocked) if err := _Bridge.contract.UnpackLog(event, "KLAYLocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeKLAYUnlockedIterator is returned from FilterKLAYUnlocked and is used to iterate over the raw logs and unpacked data for KLAYUnlocked events raised by the Bridge contract. type BridgeKLAYUnlockedIterator struct { Event *BridgeKLAYUnlocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeKLAYUnlockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeKLAYUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeKLAYUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeKLAYUnlockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeKLAYUnlockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeKLAYUnlocked represents a KLAYUnlocked event raised by the Bridge contract. type BridgeKLAYUnlocked struct { Raw types.Log // Blockchain specific contextual infos } // FilterKLAYUnlocked is a free log retrieval operation binding the contract event 0xd20610c9b78a6903ef134539e3deb5d243be461de6ef12d4c29536bb9b54fa1b. // // Solidity: e KLAYUnlocked() func (_Bridge *BridgeFilterer) FilterKLAYUnlocked(opts *bind.FilterOpts) (*BridgeKLAYUnlockedIterator, error) { logs, sub, err := _Bridge.contract.FilterLogs(opts, "KLAYUnlocked") if err != nil { return nil, err } return &BridgeKLAYUnlockedIterator{contract: _Bridge.contract, event: "KLAYUnlocked", logs: logs, sub: sub}, nil } // WatchKLAYUnlocked is a free log subscription operation binding the contract event 0xd20610c9b78a6903ef134539e3deb5d243be461de6ef12d4c29536bb9b54fa1b. // // Solidity: e KLAYUnlocked() func (_Bridge *BridgeFilterer) WatchKLAYUnlocked(opts *bind.WatchOpts, sink chan<- *BridgeKLAYUnlocked) (event.Subscription, error) { logs, sub, err := _Bridge.contract.WatchLogs(opts, "KLAYUnlocked") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeKLAYUnlocked) if err := _Bridge.contract.UnpackLog(event, "KLAYUnlocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Bridge contract. type BridgeOwnershipTransferredIterator struct { Event *BridgeOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeOwnershipTransferred represents a OwnershipTransferred event raised by the Bridge contract. type BridgeOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_Bridge *BridgeFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &BridgeOwnershipTransferredIterator{contract: _Bridge.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_Bridge *BridgeFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeOwnershipTransferred) if err := _Bridge.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeRequestValueTransferIterator is returned from FilterRequestValueTransfer and is used to iterate over the raw logs and unpacked data for RequestValueTransfer events raised by the Bridge contract. type BridgeRequestValueTransferIterator struct { Event *BridgeRequestValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeRequestValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeRequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeRequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeRequestValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeRequestValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeRequestValueTransfer represents a RequestValueTransfer event raised by the Bridge contract. type BridgeRequestValueTransfer struct { TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int RequestNonce uint64 Fee *big.Int ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterRequestValueTransfer is a free log retrieval operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_Bridge *BridgeFilterer) FilterRequestValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeRequestValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeRequestValueTransferIterator{contract: _Bridge.contract, event: "RequestValueTransfer", logs: logs, sub: sub}, nil } // WatchRequestValueTransfer is a free log subscription operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_Bridge *BridgeFilterer) WatchRequestValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeRequestValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeRequestValueTransfer) if err := _Bridge.contract.UnpackLog(event, "RequestValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokenDeregisteredIterator is returned from FilterTokenDeregistered and is used to iterate over the raw logs and unpacked data for TokenDeregistered events raised by the Bridge contract. type BridgeTokenDeregisteredIterator struct { Event *BridgeTokenDeregistered // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokenDeregisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokenDeregistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokenDeregistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokenDeregisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokenDeregisteredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokenDeregistered represents a TokenDeregistered event raised by the Bridge contract. type BridgeTokenDeregistered struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenDeregistered is a free log retrieval operation binding the contract event 0x1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b6. // // Solidity: e TokenDeregistered(token indexed address) func (_Bridge *BridgeFilterer) FilterTokenDeregistered(opts *bind.FilterOpts, token []common.Address) (*BridgeTokenDeregisteredIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "TokenDeregistered", tokenRule) if err != nil { return nil, err } return &BridgeTokenDeregisteredIterator{contract: _Bridge.contract, event: "TokenDeregistered", logs: logs, sub: sub}, nil } // WatchTokenDeregistered is a free log subscription operation binding the contract event 0x1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b6. // // Solidity: e TokenDeregistered(token indexed address) func (_Bridge *BridgeFilterer) WatchTokenDeregistered(opts *bind.WatchOpts, sink chan<- *BridgeTokenDeregistered, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "TokenDeregistered", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokenDeregistered) if err := _Bridge.contract.UnpackLog(event, "TokenDeregistered", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokenLockedIterator is returned from FilterTokenLocked and is used to iterate over the raw logs and unpacked data for TokenLocked events raised by the Bridge contract. type BridgeTokenLockedIterator struct { Event *BridgeTokenLocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokenLockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokenLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokenLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokenLockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokenLockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokenLocked represents a TokenLocked event raised by the Bridge contract. type BridgeTokenLocked struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenLocked is a free log retrieval operation binding the contract event 0xca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd7. // // Solidity: e TokenLocked(token indexed address) func (_Bridge *BridgeFilterer) FilterTokenLocked(opts *bind.FilterOpts, token []common.Address) (*BridgeTokenLockedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "TokenLocked", tokenRule) if err != nil { return nil, err } return &BridgeTokenLockedIterator{contract: _Bridge.contract, event: "TokenLocked", logs: logs, sub: sub}, nil } // WatchTokenLocked is a free log subscription operation binding the contract event 0xca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd7. // // Solidity: e TokenLocked(token indexed address) func (_Bridge *BridgeFilterer) WatchTokenLocked(opts *bind.WatchOpts, sink chan<- *BridgeTokenLocked, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "TokenLocked", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokenLocked) if err := _Bridge.contract.UnpackLog(event, "TokenLocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokenRegisteredIterator is returned from FilterTokenRegistered and is used to iterate over the raw logs and unpacked data for TokenRegistered events raised by the Bridge contract. type BridgeTokenRegisteredIterator struct { Event *BridgeTokenRegistered // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokenRegisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokenRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokenRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokenRegisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokenRegisteredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokenRegistered represents a TokenRegistered event raised by the Bridge contract. type BridgeTokenRegistered struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenRegistered is a free log retrieval operation binding the contract event 0x158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d. // // Solidity: e TokenRegistered(token indexed address) func (_Bridge *BridgeFilterer) FilterTokenRegistered(opts *bind.FilterOpts, token []common.Address) (*BridgeTokenRegisteredIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "TokenRegistered", tokenRule) if err != nil { return nil, err } return &BridgeTokenRegisteredIterator{contract: _Bridge.contract, event: "TokenRegistered", logs: logs, sub: sub}, nil } // WatchTokenRegistered is a free log subscription operation binding the contract event 0x158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d. // // Solidity: e TokenRegistered(token indexed address) func (_Bridge *BridgeFilterer) WatchTokenRegistered(opts *bind.WatchOpts, sink chan<- *BridgeTokenRegistered, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "TokenRegistered", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokenRegistered) if err := _Bridge.contract.UnpackLog(event, "TokenRegistered", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokenUnlockedIterator is returned from FilterTokenUnlocked and is used to iterate over the raw logs and unpacked data for TokenUnlocked events raised by the Bridge contract. type BridgeTokenUnlockedIterator struct { Event *BridgeTokenUnlocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokenUnlockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokenUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokenUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokenUnlockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokenUnlockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokenUnlocked represents a TokenUnlocked event raised by the Bridge contract. type BridgeTokenUnlocked struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenUnlocked is a free log retrieval operation binding the contract event 0x81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec. // // Solidity: e TokenUnlocked(token indexed address) func (_Bridge *BridgeFilterer) FilterTokenUnlocked(opts *bind.FilterOpts, token []common.Address) (*BridgeTokenUnlockedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _Bridge.contract.FilterLogs(opts, "TokenUnlocked", tokenRule) if err != nil { return nil, err } return &BridgeTokenUnlockedIterator{contract: _Bridge.contract, event: "TokenUnlocked", logs: logs, sub: sub}, nil } // WatchTokenUnlocked is a free log subscription operation binding the contract event 0x81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec. // // Solidity: e TokenUnlocked(token indexed address) func (_Bridge *BridgeFilterer) WatchTokenUnlocked(opts *bind.WatchOpts, sink chan<- *BridgeTokenUnlocked, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _Bridge.contract.WatchLogs(opts, "TokenUnlocked", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokenUnlocked) if err := _Bridge.contract.UnpackLog(event, "TokenUnlocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeCounterPartABI is the input ABI used to generate the binding from. const BridgeCounterPartABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"counterpartBridge\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_bridge\",\"type\":\"address\"}],\"name\":\"setCounterPartBridge\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]" // BridgeCounterPartBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeCounterPartBinRuntime = `0x608060405234801561001057600080fd5b50600436106100625760003560e01c80633a34853314610067578063715018a61461008b57806387b04c55146100955780638da5cb5b146100bb5780638f32d59b146100c3578063f2fde38b146100df575b600080fd5b61006f610105565b604080516001600160a01b039092168252519081900360200190f35b610093610114565b005b610093600480360360208110156100ab57600080fd5b50356001600160a01b03166101ba565b61006f610238565b6100cb610247565b604080519115158252519081900360200190f35b610093600480360360208110156100f557600080fd5b50356001600160a01b0316610258565b6001546001600160a01b031681565b61011c610247565b6101705760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6101c2610247565b6102165760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b610260610247565b6102b45760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6102bd816102c0565b50565b6001600160a01b03811661030857604051600160e51b62461bcd0281526004018080602001828103825260268152602001806103646026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a165627a7a72305820d401fc25d58a9a119d69c5b250c7612066d072970920827a7c17ec3391d0227f0029` // BridgeCounterPartBin is the compiled bytecode used for deploying new contracts. const BridgeCounterPartBin = `0x60806040819052600080546001600160a01b03191633178082556001600160a01b0316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36103b5806100576000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633a34853314610067578063715018a61461008b57806387b04c55146100955780638da5cb5b146100bb5780638f32d59b146100c3578063f2fde38b146100df575b600080fd5b61006f610105565b604080516001600160a01b039092168252519081900360200190f35b610093610114565b005b610093600480360360208110156100ab57600080fd5b50356001600160a01b03166101ba565b61006f610238565b6100cb610247565b604080519115158252519081900360200190f35b610093600480360360208110156100f557600080fd5b50356001600160a01b0316610258565b6001546001600160a01b031681565b61011c610247565b6101705760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6101c2610247565b6102165760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b610260610247565b6102b45760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6102bd816102c0565b50565b6001600160a01b03811661030857604051600160e51b62461bcd0281526004018080602001828103825260268152602001806103646026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a165627a7a72305820d401fc25d58a9a119d69c5b250c7612066d072970920827a7c17ec3391d0227f0029` // DeployBridgeCounterPart deploys a new Klaytn contract, binding an instance of BridgeCounterPart to it. func DeployBridgeCounterPart(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BridgeCounterPart, error) { parsed, err := abi.JSON(strings.NewReader(BridgeCounterPartABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeCounterPartBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeCounterPart{BridgeCounterPartCaller: BridgeCounterPartCaller{contract: contract}, BridgeCounterPartTransactor: BridgeCounterPartTransactor{contract: contract}, BridgeCounterPartFilterer: BridgeCounterPartFilterer{contract: contract}}, nil } // BridgeCounterPart is an auto generated Go binding around a Klaytn contract. type BridgeCounterPart struct { BridgeCounterPartCaller // Read-only binding to the contract BridgeCounterPartTransactor // Write-only binding to the contract BridgeCounterPartFilterer // Log filterer for contract events } // BridgeCounterPartCaller is an auto generated read-only Go binding around a Klaytn contract. type BridgeCounterPartCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeCounterPartTransactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeCounterPartTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeCounterPartFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeCounterPartFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeCounterPartSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeCounterPartSession struct { Contract *BridgeCounterPart // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeCounterPartCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeCounterPartCallerSession struct { Contract *BridgeCounterPartCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeCounterPartTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeCounterPartTransactorSession struct { Contract *BridgeCounterPartTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeCounterPartRaw is an auto generated low-level Go binding around a Klaytn contract. type BridgeCounterPartRaw struct { Contract *BridgeCounterPart // Generic contract binding to access the raw methods on } // BridgeCounterPartCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeCounterPartCallerRaw struct { Contract *BridgeCounterPartCaller // Generic read-only contract binding to access the raw methods on } // BridgeCounterPartTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeCounterPartTransactorRaw struct { Contract *BridgeCounterPartTransactor // Generic write-only contract binding to access the raw methods on } // NewBridgeCounterPart creates a new instance of BridgeCounterPart, bound to a specific deployed contract. func NewBridgeCounterPart(address common.Address, backend bind.ContractBackend) (*BridgeCounterPart, error) { contract, err := bindBridgeCounterPart(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeCounterPart{BridgeCounterPartCaller: BridgeCounterPartCaller{contract: contract}, BridgeCounterPartTransactor: BridgeCounterPartTransactor{contract: contract}, BridgeCounterPartFilterer: BridgeCounterPartFilterer{contract: contract}}, nil } // NewBridgeCounterPartCaller creates a new read-only instance of BridgeCounterPart, bound to a specific deployed contract. func NewBridgeCounterPartCaller(address common.Address, caller bind.ContractCaller) (*BridgeCounterPartCaller, error) { contract, err := bindBridgeCounterPart(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeCounterPartCaller{contract: contract}, nil } // NewBridgeCounterPartTransactor creates a new write-only instance of BridgeCounterPart, bound to a specific deployed contract. func NewBridgeCounterPartTransactor(address common.Address, transactor bind.ContractTransactor) (*BridgeCounterPartTransactor, error) { contract, err := bindBridgeCounterPart(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeCounterPartTransactor{contract: contract}, nil } // NewBridgeCounterPartFilterer creates a new log filterer instance of BridgeCounterPart, bound to a specific deployed contract. func NewBridgeCounterPartFilterer(address common.Address, filterer bind.ContractFilterer) (*BridgeCounterPartFilterer, error) { contract, err := bindBridgeCounterPart(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeCounterPartFilterer{contract: contract}, nil } // bindBridgeCounterPart binds a generic wrapper to an already deployed contract. func bindBridgeCounterPart(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeCounterPartABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeCounterPart *BridgeCounterPartRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeCounterPart.Contract.BridgeCounterPartCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeCounterPart *BridgeCounterPartRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeCounterPart.Contract.BridgeCounterPartTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeCounterPart *BridgeCounterPartRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeCounterPart.Contract.BridgeCounterPartTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeCounterPart *BridgeCounterPartCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeCounterPart.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeCounterPart *BridgeCounterPartTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeCounterPart.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeCounterPart *BridgeCounterPartTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeCounterPart.Contract.contract.Transact(opts, method, params...) } // CounterpartBridge is a free data retrieval call binding the contract method 0x3a348533. // // Solidity: function counterpartBridge() constant returns(address) func (_BridgeCounterPart *BridgeCounterPartCaller) CounterpartBridge(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeCounterPart.contract.Call(opts, out, "counterpartBridge") return *ret0, err } // CounterpartBridge is a free data retrieval call binding the contract method 0x3a348533. // // Solidity: function counterpartBridge() constant returns(address) func (_BridgeCounterPart *BridgeCounterPartSession) CounterpartBridge() (common.Address, error) { return _BridgeCounterPart.Contract.CounterpartBridge(&_BridgeCounterPart.CallOpts) } // CounterpartBridge is a free data retrieval call binding the contract method 0x3a348533. // // Solidity: function counterpartBridge() constant returns(address) func (_BridgeCounterPart *BridgeCounterPartCallerSession) CounterpartBridge() (common.Address, error) { return _BridgeCounterPart.Contract.CounterpartBridge(&_BridgeCounterPart.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeCounterPart *BridgeCounterPartCaller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeCounterPart.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeCounterPart *BridgeCounterPartSession) IsOwner() (bool, error) { return _BridgeCounterPart.Contract.IsOwner(&_BridgeCounterPart.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeCounterPart *BridgeCounterPartCallerSession) IsOwner() (bool, error) { return _BridgeCounterPart.Contract.IsOwner(&_BridgeCounterPart.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeCounterPart *BridgeCounterPartCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeCounterPart.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeCounterPart *BridgeCounterPartSession) Owner() (common.Address, error) { return _BridgeCounterPart.Contract.Owner(&_BridgeCounterPart.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeCounterPart *BridgeCounterPartCallerSession) Owner() (common.Address, error) { return _BridgeCounterPart.Contract.Owner(&_BridgeCounterPart.CallOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeCounterPart *BridgeCounterPartTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeCounterPart.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeCounterPart *BridgeCounterPartSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeCounterPart.Contract.RenounceOwnership(&_BridgeCounterPart.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeCounterPart *BridgeCounterPartTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeCounterPart.Contract.RenounceOwnership(&_BridgeCounterPart.TransactOpts) } // SetCounterPartBridge is a paid mutator transaction binding the contract method 0x87b04c55. // // Solidity: function setCounterPartBridge(_bridge address) returns() func (_BridgeCounterPart *BridgeCounterPartTransactor) SetCounterPartBridge(opts *bind.TransactOpts, _bridge common.Address) (*types.Transaction, error) { return _BridgeCounterPart.contract.Transact(opts, "setCounterPartBridge", _bridge) } // SetCounterPartBridge is a paid mutator transaction binding the contract method 0x87b04c55. // // Solidity: function setCounterPartBridge(_bridge address) returns() func (_BridgeCounterPart *BridgeCounterPartSession) SetCounterPartBridge(_bridge common.Address) (*types.Transaction, error) { return _BridgeCounterPart.Contract.SetCounterPartBridge(&_BridgeCounterPart.TransactOpts, _bridge) } // SetCounterPartBridge is a paid mutator transaction binding the contract method 0x87b04c55. // // Solidity: function setCounterPartBridge(_bridge address) returns() func (_BridgeCounterPart *BridgeCounterPartTransactorSession) SetCounterPartBridge(_bridge common.Address) (*types.Transaction, error) { return _BridgeCounterPart.Contract.SetCounterPartBridge(&_BridgeCounterPart.TransactOpts, _bridge) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeCounterPart *BridgeCounterPartTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _BridgeCounterPart.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeCounterPart *BridgeCounterPartSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeCounterPart.Contract.TransferOwnership(&_BridgeCounterPart.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeCounterPart *BridgeCounterPartTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeCounterPart.Contract.TransferOwnership(&_BridgeCounterPart.TransactOpts, newOwner) } // BridgeCounterPartOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the BridgeCounterPart contract. type BridgeCounterPartOwnershipTransferredIterator struct { Event *BridgeCounterPartOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeCounterPartOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeCounterPartOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeCounterPartOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeCounterPartOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeCounterPartOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeCounterPartOwnershipTransferred represents a OwnershipTransferred event raised by the BridgeCounterPart contract. type BridgeCounterPartOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeCounterPart *BridgeCounterPartFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeCounterPartOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeCounterPart.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &BridgeCounterPartOwnershipTransferredIterator{contract: _BridgeCounterPart.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeCounterPart *BridgeCounterPartFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeCounterPartOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeCounterPart.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeCounterPartOwnershipTransferred) if err := _BridgeCounterPart.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeFeeABI is the input ABI used to generate the binding from. const BridgeFeeABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"feeOfERC20\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeOfKLAY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_feeReceiver\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"KLAYFeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"ERC20FeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"feeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverChanged\",\"type\":\"event\"}]" // BridgeFeeBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeFeeBinRuntime = `0x` // BridgeFeeBin is the compiled bytecode used for deploying new contracts. const BridgeFeeBin = `0x` // DeployBridgeFee deploys a new Klaytn contract, binding an instance of BridgeFee to it. func DeployBridgeFee(auth *bind.TransactOpts, backend bind.ContractBackend, _feeReceiver common.Address) (common.Address, *types.Transaction, *BridgeFee, error) { parsed, err := abi.JSON(strings.NewReader(BridgeFeeABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeFeeBin), backend, _feeReceiver) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeFee{BridgeFeeCaller: BridgeFeeCaller{contract: contract}, BridgeFeeTransactor: BridgeFeeTransactor{contract: contract}, BridgeFeeFilterer: BridgeFeeFilterer{contract: contract}}, nil } // BridgeFee is an auto generated Go binding around a Klaytn contract. type BridgeFee struct { BridgeFeeCaller // Read-only binding to the contract BridgeFeeTransactor // Write-only binding to the contract BridgeFeeFilterer // Log filterer for contract events } // BridgeFeeCaller is an auto generated read-only Go binding around a Klaytn contract. type BridgeFeeCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeFeeTransactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeFeeTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeFeeFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeFeeFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeFeeSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeFeeSession struct { Contract *BridgeFee // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeFeeCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeFeeCallerSession struct { Contract *BridgeFeeCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeFeeTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeFeeTransactorSession struct { Contract *BridgeFeeTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeFeeRaw is an auto generated low-level Go binding around a Klaytn contract. type BridgeFeeRaw struct { Contract *BridgeFee // Generic contract binding to access the raw methods on } // BridgeFeeCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeFeeCallerRaw struct { Contract *BridgeFeeCaller // Generic read-only contract binding to access the raw methods on } // BridgeFeeTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeFeeTransactorRaw struct { Contract *BridgeFeeTransactor // Generic write-only contract binding to access the raw methods on } // NewBridgeFee creates a new instance of BridgeFee, bound to a specific deployed contract. func NewBridgeFee(address common.Address, backend bind.ContractBackend) (*BridgeFee, error) { contract, err := bindBridgeFee(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeFee{BridgeFeeCaller: BridgeFeeCaller{contract: contract}, BridgeFeeTransactor: BridgeFeeTransactor{contract: contract}, BridgeFeeFilterer: BridgeFeeFilterer{contract: contract}}, nil } // NewBridgeFeeCaller creates a new read-only instance of BridgeFee, bound to a specific deployed contract. func NewBridgeFeeCaller(address common.Address, caller bind.ContractCaller) (*BridgeFeeCaller, error) { contract, err := bindBridgeFee(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeFeeCaller{contract: contract}, nil } // NewBridgeFeeTransactor creates a new write-only instance of BridgeFee, bound to a specific deployed contract. func NewBridgeFeeTransactor(address common.Address, transactor bind.ContractTransactor) (*BridgeFeeTransactor, error) { contract, err := bindBridgeFee(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeFeeTransactor{contract: contract}, nil } // NewBridgeFeeFilterer creates a new log filterer instance of BridgeFee, bound to a specific deployed contract. func NewBridgeFeeFilterer(address common.Address, filterer bind.ContractFilterer) (*BridgeFeeFilterer, error) { contract, err := bindBridgeFee(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeFeeFilterer{contract: contract}, nil } // bindBridgeFee binds a generic wrapper to an already deployed contract. func bindBridgeFee(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeFeeABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeFee *BridgeFeeRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeFee.Contract.BridgeFeeCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeFee *BridgeFeeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeFee.Contract.BridgeFeeTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeFee *BridgeFeeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeFee.Contract.BridgeFeeTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeFee *BridgeFeeCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeFee.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeFee *BridgeFeeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeFee.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeFee *BridgeFeeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeFee.Contract.contract.Transact(opts, method, params...) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeFee *BridgeFeeCaller) FeeOfERC20(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeFee.contract.Call(opts, out, "feeOfERC20", arg0) return *ret0, err } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeFee *BridgeFeeSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeFee.Contract.FeeOfERC20(&_BridgeFee.CallOpts, arg0) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeFee *BridgeFeeCallerSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeFee.Contract.FeeOfERC20(&_BridgeFee.CallOpts, arg0) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeFee *BridgeFeeCaller) FeeOfKLAY(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeFee.contract.Call(opts, out, "feeOfKLAY") return *ret0, err } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeFee *BridgeFeeSession) FeeOfKLAY() (*big.Int, error) { return _BridgeFee.Contract.FeeOfKLAY(&_BridgeFee.CallOpts) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeFee *BridgeFeeCallerSession) FeeOfKLAY() (*big.Int, error) { return _BridgeFee.Contract.FeeOfKLAY(&_BridgeFee.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeFee *BridgeFeeCaller) FeeReceiver(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeFee.contract.Call(opts, out, "feeReceiver") return *ret0, err } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeFee *BridgeFeeSession) FeeReceiver() (common.Address, error) { return _BridgeFee.Contract.FeeReceiver(&_BridgeFee.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeFee *BridgeFeeCallerSession) FeeReceiver() (common.Address, error) { return _BridgeFee.Contract.FeeReceiver(&_BridgeFee.CallOpts) } // BridgeFeeERC20FeeChangedIterator is returned from FilterERC20FeeChanged and is used to iterate over the raw logs and unpacked data for ERC20FeeChanged events raised by the BridgeFee contract. type BridgeFeeERC20FeeChangedIterator struct { Event *BridgeFeeERC20FeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeFeeERC20FeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeFeeERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeFeeERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeFeeERC20FeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeFeeERC20FeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeFeeERC20FeeChanged represents a ERC20FeeChanged event raised by the BridgeFee contract. type BridgeFeeERC20FeeChanged struct { Token common.Address Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterERC20FeeChanged is a free log retrieval operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeFee *BridgeFeeFilterer) FilterERC20FeeChanged(opts *bind.FilterOpts, token []common.Address, fee []*big.Int) (*BridgeFeeERC20FeeChangedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeFee.contract.FilterLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return &BridgeFeeERC20FeeChangedIterator{contract: _BridgeFee.contract, event: "ERC20FeeChanged", logs: logs, sub: sub}, nil } // WatchERC20FeeChanged is a free log subscription operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeFee *BridgeFeeFilterer) WatchERC20FeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeFeeERC20FeeChanged, token []common.Address, fee []*big.Int) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeFee.contract.WatchLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeFeeERC20FeeChanged) if err := _BridgeFee.contract.UnpackLog(event, "ERC20FeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeFeeFeeReceiverChangedIterator is returned from FilterFeeReceiverChanged and is used to iterate over the raw logs and unpacked data for FeeReceiverChanged events raised by the BridgeFee contract. type BridgeFeeFeeReceiverChangedIterator struct { Event *BridgeFeeFeeReceiverChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeFeeFeeReceiverChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeFeeFeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeFeeFeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeFeeFeeReceiverChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeFeeFeeReceiverChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeFeeFeeReceiverChanged represents a FeeReceiverChanged event raised by the BridgeFee contract. type BridgeFeeFeeReceiverChanged struct { FeeReceiver common.Address Raw types.Log // Blockchain specific contextual infos } // FilterFeeReceiverChanged is a free log retrieval operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeFee *BridgeFeeFilterer) FilterFeeReceiverChanged(opts *bind.FilterOpts, feeReceiver []common.Address) (*BridgeFeeFeeReceiverChangedIterator, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeFee.contract.FilterLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return &BridgeFeeFeeReceiverChangedIterator{contract: _BridgeFee.contract, event: "FeeReceiverChanged", logs: logs, sub: sub}, nil } // WatchFeeReceiverChanged is a free log subscription operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeFee *BridgeFeeFilterer) WatchFeeReceiverChanged(opts *bind.WatchOpts, sink chan<- *BridgeFeeFeeReceiverChanged, feeReceiver []common.Address) (event.Subscription, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeFee.contract.WatchLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeFeeFeeReceiverChanged) if err := _BridgeFee.contract.UnpackLog(event, "FeeReceiverChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeFeeKLAYFeeChangedIterator is returned from FilterKLAYFeeChanged and is used to iterate over the raw logs and unpacked data for KLAYFeeChanged events raised by the BridgeFee contract. type BridgeFeeKLAYFeeChangedIterator struct { Event *BridgeFeeKLAYFeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeFeeKLAYFeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeFeeKLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeFeeKLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeFeeKLAYFeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeFeeKLAYFeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeFeeKLAYFeeChanged represents a KLAYFeeChanged event raised by the BridgeFee contract. type BridgeFeeKLAYFeeChanged struct { Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterKLAYFeeChanged is a free log retrieval operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeFee *BridgeFeeFilterer) FilterKLAYFeeChanged(opts *bind.FilterOpts, fee []*big.Int) (*BridgeFeeKLAYFeeChangedIterator, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeFee.contract.FilterLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return &BridgeFeeKLAYFeeChangedIterator{contract: _BridgeFee.contract, event: "KLAYFeeChanged", logs: logs, sub: sub}, nil } // WatchKLAYFeeChanged is a free log subscription operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeFee *BridgeFeeFilterer) WatchKLAYFeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeFeeKLAYFeeChanged, fee []*big.Int) (event.Subscription, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeFee.contract.WatchLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeFeeKLAYFeeChanged) if err := _BridgeFee.contract.UnpackLog(event, "KLAYFeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeHandledRequestsABI is the input ABI used to generate the binding from. const BridgeHandledRequestsABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"handledRequestTx\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" // BridgeHandledRequestsBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeHandledRequestsBinRuntime = `0x6080604052348015600f57600080fd5b506004361060285760003560e01c80638a75eee214602d575b600080fd5b604760048036036020811015604157600080fd5b5035605b565b604080519115158252519081900360200190f35b60006020819052908152604090205460ff168156fea165627a7a7230582054bec1bfef8dbf6d9ea6ecdde40b22f8311c9878c20f777a262b732b023f6e870029` // BridgeHandledRequestsBin is the compiled bytecode used for deploying new contracts. const BridgeHandledRequestsBin = `0x6080604052348015600f57600080fd5b50609c8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638a75eee214602d575b600080fd5b604760048036036020811015604157600080fd5b5035605b565b604080519115158252519081900360200190f35b60006020819052908152604090205460ff168156fea165627a7a7230582054bec1bfef8dbf6d9ea6ecdde40b22f8311c9878c20f777a262b732b023f6e870029` // DeployBridgeHandledRequests deploys a new Klaytn contract, binding an instance of BridgeHandledRequests to it. func DeployBridgeHandledRequests(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BridgeHandledRequests, error) { parsed, err := abi.JSON(strings.NewReader(BridgeHandledRequestsABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeHandledRequestsBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeHandledRequests{BridgeHandledRequestsCaller: BridgeHandledRequestsCaller{contract: contract}, BridgeHandledRequestsTransactor: BridgeHandledRequestsTransactor{contract: contract}, BridgeHandledRequestsFilterer: BridgeHandledRequestsFilterer{contract: contract}}, nil } // BridgeHandledRequests is an auto generated Go binding around a Klaytn contract. type BridgeHandledRequests struct { BridgeHandledRequestsCaller // Read-only binding to the contract BridgeHandledRequestsTransactor // Write-only binding to the contract BridgeHandledRequestsFilterer // Log filterer for contract events } // BridgeHandledRequestsCaller is an auto generated read-only Go binding around a Klaytn contract. type BridgeHandledRequestsCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeHandledRequestsTransactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeHandledRequestsTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeHandledRequestsFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeHandledRequestsFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeHandledRequestsSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeHandledRequestsSession struct { Contract *BridgeHandledRequests // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeHandledRequestsCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeHandledRequestsCallerSession struct { Contract *BridgeHandledRequestsCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeHandledRequestsTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeHandledRequestsTransactorSession struct { Contract *BridgeHandledRequestsTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeHandledRequestsRaw is an auto generated low-level Go binding around a Klaytn contract. type BridgeHandledRequestsRaw struct { Contract *BridgeHandledRequests // Generic contract binding to access the raw methods on } // BridgeHandledRequestsCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeHandledRequestsCallerRaw struct { Contract *BridgeHandledRequestsCaller // Generic read-only contract binding to access the raw methods on } // BridgeHandledRequestsTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeHandledRequestsTransactorRaw struct { Contract *BridgeHandledRequestsTransactor // Generic write-only contract binding to access the raw methods on } // NewBridgeHandledRequests creates a new instance of BridgeHandledRequests, bound to a specific deployed contract. func NewBridgeHandledRequests(address common.Address, backend bind.ContractBackend) (*BridgeHandledRequests, error) { contract, err := bindBridgeHandledRequests(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeHandledRequests{BridgeHandledRequestsCaller: BridgeHandledRequestsCaller{contract: contract}, BridgeHandledRequestsTransactor: BridgeHandledRequestsTransactor{contract: contract}, BridgeHandledRequestsFilterer: BridgeHandledRequestsFilterer{contract: contract}}, nil } // NewBridgeHandledRequestsCaller creates a new read-only instance of BridgeHandledRequests, bound to a specific deployed contract. func NewBridgeHandledRequestsCaller(address common.Address, caller bind.ContractCaller) (*BridgeHandledRequestsCaller, error) { contract, err := bindBridgeHandledRequests(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeHandledRequestsCaller{contract: contract}, nil } // NewBridgeHandledRequestsTransactor creates a new write-only instance of BridgeHandledRequests, bound to a specific deployed contract. func NewBridgeHandledRequestsTransactor(address common.Address, transactor bind.ContractTransactor) (*BridgeHandledRequestsTransactor, error) { contract, err := bindBridgeHandledRequests(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeHandledRequestsTransactor{contract: contract}, nil } // NewBridgeHandledRequestsFilterer creates a new log filterer instance of BridgeHandledRequests, bound to a specific deployed contract. func NewBridgeHandledRequestsFilterer(address common.Address, filterer bind.ContractFilterer) (*BridgeHandledRequestsFilterer, error) { contract, err := bindBridgeHandledRequests(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeHandledRequestsFilterer{contract: contract}, nil } // bindBridgeHandledRequests binds a generic wrapper to an already deployed contract. func bindBridgeHandledRequests(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeHandledRequestsABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeHandledRequests *BridgeHandledRequestsRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeHandledRequests.Contract.BridgeHandledRequestsCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeHandledRequests *BridgeHandledRequestsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeHandledRequests.Contract.BridgeHandledRequestsTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeHandledRequests *BridgeHandledRequestsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeHandledRequests.Contract.BridgeHandledRequestsTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeHandledRequests *BridgeHandledRequestsCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeHandledRequests.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeHandledRequests *BridgeHandledRequestsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeHandledRequests.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeHandledRequests *BridgeHandledRequestsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeHandledRequests.Contract.contract.Transact(opts, method, params...) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeHandledRequests *BridgeHandledRequestsCaller) HandledRequestTx(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeHandledRequests.contract.Call(opts, out, "handledRequestTx", arg0) return *ret0, err } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeHandledRequests *BridgeHandledRequestsSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeHandledRequests.Contract.HandledRequestTx(&_BridgeHandledRequests.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeHandledRequests *BridgeHandledRequestsCallerSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeHandledRequests.Contract.HandledRequestTx(&_BridgeHandledRequests.CallOpts, arg0) } // BridgeOperatorABI is the input ABI used to generate the binding from. const BridgeOperatorABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"operators\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"registerOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_OPERATOR\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"operatorThresholds\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"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\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"closedValueTransferVotes\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"configurationNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOperatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"operatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"deregisterOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_voteType\",\"type\":\"uint8\"},{\"name\":\"_threshold\",\"type\":\"uint8\"}],\"name\":\"setOperatorThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"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\"}]" // BridgeOperatorBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeOperatorBinRuntime = `0x` // BridgeOperatorBin is the compiled bytecode used for deploying new contracts. const BridgeOperatorBin = `0x` // DeployBridgeOperator deploys a new Klaytn contract, binding an instance of BridgeOperator to it. func DeployBridgeOperator(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BridgeOperator, error) { parsed, err := abi.JSON(strings.NewReader(BridgeOperatorABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeOperatorBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeOperator{BridgeOperatorCaller: BridgeOperatorCaller{contract: contract}, BridgeOperatorTransactor: BridgeOperatorTransactor{contract: contract}, BridgeOperatorFilterer: BridgeOperatorFilterer{contract: contract}}, nil } // BridgeOperator is an auto generated Go binding around a Klaytn contract. type BridgeOperator struct { BridgeOperatorCaller // Read-only binding to the contract BridgeOperatorTransactor // Write-only binding to the contract BridgeOperatorFilterer // Log filterer for contract events } // BridgeOperatorCaller is an auto generated read-only Go binding around a Klaytn contract. type BridgeOperatorCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeOperatorTransactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeOperatorTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeOperatorFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeOperatorFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeOperatorSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeOperatorSession struct { Contract *BridgeOperator // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeOperatorCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeOperatorCallerSession struct { Contract *BridgeOperatorCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeOperatorTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeOperatorTransactorSession struct { Contract *BridgeOperatorTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeOperatorRaw is an auto generated low-level Go binding around a Klaytn contract. type BridgeOperatorRaw struct { Contract *BridgeOperator // Generic contract binding to access the raw methods on } // BridgeOperatorCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeOperatorCallerRaw struct { Contract *BridgeOperatorCaller // Generic read-only contract binding to access the raw methods on } // BridgeOperatorTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeOperatorTransactorRaw struct { Contract *BridgeOperatorTransactor // Generic write-only contract binding to access the raw methods on } // NewBridgeOperator creates a new instance of BridgeOperator, bound to a specific deployed contract. func NewBridgeOperator(address common.Address, backend bind.ContractBackend) (*BridgeOperator, error) { contract, err := bindBridgeOperator(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeOperator{BridgeOperatorCaller: BridgeOperatorCaller{contract: contract}, BridgeOperatorTransactor: BridgeOperatorTransactor{contract: contract}, BridgeOperatorFilterer: BridgeOperatorFilterer{contract: contract}}, nil } // NewBridgeOperatorCaller creates a new read-only instance of BridgeOperator, bound to a specific deployed contract. func NewBridgeOperatorCaller(address common.Address, caller bind.ContractCaller) (*BridgeOperatorCaller, error) { contract, err := bindBridgeOperator(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeOperatorCaller{contract: contract}, nil } // NewBridgeOperatorTransactor creates a new write-only instance of BridgeOperator, bound to a specific deployed contract. func NewBridgeOperatorTransactor(address common.Address, transactor bind.ContractTransactor) (*BridgeOperatorTransactor, error) { contract, err := bindBridgeOperator(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeOperatorTransactor{contract: contract}, nil } // NewBridgeOperatorFilterer creates a new log filterer instance of BridgeOperator, bound to a specific deployed contract. func NewBridgeOperatorFilterer(address common.Address, filterer bind.ContractFilterer) (*BridgeOperatorFilterer, error) { contract, err := bindBridgeOperator(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeOperatorFilterer{contract: contract}, nil } // bindBridgeOperator binds a generic wrapper to an already deployed contract. func bindBridgeOperator(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeOperatorABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeOperator *BridgeOperatorRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeOperator.Contract.BridgeOperatorCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeOperator *BridgeOperatorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeOperator.Contract.BridgeOperatorTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeOperator *BridgeOperatorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeOperator.Contract.BridgeOperatorTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeOperator *BridgeOperatorCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeOperator.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeOperator *BridgeOperatorTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeOperator.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeOperator *BridgeOperatorTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeOperator.Contract.contract.Transact(opts, method, params...) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeOperator *BridgeOperatorCaller) MAXOPERATOR(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "MAX_OPERATOR") return *ret0, err } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeOperator *BridgeOperatorSession) MAXOPERATOR() (uint64, error) { return _BridgeOperator.Contract.MAXOPERATOR(&_BridgeOperator.CallOpts) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeOperator *BridgeOperatorCallerSession) MAXOPERATOR() (uint64, error) { return _BridgeOperator.Contract.MAXOPERATOR(&_BridgeOperator.CallOpts) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeOperator *BridgeOperatorCaller) ClosedValueTransferVotes(opts *bind.CallOpts, arg0 uint64) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "closedValueTransferVotes", arg0) return *ret0, err } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeOperator *BridgeOperatorSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeOperator.Contract.ClosedValueTransferVotes(&_BridgeOperator.CallOpts, arg0) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeOperator *BridgeOperatorCallerSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeOperator.Contract.ClosedValueTransferVotes(&_BridgeOperator.CallOpts, arg0) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeOperator *BridgeOperatorCaller) ConfigurationNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "configurationNonce") return *ret0, err } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeOperator *BridgeOperatorSession) ConfigurationNonce() (uint64, error) { return _BridgeOperator.Contract.ConfigurationNonce(&_BridgeOperator.CallOpts) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeOperator *BridgeOperatorCallerSession) ConfigurationNonce() (uint64, error) { return _BridgeOperator.Contract.ConfigurationNonce(&_BridgeOperator.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeOperator *BridgeOperatorCaller) GetOperatorList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "getOperatorList") return *ret0, err } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeOperator *BridgeOperatorSession) GetOperatorList() ([]common.Address, error) { return _BridgeOperator.Contract.GetOperatorList(&_BridgeOperator.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeOperator *BridgeOperatorCallerSession) GetOperatorList() ([]common.Address, error) { return _BridgeOperator.Contract.GetOperatorList(&_BridgeOperator.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeOperator *BridgeOperatorCaller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeOperator *BridgeOperatorSession) IsOwner() (bool, error) { return _BridgeOperator.Contract.IsOwner(&_BridgeOperator.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeOperator *BridgeOperatorCallerSession) IsOwner() (bool, error) { return _BridgeOperator.Contract.IsOwner(&_BridgeOperator.CallOpts) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeOperator *BridgeOperatorCaller) OperatorList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "operatorList", arg0) return *ret0, err } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeOperator *BridgeOperatorSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeOperator.Contract.OperatorList(&_BridgeOperator.CallOpts, arg0) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeOperator *BridgeOperatorCallerSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeOperator.Contract.OperatorList(&_BridgeOperator.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeOperator *BridgeOperatorCaller) OperatorThresholds(opts *bind.CallOpts, arg0 uint8) (uint8, error) { var ( ret0 = new(uint8) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "operatorThresholds", arg0) return *ret0, err } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeOperator *BridgeOperatorSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeOperator.Contract.OperatorThresholds(&_BridgeOperator.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeOperator *BridgeOperatorCallerSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeOperator.Contract.OperatorThresholds(&_BridgeOperator.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeOperator *BridgeOperatorCaller) Operators(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "operators", arg0) return *ret0, err } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeOperator *BridgeOperatorSession) Operators(arg0 common.Address) (bool, error) { return _BridgeOperator.Contract.Operators(&_BridgeOperator.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeOperator *BridgeOperatorCallerSession) Operators(arg0 common.Address) (bool, error) { return _BridgeOperator.Contract.Operators(&_BridgeOperator.CallOpts, arg0) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeOperator *BridgeOperatorCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeOperator.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeOperator *BridgeOperatorSession) Owner() (common.Address, error) { return _BridgeOperator.Contract.Owner(&_BridgeOperator.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeOperator *BridgeOperatorCallerSession) Owner() (common.Address, error) { return _BridgeOperator.Contract.Owner(&_BridgeOperator.CallOpts) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeOperator *BridgeOperatorTransactor) DeregisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeOperator.contract.Transact(opts, "deregisterOperator", _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeOperator *BridgeOperatorSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeOperator.Contract.DeregisterOperator(&_BridgeOperator.TransactOpts, _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeOperator *BridgeOperatorTransactorSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeOperator.Contract.DeregisterOperator(&_BridgeOperator.TransactOpts, _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeOperator *BridgeOperatorTransactor) RegisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeOperator.contract.Transact(opts, "registerOperator", _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeOperator *BridgeOperatorSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeOperator.Contract.RegisterOperator(&_BridgeOperator.TransactOpts, _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeOperator *BridgeOperatorTransactorSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeOperator.Contract.RegisterOperator(&_BridgeOperator.TransactOpts, _operator) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeOperator *BridgeOperatorTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeOperator.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeOperator *BridgeOperatorSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeOperator.Contract.RenounceOwnership(&_BridgeOperator.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeOperator *BridgeOperatorTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeOperator.Contract.RenounceOwnership(&_BridgeOperator.TransactOpts) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeOperator *BridgeOperatorTransactor) SetOperatorThreshold(opts *bind.TransactOpts, _voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeOperator.contract.Transact(opts, "setOperatorThreshold", _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeOperator *BridgeOperatorSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeOperator.Contract.SetOperatorThreshold(&_BridgeOperator.TransactOpts, _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeOperator *BridgeOperatorTransactorSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeOperator.Contract.SetOperatorThreshold(&_BridgeOperator.TransactOpts, _voteType, _threshold) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeOperator *BridgeOperatorTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _BridgeOperator.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeOperator *BridgeOperatorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeOperator.Contract.TransferOwnership(&_BridgeOperator.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeOperator *BridgeOperatorTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeOperator.Contract.TransferOwnership(&_BridgeOperator.TransactOpts, newOwner) } // BridgeOperatorOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the BridgeOperator contract. type BridgeOperatorOwnershipTransferredIterator struct { Event *BridgeOperatorOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeOperatorOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeOperatorOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeOperatorOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeOperatorOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeOperatorOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeOperatorOwnershipTransferred represents a OwnershipTransferred event raised by the BridgeOperator contract. type BridgeOperatorOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeOperator *BridgeOperatorFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeOperatorOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeOperator.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &BridgeOperatorOwnershipTransferredIterator{contract: _BridgeOperator.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeOperator *BridgeOperatorFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeOperatorOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeOperator.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeOperatorOwnershipTransferred) if err := _BridgeOperator.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokensABI is the input ABI used to generate the binding from. const BridgeTokensABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"lockToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredTokenList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"registerToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"indexOfTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"registeredTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":\"_token\",\"type\":\"address\"}],\"name\":\"unlockToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"deregisterToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getRegisteredTokenList\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}]" // BridgeTokensBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeTokensBinRuntime = `0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638c0bd9161161008c5780639ef2017b116100665780639ef2017b14610213578063bab2af1d14610239578063ea21eade1461025f578063f2fde38b146102b7576100cf565b80638c0bd916146101dd5780638da5cb5b146102035780638f32d59b1461020b576100cf565b806310693fcd146100d45780633e4fe949146100fc5780634739f7e51461013557806348a18a6a146101635780635eb7413a1461019b578063715018a6146101d5575b600080fd5b6100fa600480360360208110156100ea57600080fd5b50356001600160a01b03166102dd565b005b6101196004803603602081101561011257600080fd5b5035610450565b604080516001600160a01b039092168252519081900360200190f35b6100fa6004803603604081101561014b57600080fd5b506001600160a01b0381358116916020013516610477565b6101896004803603602081101561017957600080fd5b50356001600160a01b03166105d2565b60408051918252519081900360200190f35b6101c1600480360360208110156101b157600080fd5b50356001600160a01b03166105e4565b604080519115158252519081900360200190f35b6100fa6105f9565b610119600480360360208110156101f357600080fd5b50356001600160a01b031661068d565b6101196106a8565b6101c16106b8565b6100fa6004803603602081101561022957600080fd5b50356001600160a01b03166106c9565b6100fa6004803603602081101561024f57600080fd5b50356001600160a01b031661083d565b610267610a2c565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a357818101518382015260200161028b565b505050509050019250505060405180910390f35b6100fa600480360360208110156102cd57600080fd5b50356001600160a01b0316610a8e565b6102e56106b8565b6103275760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b6001600160a01b0380821660009081526001602052604090205482911661038f5760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054829060ff16156104025760408051600160e51b62461bcd02815260206004820152600c60248201527f6c6f636b656420746f6b656e0000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038316600081815260046020526040808220805460ff19166001179055517fca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd79190a2505050565b6003818154811061045d57fe5b6000918252602090912001546001600160a01b0316905081565b61047f6106b8565b6104c15760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b6001600160a01b03808316600090815260016020526040902054839116156105335760408051600160e51b62461bcd02815260206004820152600d60248201527f616c6c6f77656420746f6b656e00000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03808416600081815260016020818152604080842080549689166001600160a01b031997881617905560038054600290935281852083905592820183559183527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180549094168317909355915190917f158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d91a2505050565b60026020526000908152604090205481565b60046020526000908152604090205460ff1681565b6106016106b8565b6106435760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001602052600090815260409020546001600160a01b031681565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b6106d16106b8565b6107135760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b6001600160a01b0380821660009081526001602052604090205482911661077b5760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054829060ff1615156001146107f25760408051600160e51b62461bcd02815260206004820152600e60248201527f756e6c6f636b656420746f6b656e000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038316600081815260046020526040808220805460ff19169055517f81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec9190a2505050565b6108456106b8565b6108875760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b6001600160a01b038082166000908152600160205260409020548291166108ef5760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260016020908152604080832080546001600160a01b031916905560048252808320805460ff19169055600290915281208054919055600354600019018110156109df5760038054600019810190811061095357fe5b600091825260209091200154600380546001600160a01b03909216918390811061097957fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060026000600384815481106109b957fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020555b60038054906109f2906000198301610b87565b506040516001600160a01b038416907f1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b690600090a2505050565b60606003805480602002602001604051908101604052809291908181526020018280548015610a8457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a66575b5050505050905090565b610a966106b8565b610ad85760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b610ae181610ae4565b50565b6001600160a01b038116610b2c57604051600160e51b62461bcd028152600401808060200182810382526026815260200180610bcf6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815481835581811115610bab57600083815260209020610bab918101908301610bb0565b505050565b6106b591905b80821115610bca5760008155600101610bb6565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a165627a7a723058201ec54bb9eb49a58b0e627e2314c55d2f67a57eea0384269bf5e48b2a1aafc3440029` // BridgeTokensBin is the compiled bytecode used for deploying new contracts. const BridgeTokensBin = `0x60806040819052600080546001600160a01b03191633178082556001600160a01b0316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610c40806100576000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80638c0bd9161161008c5780639ef2017b116100665780639ef2017b14610213578063bab2af1d14610239578063ea21eade1461025f578063f2fde38b146102b7576100cf565b80638c0bd916146101dd5780638da5cb5b146102035780638f32d59b1461020b576100cf565b806310693fcd146100d45780633e4fe949146100fc5780634739f7e51461013557806348a18a6a146101635780635eb7413a1461019b578063715018a6146101d5575b600080fd5b6100fa600480360360208110156100ea57600080fd5b50356001600160a01b03166102dd565b005b6101196004803603602081101561011257600080fd5b5035610450565b604080516001600160a01b039092168252519081900360200190f35b6100fa6004803603604081101561014b57600080fd5b506001600160a01b0381358116916020013516610477565b6101896004803603602081101561017957600080fd5b50356001600160a01b03166105d2565b60408051918252519081900360200190f35b6101c1600480360360208110156101b157600080fd5b50356001600160a01b03166105e4565b604080519115158252519081900360200190f35b6100fa6105f9565b610119600480360360208110156101f357600080fd5b50356001600160a01b031661068d565b6101196106a8565b6101c16106b8565b6100fa6004803603602081101561022957600080fd5b50356001600160a01b03166106c9565b6100fa6004803603602081101561024f57600080fd5b50356001600160a01b031661083d565b610267610a2c565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102a357818101518382015260200161028b565b505050509050019250505060405180910390f35b6100fa600480360360208110156102cd57600080fd5b50356001600160a01b0316610a8e565b6102e56106b8565b6103275760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b6001600160a01b0380821660009081526001602052604090205482911661038f5760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054829060ff16156104025760408051600160e51b62461bcd02815260206004820152600c60248201527f6c6f636b656420746f6b656e0000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038316600081815260046020526040808220805460ff19166001179055517fca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd79190a2505050565b6003818154811061045d57fe5b6000918252602090912001546001600160a01b0316905081565b61047f6106b8565b6104c15760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b6001600160a01b03808316600090815260016020526040902054839116156105335760408051600160e51b62461bcd02815260206004820152600d60248201527f616c6c6f77656420746f6b656e00000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03808416600081815260016020818152604080842080549689166001600160a01b031997881617905560038054600290935281852083905592820183559183527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180549094168317909355915190917f158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d91a2505050565b60026020526000908152604090205481565b60046020526000908152604090205460ff1681565b6106016106b8565b6106435760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001602052600090815260409020546001600160a01b031681565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b6106d16106b8565b6107135760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b6001600160a01b0380821660009081526001602052604090205482911661077b5760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054829060ff1615156001146107f25760408051600160e51b62461bcd02815260206004820152600e60248201527f756e6c6f636b656420746f6b656e000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b038316600081815260046020526040808220805460ff19169055517f81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec9190a2505050565b6108456106b8565b6108875760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b6001600160a01b038082166000908152600160205260409020548291166108ef5760408051600160e51b62461bcd0281526020600482015260116024820152600160791b703737ba1030b63637bbb2b2103a37b5b2b702604482015290519081900360640190fd5b6001600160a01b038216600090815260016020908152604080832080546001600160a01b031916905560048252808320805460ff19169055600290915281208054919055600354600019018110156109df5760038054600019810190811061095357fe5b600091825260209091200154600380546001600160a01b03909216918390811061097957fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060026000600384815481106109b957fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020555b60038054906109f2906000198301610b87565b506040516001600160a01b038416907f1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b690600090a2505050565b60606003805480602002602001604051908101604052809291908181526020018280548015610a8457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a66575b5050505050905090565b610a966106b8565b610ad85760408051600160e51b62461bcd0281526020600482018190526024820152600080516020610bf5833981519152604482015290519081900360640190fd5b610ae181610ae4565b50565b6001600160a01b038116610b2c57604051600160e51b62461bcd028152600401808060200182810382526026815260200180610bcf6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b815481835581811115610bab57600083815260209020610bab918101908301610bb0565b505050565b6106b591905b80821115610bca5760008155600101610bb6565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a165627a7a723058201ec54bb9eb49a58b0e627e2314c55d2f67a57eea0384269bf5e48b2a1aafc3440029` // DeployBridgeTokens deploys a new Klaytn contract, binding an instance of BridgeTokens to it. func DeployBridgeTokens(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BridgeTokens, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTokensABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeTokensBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeTokens{BridgeTokensCaller: BridgeTokensCaller{contract: contract}, BridgeTokensTransactor: BridgeTokensTransactor{contract: contract}, BridgeTokensFilterer: BridgeTokensFilterer{contract: contract}}, nil } // BridgeTokens is an auto generated Go binding around a Klaytn contract. type BridgeTokens struct { BridgeTokensCaller // Read-only binding to the contract BridgeTokensTransactor // Write-only binding to the contract BridgeTokensFilterer // Log filterer for contract events } // BridgeTokensCaller is an auto generated read-only Go binding around a Klaytn contract. type BridgeTokensCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTokensTransactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeTokensTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTokensFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeTokensFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTokensSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeTokensSession struct { Contract *BridgeTokens // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTokensCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeTokensCallerSession struct { Contract *BridgeTokensCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeTokensTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeTokensTransactorSession struct { Contract *BridgeTokensTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTokensRaw is an auto generated low-level Go binding around a Klaytn contract. type BridgeTokensRaw struct { Contract *BridgeTokens // Generic contract binding to access the raw methods on } // BridgeTokensCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeTokensCallerRaw struct { Contract *BridgeTokensCaller // Generic read-only contract binding to access the raw methods on } // BridgeTokensTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeTokensTransactorRaw struct { Contract *BridgeTokensTransactor // Generic write-only contract binding to access the raw methods on } // NewBridgeTokens creates a new instance of BridgeTokens, bound to a specific deployed contract. func NewBridgeTokens(address common.Address, backend bind.ContractBackend) (*BridgeTokens, error) { contract, err := bindBridgeTokens(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeTokens{BridgeTokensCaller: BridgeTokensCaller{contract: contract}, BridgeTokensTransactor: BridgeTokensTransactor{contract: contract}, BridgeTokensFilterer: BridgeTokensFilterer{contract: contract}}, nil } // NewBridgeTokensCaller creates a new read-only instance of BridgeTokens, bound to a specific deployed contract. func NewBridgeTokensCaller(address common.Address, caller bind.ContractCaller) (*BridgeTokensCaller, error) { contract, err := bindBridgeTokens(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeTokensCaller{contract: contract}, nil } // NewBridgeTokensTransactor creates a new write-only instance of BridgeTokens, bound to a specific deployed contract. func NewBridgeTokensTransactor(address common.Address, transactor bind.ContractTransactor) (*BridgeTokensTransactor, error) { contract, err := bindBridgeTokens(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeTokensTransactor{contract: contract}, nil } // NewBridgeTokensFilterer creates a new log filterer instance of BridgeTokens, bound to a specific deployed contract. func NewBridgeTokensFilterer(address common.Address, filterer bind.ContractFilterer) (*BridgeTokensFilterer, error) { contract, err := bindBridgeTokens(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeTokensFilterer{contract: contract}, nil } // bindBridgeTokens binds a generic wrapper to an already deployed contract. func bindBridgeTokens(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTokensABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTokens *BridgeTokensRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTokens.Contract.BridgeTokensCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTokens *BridgeTokensRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTokens.Contract.BridgeTokensTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTokens *BridgeTokensRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTokens.Contract.BridgeTokensTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTokens *BridgeTokensCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTokens.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTokens *BridgeTokensTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTokens.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTokens *BridgeTokensTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTokens.Contract.contract.Transact(opts, method, params...) } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTokens *BridgeTokensCaller) GetRegisteredTokenList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _BridgeTokens.contract.Call(opts, out, "getRegisteredTokenList") return *ret0, err } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTokens *BridgeTokensSession) GetRegisteredTokenList() ([]common.Address, error) { return _BridgeTokens.Contract.GetRegisteredTokenList(&_BridgeTokens.CallOpts) } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTokens *BridgeTokensCallerSession) GetRegisteredTokenList() ([]common.Address, error) { return _BridgeTokens.Contract.GetRegisteredTokenList(&_BridgeTokens.CallOpts) } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTokens *BridgeTokensCaller) IndexOfTokens(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTokens.contract.Call(opts, out, "indexOfTokens", arg0) return *ret0, err } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTokens *BridgeTokensSession) IndexOfTokens(arg0 common.Address) (*big.Int, error) { return _BridgeTokens.Contract.IndexOfTokens(&_BridgeTokens.CallOpts, arg0) } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTokens *BridgeTokensCallerSession) IndexOfTokens(arg0 common.Address) (*big.Int, error) { return _BridgeTokens.Contract.IndexOfTokens(&_BridgeTokens.CallOpts, arg0) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTokens *BridgeTokensCaller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTokens.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTokens *BridgeTokensSession) IsOwner() (bool, error) { return _BridgeTokens.Contract.IsOwner(&_BridgeTokens.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTokens *BridgeTokensCallerSession) IsOwner() (bool, error) { return _BridgeTokens.Contract.IsOwner(&_BridgeTokens.CallOpts) } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTokens *BridgeTokensCaller) LockedTokens(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTokens.contract.Call(opts, out, "lockedTokens", arg0) return *ret0, err } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTokens *BridgeTokensSession) LockedTokens(arg0 common.Address) (bool, error) { return _BridgeTokens.Contract.LockedTokens(&_BridgeTokens.CallOpts, arg0) } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTokens *BridgeTokensCallerSession) LockedTokens(arg0 common.Address) (bool, error) { return _BridgeTokens.Contract.LockedTokens(&_BridgeTokens.CallOpts, arg0) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTokens *BridgeTokensCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTokens.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTokens *BridgeTokensSession) Owner() (common.Address, error) { return _BridgeTokens.Contract.Owner(&_BridgeTokens.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTokens *BridgeTokensCallerSession) Owner() (common.Address, error) { return _BridgeTokens.Contract.Owner(&_BridgeTokens.CallOpts) } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTokens *BridgeTokensCaller) RegisteredTokenList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTokens.contract.Call(opts, out, "registeredTokenList", arg0) return *ret0, err } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTokens *BridgeTokensSession) RegisteredTokenList(arg0 *big.Int) (common.Address, error) { return _BridgeTokens.Contract.RegisteredTokenList(&_BridgeTokens.CallOpts, arg0) } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTokens *BridgeTokensCallerSession) RegisteredTokenList(arg0 *big.Int) (common.Address, error) { return _BridgeTokens.Contract.RegisteredTokenList(&_BridgeTokens.CallOpts, arg0) } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTokens *BridgeTokensCaller) RegisteredTokens(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTokens.contract.Call(opts, out, "registeredTokens", arg0) return *ret0, err } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTokens *BridgeTokensSession) RegisteredTokens(arg0 common.Address) (common.Address, error) { return _BridgeTokens.Contract.RegisteredTokens(&_BridgeTokens.CallOpts, arg0) } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTokens *BridgeTokensCallerSession) RegisteredTokens(arg0 common.Address) (common.Address, error) { return _BridgeTokens.Contract.RegisteredTokens(&_BridgeTokens.CallOpts, arg0) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTokens *BridgeTokensTransactor) DeregisterToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTokens.contract.Transact(opts, "deregisterToken", _token) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTokens *BridgeTokensSession) DeregisterToken(_token common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.DeregisterToken(&_BridgeTokens.TransactOpts, _token) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTokens *BridgeTokensTransactorSession) DeregisterToken(_token common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.DeregisterToken(&_BridgeTokens.TransactOpts, _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTokens *BridgeTokensTransactor) LockToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTokens.contract.Transact(opts, "lockToken", _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTokens *BridgeTokensSession) LockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.LockToken(&_BridgeTokens.TransactOpts, _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTokens *BridgeTokensTransactorSession) LockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.LockToken(&_BridgeTokens.TransactOpts, _token) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTokens *BridgeTokensTransactor) RegisterToken(opts *bind.TransactOpts, _token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTokens.contract.Transact(opts, "registerToken", _token, _cToken) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTokens *BridgeTokensSession) RegisterToken(_token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.RegisterToken(&_BridgeTokens.TransactOpts, _token, _cToken) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTokens *BridgeTokensTransactorSession) RegisterToken(_token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.RegisterToken(&_BridgeTokens.TransactOpts, _token, _cToken) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTokens *BridgeTokensTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTokens.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTokens *BridgeTokensSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeTokens.Contract.RenounceOwnership(&_BridgeTokens.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTokens *BridgeTokensTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeTokens.Contract.RenounceOwnership(&_BridgeTokens.TransactOpts) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTokens *BridgeTokensTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _BridgeTokens.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTokens *BridgeTokensSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.TransferOwnership(&_BridgeTokens.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTokens *BridgeTokensTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.TransferOwnership(&_BridgeTokens.TransactOpts, newOwner) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTokens *BridgeTokensTransactor) UnlockToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTokens.contract.Transact(opts, "unlockToken", _token) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTokens *BridgeTokensSession) UnlockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.UnlockToken(&_BridgeTokens.TransactOpts, _token) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTokens *BridgeTokensTransactorSession) UnlockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTokens.Contract.UnlockToken(&_BridgeTokens.TransactOpts, _token) } // BridgeTokensOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the BridgeTokens contract. type BridgeTokensOwnershipTransferredIterator struct { Event *BridgeTokensOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokensOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokensOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokensOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokensOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokensOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokensOwnershipTransferred represents a OwnershipTransferred event raised by the BridgeTokens contract. type BridgeTokensOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTokens *BridgeTokensFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeTokensOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTokens.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &BridgeTokensOwnershipTransferredIterator{contract: _BridgeTokens.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTokens *BridgeTokensFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeTokensOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTokens.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokensOwnershipTransferred) if err := _BridgeTokens.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokensTokenDeregisteredIterator is returned from FilterTokenDeregistered and is used to iterate over the raw logs and unpacked data for TokenDeregistered events raised by the BridgeTokens contract. type BridgeTokensTokenDeregisteredIterator struct { Event *BridgeTokensTokenDeregistered // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokensTokenDeregisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokensTokenDeregistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokensTokenDeregistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokensTokenDeregisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokensTokenDeregisteredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokensTokenDeregistered represents a TokenDeregistered event raised by the BridgeTokens contract. type BridgeTokensTokenDeregistered struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenDeregistered is a free log retrieval operation binding the contract event 0x1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b6. // // Solidity: e TokenDeregistered(token indexed address) func (_BridgeTokens *BridgeTokensFilterer) FilterTokenDeregistered(opts *bind.FilterOpts, token []common.Address) (*BridgeTokensTokenDeregisteredIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTokens.contract.FilterLogs(opts, "TokenDeregistered", tokenRule) if err != nil { return nil, err } return &BridgeTokensTokenDeregisteredIterator{contract: _BridgeTokens.contract, event: "TokenDeregistered", logs: logs, sub: sub}, nil } // WatchTokenDeregistered is a free log subscription operation binding the contract event 0x1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b6. // // Solidity: e TokenDeregistered(token indexed address) func (_BridgeTokens *BridgeTokensFilterer) WatchTokenDeregistered(opts *bind.WatchOpts, sink chan<- *BridgeTokensTokenDeregistered, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTokens.contract.WatchLogs(opts, "TokenDeregistered", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokensTokenDeregistered) if err := _BridgeTokens.contract.UnpackLog(event, "TokenDeregistered", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokensTokenLockedIterator is returned from FilterTokenLocked and is used to iterate over the raw logs and unpacked data for TokenLocked events raised by the BridgeTokens contract. type BridgeTokensTokenLockedIterator struct { Event *BridgeTokensTokenLocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokensTokenLockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokensTokenLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokensTokenLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokensTokenLockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokensTokenLockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokensTokenLocked represents a TokenLocked event raised by the BridgeTokens contract. type BridgeTokensTokenLocked struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenLocked is a free log retrieval operation binding the contract event 0xca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd7. // // Solidity: e TokenLocked(token indexed address) func (_BridgeTokens *BridgeTokensFilterer) FilterTokenLocked(opts *bind.FilterOpts, token []common.Address) (*BridgeTokensTokenLockedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTokens.contract.FilterLogs(opts, "TokenLocked", tokenRule) if err != nil { return nil, err } return &BridgeTokensTokenLockedIterator{contract: _BridgeTokens.contract, event: "TokenLocked", logs: logs, sub: sub}, nil } // WatchTokenLocked is a free log subscription operation binding the contract event 0xca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd7. // // Solidity: e TokenLocked(token indexed address) func (_BridgeTokens *BridgeTokensFilterer) WatchTokenLocked(opts *bind.WatchOpts, sink chan<- *BridgeTokensTokenLocked, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTokens.contract.WatchLogs(opts, "TokenLocked", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokensTokenLocked) if err := _BridgeTokens.contract.UnpackLog(event, "TokenLocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokensTokenRegisteredIterator is returned from FilterTokenRegistered and is used to iterate over the raw logs and unpacked data for TokenRegistered events raised by the BridgeTokens contract. type BridgeTokensTokenRegisteredIterator struct { Event *BridgeTokensTokenRegistered // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokensTokenRegisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokensTokenRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokensTokenRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokensTokenRegisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokensTokenRegisteredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokensTokenRegistered represents a TokenRegistered event raised by the BridgeTokens contract. type BridgeTokensTokenRegistered struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenRegistered is a free log retrieval operation binding the contract event 0x158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d. // // Solidity: e TokenRegistered(token indexed address) func (_BridgeTokens *BridgeTokensFilterer) FilterTokenRegistered(opts *bind.FilterOpts, token []common.Address) (*BridgeTokensTokenRegisteredIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTokens.contract.FilterLogs(opts, "TokenRegistered", tokenRule) if err != nil { return nil, err } return &BridgeTokensTokenRegisteredIterator{contract: _BridgeTokens.contract, event: "TokenRegistered", logs: logs, sub: sub}, nil } // WatchTokenRegistered is a free log subscription operation binding the contract event 0x158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d. // // Solidity: e TokenRegistered(token indexed address) func (_BridgeTokens *BridgeTokensFilterer) WatchTokenRegistered(opts *bind.WatchOpts, sink chan<- *BridgeTokensTokenRegistered, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTokens.contract.WatchLogs(opts, "TokenRegistered", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokensTokenRegistered) if err := _BridgeTokens.contract.UnpackLog(event, "TokenRegistered", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTokensTokenUnlockedIterator is returned from FilterTokenUnlocked and is used to iterate over the raw logs and unpacked data for TokenUnlocked events raised by the BridgeTokens contract. type BridgeTokensTokenUnlockedIterator struct { Event *BridgeTokensTokenUnlocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTokensTokenUnlockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTokensTokenUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTokensTokenUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTokensTokenUnlockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTokensTokenUnlockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTokensTokenUnlocked represents a TokenUnlocked event raised by the BridgeTokens contract. type BridgeTokensTokenUnlocked struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenUnlocked is a free log retrieval operation binding the contract event 0x81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec. // // Solidity: e TokenUnlocked(token indexed address) func (_BridgeTokens *BridgeTokensFilterer) FilterTokenUnlocked(opts *bind.FilterOpts, token []common.Address) (*BridgeTokensTokenUnlockedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTokens.contract.FilterLogs(opts, "TokenUnlocked", tokenRule) if err != nil { return nil, err } return &BridgeTokensTokenUnlockedIterator{contract: _BridgeTokens.contract, event: "TokenUnlocked", logs: logs, sub: sub}, nil } // WatchTokenUnlocked is a free log subscription operation binding the contract event 0x81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec. // // Solidity: e TokenUnlocked(token indexed address) func (_BridgeTokens *BridgeTokensFilterer) WatchTokenUnlocked(opts *bind.WatchOpts, sink chan<- *BridgeTokensTokenUnlocked, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTokens.contract.WatchLogs(opts, "TokenUnlocked", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTokensTokenUnlocked) if err := _BridgeTokens.contract.UnpackLog(event, "TokenUnlocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferABI is the input ABI used to generate the binding from. const BridgeTransferABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"handleNoncesToBlockNums\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"operators\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"registerOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_OPERATOR\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"feeOfERC20\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lowerHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"upperHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"operatorThresholds\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"modeMintBurn\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"requestNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"handledRequestTx\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"closedValueTransferVotes\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"recoveryBlockNumber\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"configurationNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOperatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeOfKLAY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_status\",\"type\":\"bool\"}],\"name\":\"start\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"operatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"deregisterOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_voteType\",\"type\":\"uint8\"},{\"name\":\"_threshold\",\"type\":\"uint8\"}],\"name\":\"setOperatorThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_feeReceiver\",\"type\":\"address\"}],\"name\":\"setFeeReceiver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_modeMintBurn\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"requestNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"RequestValueTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"requestTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"handleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"lowerHandleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"HandleValueTransfer\",\"type\":\"event\"},{\"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\":\"fee\",\"type\":\"uint256\"}],\"name\":\"KLAYFeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"ERC20FeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"feeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverChanged\",\"type\":\"event\"}]" // BridgeTransferBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeTransferBinRuntime = `0x` // BridgeTransferBin is the compiled bytecode used for deploying new contracts. const BridgeTransferBin = `0x` // DeployBridgeTransfer deploys a new Klaytn contract, binding an instance of BridgeTransfer to it. func DeployBridgeTransfer(auth *bind.TransactOpts, backend bind.ContractBackend, _modeMintBurn bool) (common.Address, *types.Transaction, *BridgeTransfer, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTransferABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeTransferBin), backend, _modeMintBurn) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeTransfer{BridgeTransferCaller: BridgeTransferCaller{contract: contract}, BridgeTransferTransactor: BridgeTransferTransactor{contract: contract}, BridgeTransferFilterer: BridgeTransferFilterer{contract: contract}}, nil } // BridgeTransfer is an auto generated Go binding around a Klaytn contract. type BridgeTransfer struct { BridgeTransferCaller // Read-only binding to the contract BridgeTransferTransactor // Write-only binding to the contract BridgeTransferFilterer // Log filterer for contract events } // BridgeTransferCaller is an auto generated read-only Go binding around a Klaytn contract. type BridgeTransferCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferTransactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeTransferTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeTransferFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeTransferSession struct { Contract *BridgeTransfer // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTransferCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeTransferCallerSession struct { Contract *BridgeTransferCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeTransferTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeTransferTransactorSession struct { Contract *BridgeTransferTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTransferRaw is an auto generated low-level Go binding around a Klaytn contract. type BridgeTransferRaw struct { Contract *BridgeTransfer // Generic contract binding to access the raw methods on } // BridgeTransferCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeTransferCallerRaw struct { Contract *BridgeTransferCaller // Generic read-only contract binding to access the raw methods on } // BridgeTransferTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeTransferTransactorRaw struct { Contract *BridgeTransferTransactor // Generic write-only contract binding to access the raw methods on } // NewBridgeTransfer creates a new instance of BridgeTransfer, bound to a specific deployed contract. func NewBridgeTransfer(address common.Address, backend bind.ContractBackend) (*BridgeTransfer, error) { contract, err := bindBridgeTransfer(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeTransfer{BridgeTransferCaller: BridgeTransferCaller{contract: contract}, BridgeTransferTransactor: BridgeTransferTransactor{contract: contract}, BridgeTransferFilterer: BridgeTransferFilterer{contract: contract}}, nil } // NewBridgeTransferCaller creates a new read-only instance of BridgeTransfer, bound to a specific deployed contract. func NewBridgeTransferCaller(address common.Address, caller bind.ContractCaller) (*BridgeTransferCaller, error) { contract, err := bindBridgeTransfer(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeTransferCaller{contract: contract}, nil } // NewBridgeTransferTransactor creates a new write-only instance of BridgeTransfer, bound to a specific deployed contract. func NewBridgeTransferTransactor(address common.Address, transactor bind.ContractTransactor) (*BridgeTransferTransactor, error) { contract, err := bindBridgeTransfer(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeTransferTransactor{contract: contract}, nil } // NewBridgeTransferFilterer creates a new log filterer instance of BridgeTransfer, bound to a specific deployed contract. func NewBridgeTransferFilterer(address common.Address, filterer bind.ContractFilterer) (*BridgeTransferFilterer, error) { contract, err := bindBridgeTransfer(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeTransferFilterer{contract: contract}, nil } // bindBridgeTransfer binds a generic wrapper to an already deployed contract. func bindBridgeTransfer(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTransferABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTransfer *BridgeTransferRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTransfer.Contract.BridgeTransferCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTransfer *BridgeTransferRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransfer.Contract.BridgeTransferTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTransfer *BridgeTransferRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTransfer.Contract.BridgeTransferTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTransfer *BridgeTransferCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTransfer.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTransfer *BridgeTransferTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransfer.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTransfer *BridgeTransferTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTransfer.Contract.contract.Transact(opts, method, params...) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCaller) MAXOPERATOR(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "MAX_OPERATOR") return *ret0, err } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransfer *BridgeTransferSession) MAXOPERATOR() (uint64, error) { return _BridgeTransfer.Contract.MAXOPERATOR(&_BridgeTransfer.CallOpts) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCallerSession) MAXOPERATOR() (uint64, error) { return _BridgeTransfer.Contract.MAXOPERATOR(&_BridgeTransfer.CallOpts) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransfer *BridgeTransferCaller) ClosedValueTransferVotes(opts *bind.CallOpts, arg0 uint64) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "closedValueTransferVotes", arg0) return *ret0, err } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransfer *BridgeTransferSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeTransfer.Contract.ClosedValueTransferVotes(&_BridgeTransfer.CallOpts, arg0) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransfer *BridgeTransferCallerSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeTransfer.Contract.ClosedValueTransferVotes(&_BridgeTransfer.CallOpts, arg0) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCaller) ConfigurationNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "configurationNonce") return *ret0, err } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferSession) ConfigurationNonce() (uint64, error) { return _BridgeTransfer.Contract.ConfigurationNonce(&_BridgeTransfer.CallOpts) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCallerSession) ConfigurationNonce() (uint64, error) { return _BridgeTransfer.Contract.ConfigurationNonce(&_BridgeTransfer.CallOpts) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransfer *BridgeTransferCaller) FeeOfERC20(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "feeOfERC20", arg0) return *ret0, err } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransfer *BridgeTransferSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeTransfer.Contract.FeeOfERC20(&_BridgeTransfer.CallOpts, arg0) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransfer *BridgeTransferCallerSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeTransfer.Contract.FeeOfERC20(&_BridgeTransfer.CallOpts, arg0) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransfer *BridgeTransferCaller) FeeOfKLAY(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "feeOfKLAY") return *ret0, err } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransfer *BridgeTransferSession) FeeOfKLAY() (*big.Int, error) { return _BridgeTransfer.Contract.FeeOfKLAY(&_BridgeTransfer.CallOpts) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransfer *BridgeTransferCallerSession) FeeOfKLAY() (*big.Int, error) { return _BridgeTransfer.Contract.FeeOfKLAY(&_BridgeTransfer.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransfer *BridgeTransferCaller) FeeReceiver(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "feeReceiver") return *ret0, err } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransfer *BridgeTransferSession) FeeReceiver() (common.Address, error) { return _BridgeTransfer.Contract.FeeReceiver(&_BridgeTransfer.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransfer *BridgeTransferCallerSession) FeeReceiver() (common.Address, error) { return _BridgeTransfer.Contract.FeeReceiver(&_BridgeTransfer.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransfer *BridgeTransferCaller) GetOperatorList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "getOperatorList") return *ret0, err } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransfer *BridgeTransferSession) GetOperatorList() ([]common.Address, error) { return _BridgeTransfer.Contract.GetOperatorList(&_BridgeTransfer.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransfer *BridgeTransferCallerSession) GetOperatorList() ([]common.Address, error) { return _BridgeTransfer.Contract.GetOperatorList(&_BridgeTransfer.CallOpts) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransfer *BridgeTransferCaller) HandleNoncesToBlockNums(opts *bind.CallOpts, arg0 uint64) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "handleNoncesToBlockNums", arg0) return *ret0, err } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransfer *BridgeTransferSession) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _BridgeTransfer.Contract.HandleNoncesToBlockNums(&_BridgeTransfer.CallOpts, arg0) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransfer *BridgeTransferCallerSession) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _BridgeTransfer.Contract.HandleNoncesToBlockNums(&_BridgeTransfer.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransfer *BridgeTransferCaller) HandledRequestTx(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "handledRequestTx", arg0) return *ret0, err } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransfer *BridgeTransferSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeTransfer.Contract.HandledRequestTx(&_BridgeTransfer.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransfer *BridgeTransferCallerSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeTransfer.Contract.HandledRequestTx(&_BridgeTransfer.CallOpts, arg0) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransfer *BridgeTransferCaller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransfer *BridgeTransferSession) IsOwner() (bool, error) { return _BridgeTransfer.Contract.IsOwner(&_BridgeTransfer.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransfer *BridgeTransferCallerSession) IsOwner() (bool, error) { return _BridgeTransfer.Contract.IsOwner(&_BridgeTransfer.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransfer *BridgeTransferCaller) IsRunning(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "isRunning") return *ret0, err } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransfer *BridgeTransferSession) IsRunning() (bool, error) { return _BridgeTransfer.Contract.IsRunning(&_BridgeTransfer.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransfer *BridgeTransferCallerSession) IsRunning() (bool, error) { return _BridgeTransfer.Contract.IsRunning(&_BridgeTransfer.CallOpts) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCaller) LowerHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "lowerHandleNonce") return *ret0, err } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferSession) LowerHandleNonce() (uint64, error) { return _BridgeTransfer.Contract.LowerHandleNonce(&_BridgeTransfer.CallOpts) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCallerSession) LowerHandleNonce() (uint64, error) { return _BridgeTransfer.Contract.LowerHandleNonce(&_BridgeTransfer.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransfer *BridgeTransferCaller) ModeMintBurn(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "modeMintBurn") return *ret0, err } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransfer *BridgeTransferSession) ModeMintBurn() (bool, error) { return _BridgeTransfer.Contract.ModeMintBurn(&_BridgeTransfer.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransfer *BridgeTransferCallerSession) ModeMintBurn() (bool, error) { return _BridgeTransfer.Contract.ModeMintBurn(&_BridgeTransfer.CallOpts) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransfer *BridgeTransferCaller) OperatorList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "operatorList", arg0) return *ret0, err } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransfer *BridgeTransferSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeTransfer.Contract.OperatorList(&_BridgeTransfer.CallOpts, arg0) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransfer *BridgeTransferCallerSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeTransfer.Contract.OperatorList(&_BridgeTransfer.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransfer *BridgeTransferCaller) OperatorThresholds(opts *bind.CallOpts, arg0 uint8) (uint8, error) { var ( ret0 = new(uint8) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "operatorThresholds", arg0) return *ret0, err } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransfer *BridgeTransferSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeTransfer.Contract.OperatorThresholds(&_BridgeTransfer.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransfer *BridgeTransferCallerSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeTransfer.Contract.OperatorThresholds(&_BridgeTransfer.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransfer *BridgeTransferCaller) Operators(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "operators", arg0) return *ret0, err } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransfer *BridgeTransferSession) Operators(arg0 common.Address) (bool, error) { return _BridgeTransfer.Contract.Operators(&_BridgeTransfer.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransfer *BridgeTransferCallerSession) Operators(arg0 common.Address) (bool, error) { return _BridgeTransfer.Contract.Operators(&_BridgeTransfer.CallOpts, arg0) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransfer *BridgeTransferCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransfer *BridgeTransferSession) Owner() (common.Address, error) { return _BridgeTransfer.Contract.Owner(&_BridgeTransfer.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransfer *BridgeTransferCallerSession) Owner() (common.Address, error) { return _BridgeTransfer.Contract.Owner(&_BridgeTransfer.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCaller) RecoveryBlockNumber(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "recoveryBlockNumber") return *ret0, err } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransfer *BridgeTransferSession) RecoveryBlockNumber() (uint64, error) { return _BridgeTransfer.Contract.RecoveryBlockNumber(&_BridgeTransfer.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCallerSession) RecoveryBlockNumber() (uint64, error) { return _BridgeTransfer.Contract.RecoveryBlockNumber(&_BridgeTransfer.CallOpts) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCaller) RequestNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "requestNonce") return *ret0, err } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferSession) RequestNonce() (uint64, error) { return _BridgeTransfer.Contract.RequestNonce(&_BridgeTransfer.CallOpts) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCallerSession) RequestNonce() (uint64, error) { return _BridgeTransfer.Contract.RequestNonce(&_BridgeTransfer.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCaller) UpperHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransfer.contract.Call(opts, out, "upperHandleNonce") return *ret0, err } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferSession) UpperHandleNonce() (uint64, error) { return _BridgeTransfer.Contract.UpperHandleNonce(&_BridgeTransfer.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransfer *BridgeTransferCallerSession) UpperHandleNonce() (uint64, error) { return _BridgeTransfer.Contract.UpperHandleNonce(&_BridgeTransfer.CallOpts) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransfer *BridgeTransferTransactor) DeregisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeTransfer.contract.Transact(opts, "deregisterOperator", _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransfer *BridgeTransferSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransfer.Contract.DeregisterOperator(&_BridgeTransfer.TransactOpts, _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransfer *BridgeTransferTransactorSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransfer.Contract.DeregisterOperator(&_BridgeTransfer.TransactOpts, _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransfer *BridgeTransferTransactor) RegisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeTransfer.contract.Transact(opts, "registerOperator", _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransfer *BridgeTransferSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransfer.Contract.RegisterOperator(&_BridgeTransfer.TransactOpts, _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransfer *BridgeTransferTransactorSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransfer.Contract.RegisterOperator(&_BridgeTransfer.TransactOpts, _operator) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransfer *BridgeTransferTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransfer.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransfer *BridgeTransferSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeTransfer.Contract.RenounceOwnership(&_BridgeTransfer.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransfer *BridgeTransferTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeTransfer.Contract.RenounceOwnership(&_BridgeTransfer.TransactOpts) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransfer *BridgeTransferTransactor) SetFeeReceiver(opts *bind.TransactOpts, _feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransfer.contract.Transact(opts, "setFeeReceiver", _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransfer *BridgeTransferSession) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransfer.Contract.SetFeeReceiver(&_BridgeTransfer.TransactOpts, _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransfer *BridgeTransferTransactorSession) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransfer.Contract.SetFeeReceiver(&_BridgeTransfer.TransactOpts, _feeReceiver) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransfer *BridgeTransferTransactor) SetOperatorThreshold(opts *bind.TransactOpts, _voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransfer.contract.Transact(opts, "setOperatorThreshold", _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransfer *BridgeTransferSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransfer.Contract.SetOperatorThreshold(&_BridgeTransfer.TransactOpts, _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransfer *BridgeTransferTransactorSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransfer.Contract.SetOperatorThreshold(&_BridgeTransfer.TransactOpts, _voteType, _threshold) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransfer *BridgeTransferTransactor) Start(opts *bind.TransactOpts, _status bool) (*types.Transaction, error) { return _BridgeTransfer.contract.Transact(opts, "start", _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransfer *BridgeTransferSession) Start(_status bool) (*types.Transaction, error) { return _BridgeTransfer.Contract.Start(&_BridgeTransfer.TransactOpts, _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransfer *BridgeTransferTransactorSession) Start(_status bool) (*types.Transaction, error) { return _BridgeTransfer.Contract.Start(&_BridgeTransfer.TransactOpts, _status) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransfer *BridgeTransferTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _BridgeTransfer.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransfer *BridgeTransferSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTransfer.Contract.TransferOwnership(&_BridgeTransfer.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransfer *BridgeTransferTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTransfer.Contract.TransferOwnership(&_BridgeTransfer.TransactOpts, newOwner) } // BridgeTransferERC20FeeChangedIterator is returned from FilterERC20FeeChanged and is used to iterate over the raw logs and unpacked data for ERC20FeeChanged events raised by the BridgeTransfer contract. type BridgeTransferERC20FeeChangedIterator struct { Event *BridgeTransferERC20FeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20FeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20FeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20FeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20FeeChanged represents a ERC20FeeChanged event raised by the BridgeTransfer contract. type BridgeTransferERC20FeeChanged struct { Token common.Address Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterERC20FeeChanged is a free log retrieval operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeTransfer *BridgeTransferFilterer) FilterERC20FeeChanged(opts *bind.FilterOpts, token []common.Address, fee []*big.Int) (*BridgeTransferERC20FeeChangedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransfer.contract.FilterLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return &BridgeTransferERC20FeeChangedIterator{contract: _BridgeTransfer.contract, event: "ERC20FeeChanged", logs: logs, sub: sub}, nil } // WatchERC20FeeChanged is a free log subscription operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeTransfer *BridgeTransferFilterer) WatchERC20FeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20FeeChanged, token []common.Address, fee []*big.Int) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransfer.contract.WatchLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20FeeChanged) if err := _BridgeTransfer.contract.UnpackLog(event, "ERC20FeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferFeeReceiverChangedIterator is returned from FilterFeeReceiverChanged and is used to iterate over the raw logs and unpacked data for FeeReceiverChanged events raised by the BridgeTransfer contract. type BridgeTransferFeeReceiverChangedIterator struct { Event *BridgeTransferFeeReceiverChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferFeeReceiverChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferFeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferFeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferFeeReceiverChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferFeeReceiverChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferFeeReceiverChanged represents a FeeReceiverChanged event raised by the BridgeTransfer contract. type BridgeTransferFeeReceiverChanged struct { FeeReceiver common.Address Raw types.Log // Blockchain specific contextual infos } // FilterFeeReceiverChanged is a free log retrieval operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeTransfer *BridgeTransferFilterer) FilterFeeReceiverChanged(opts *bind.FilterOpts, feeReceiver []common.Address) (*BridgeTransferFeeReceiverChangedIterator, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeTransfer.contract.FilterLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return &BridgeTransferFeeReceiverChangedIterator{contract: _BridgeTransfer.contract, event: "FeeReceiverChanged", logs: logs, sub: sub}, nil } // WatchFeeReceiverChanged is a free log subscription operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeTransfer *BridgeTransferFilterer) WatchFeeReceiverChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferFeeReceiverChanged, feeReceiver []common.Address) (event.Subscription, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeTransfer.contract.WatchLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferFeeReceiverChanged) if err := _BridgeTransfer.contract.UnpackLog(event, "FeeReceiverChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferHandleValueTransferIterator is returned from FilterHandleValueTransfer and is used to iterate over the raw logs and unpacked data for HandleValueTransfer events raised by the BridgeTransfer contract. type BridgeTransferHandleValueTransferIterator struct { Event *BridgeTransferHandleValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferHandleValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferHandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferHandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferHandleValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferHandleValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferHandleValueTransfer represents a HandleValueTransfer event raised by the BridgeTransfer contract. type BridgeTransferHandleValueTransfer struct { RequestTxHash [32]byte TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int HandleNonce uint64 LowerHandleNonce uint64 ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterHandleValueTransfer is a free log retrieval operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_BridgeTransfer *BridgeTransferFilterer) FilterHandleValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeTransferHandleValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransfer.contract.FilterLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeTransferHandleValueTransferIterator{contract: _BridgeTransfer.contract, event: "HandleValueTransfer", logs: logs, sub: sub}, nil } // WatchHandleValueTransfer is a free log subscription operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_BridgeTransfer *BridgeTransferFilterer) WatchHandleValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeTransferHandleValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransfer.contract.WatchLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferHandleValueTransfer) if err := _BridgeTransfer.contract.UnpackLog(event, "HandleValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYFeeChangedIterator is returned from FilterKLAYFeeChanged and is used to iterate over the raw logs and unpacked data for KLAYFeeChanged events raised by the BridgeTransfer contract. type BridgeTransferKLAYFeeChangedIterator struct { Event *BridgeTransferKLAYFeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYFeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYFeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYFeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYFeeChanged represents a KLAYFeeChanged event raised by the BridgeTransfer contract. type BridgeTransferKLAYFeeChanged struct { Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterKLAYFeeChanged is a free log retrieval operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeTransfer *BridgeTransferFilterer) FilterKLAYFeeChanged(opts *bind.FilterOpts, fee []*big.Int) (*BridgeTransferKLAYFeeChangedIterator, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransfer.contract.FilterLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return &BridgeTransferKLAYFeeChangedIterator{contract: _BridgeTransfer.contract, event: "KLAYFeeChanged", logs: logs, sub: sub}, nil } // WatchKLAYFeeChanged is a free log subscription operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeTransfer *BridgeTransferFilterer) WatchKLAYFeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYFeeChanged, fee []*big.Int) (event.Subscription, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransfer.contract.WatchLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYFeeChanged) if err := _BridgeTransfer.contract.UnpackLog(event, "KLAYFeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the BridgeTransfer contract. type BridgeTransferOwnershipTransferredIterator struct { Event *BridgeTransferOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferOwnershipTransferred represents a OwnershipTransferred event raised by the BridgeTransfer contract. type BridgeTransferOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTransfer *BridgeTransferFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeTransferOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTransfer.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &BridgeTransferOwnershipTransferredIterator{contract: _BridgeTransfer.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTransfer *BridgeTransferFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeTransferOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTransfer.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferOwnershipTransferred) if err := _BridgeTransfer.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferRequestValueTransferIterator is returned from FilterRequestValueTransfer and is used to iterate over the raw logs and unpacked data for RequestValueTransfer events raised by the BridgeTransfer contract. type BridgeTransferRequestValueTransferIterator struct { Event *BridgeTransferRequestValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferRequestValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferRequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferRequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferRequestValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferRequestValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferRequestValueTransfer represents a RequestValueTransfer event raised by the BridgeTransfer contract. type BridgeTransferRequestValueTransfer struct { TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int RequestNonce uint64 Fee *big.Int ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterRequestValueTransfer is a free log retrieval operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_BridgeTransfer *BridgeTransferFilterer) FilterRequestValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeTransferRequestValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransfer.contract.FilterLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeTransferRequestValueTransferIterator{contract: _BridgeTransfer.contract, event: "RequestValueTransfer", logs: logs, sub: sub}, nil } // WatchRequestValueTransfer is a free log subscription operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_BridgeTransfer *BridgeTransferFilterer) WatchRequestValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeTransferRequestValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransfer.contract.WatchLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferRequestValueTransfer) if err := _BridgeTransfer.contract.UnpackLog(event, "RequestValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20ABI is the input ABI used to generate the binding from. const BridgeTransferERC20ABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"lockToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"handleNoncesToBlockNums\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"operators\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_feeLimit\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestERC20Transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_requestNonce\",\"type\":\"uint64\"}],\"name\":\"setERC20Fee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"registerOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_OPERATOR\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredTokenList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_requestTxHash\",\"type\":\"bytes32\"},{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_requestedNonce\",\"type\":\"uint64\"},{\"name\":\"_requestedBlockNumber\",\"type\":\"uint64\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"handleERC20Transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"registerToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"feeOfERC20\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"indexOfTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lowerHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"upperHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"operatorThresholds\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"modeMintBurn\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"requestNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"handledRequestTx\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"registeredTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"closedValueTransferVotes\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"recoveryBlockNumber\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"unlockToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"configurationNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOperatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"deregisterToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeOfKLAY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_status\",\"type\":\"bool\"}],\"name\":\"start\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"operatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"deregisterOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getRegisteredTokenList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_voteType\",\"type\":\"uint8\"},{\"name\":\"_threshold\",\"type\":\"uint8\"}],\"name\":\"setOperatorThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_feeReceiver\",\"type\":\"address\"}],\"name\":\"setFeeReceiver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_feeLimit\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"onERC20Received\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"requestNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"RequestValueTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"requestTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"handleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"lowerHandleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"HandleValueTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenUnlocked\",\"type\":\"event\"},{\"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\":\"fee\",\"type\":\"uint256\"}],\"name\":\"KLAYFeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"ERC20FeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"feeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverChanged\",\"type\":\"event\"}]" // BridgeTransferERC20BinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeTransferERC20BinRuntime = `0x` // BridgeTransferERC20Bin is the compiled bytecode used for deploying new contracts. const BridgeTransferERC20Bin = `0x` // DeployBridgeTransferERC20 deploys a new Klaytn contract, binding an instance of BridgeTransferERC20 to it. func DeployBridgeTransferERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BridgeTransferERC20, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTransferERC20ABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeTransferERC20Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeTransferERC20{BridgeTransferERC20Caller: BridgeTransferERC20Caller{contract: contract}, BridgeTransferERC20Transactor: BridgeTransferERC20Transactor{contract: contract}, BridgeTransferERC20Filterer: BridgeTransferERC20Filterer{contract: contract}}, nil } // BridgeTransferERC20 is an auto generated Go binding around a Klaytn contract. type BridgeTransferERC20 struct { BridgeTransferERC20Caller // Read-only binding to the contract BridgeTransferERC20Transactor // Write-only binding to the contract BridgeTransferERC20Filterer // Log filterer for contract events } // BridgeTransferERC20Caller is an auto generated read-only Go binding around a Klaytn contract. type BridgeTransferERC20Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferERC20Transactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeTransferERC20Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferERC20Filterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeTransferERC20Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferERC20Session is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeTransferERC20Session struct { Contract *BridgeTransferERC20 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTransferERC20CallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeTransferERC20CallerSession struct { Contract *BridgeTransferERC20Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeTransferERC20TransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeTransferERC20TransactorSession struct { Contract *BridgeTransferERC20Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTransferERC20Raw is an auto generated low-level Go binding around a Klaytn contract. type BridgeTransferERC20Raw struct { Contract *BridgeTransferERC20 // Generic contract binding to access the raw methods on } // BridgeTransferERC20CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeTransferERC20CallerRaw struct { Contract *BridgeTransferERC20Caller // Generic read-only contract binding to access the raw methods on } // BridgeTransferERC20TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeTransferERC20TransactorRaw struct { Contract *BridgeTransferERC20Transactor // Generic write-only contract binding to access the raw methods on } // NewBridgeTransferERC20 creates a new instance of BridgeTransferERC20, bound to a specific deployed contract. func NewBridgeTransferERC20(address common.Address, backend bind.ContractBackend) (*BridgeTransferERC20, error) { contract, err := bindBridgeTransferERC20(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeTransferERC20{BridgeTransferERC20Caller: BridgeTransferERC20Caller{contract: contract}, BridgeTransferERC20Transactor: BridgeTransferERC20Transactor{contract: contract}, BridgeTransferERC20Filterer: BridgeTransferERC20Filterer{contract: contract}}, nil } // NewBridgeTransferERC20Caller creates a new read-only instance of BridgeTransferERC20, bound to a specific deployed contract. func NewBridgeTransferERC20Caller(address common.Address, caller bind.ContractCaller) (*BridgeTransferERC20Caller, error) { contract, err := bindBridgeTransferERC20(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeTransferERC20Caller{contract: contract}, nil } // NewBridgeTransferERC20Transactor creates a new write-only instance of BridgeTransferERC20, bound to a specific deployed contract. func NewBridgeTransferERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*BridgeTransferERC20Transactor, error) { contract, err := bindBridgeTransferERC20(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeTransferERC20Transactor{contract: contract}, nil } // NewBridgeTransferERC20Filterer creates a new log filterer instance of BridgeTransferERC20, bound to a specific deployed contract. func NewBridgeTransferERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*BridgeTransferERC20Filterer, error) { contract, err := bindBridgeTransferERC20(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeTransferERC20Filterer{contract: contract}, nil } // bindBridgeTransferERC20 binds a generic wrapper to an already deployed contract. func bindBridgeTransferERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTransferERC20ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTransferERC20 *BridgeTransferERC20Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTransferERC20.Contract.BridgeTransferERC20Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTransferERC20 *BridgeTransferERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.BridgeTransferERC20Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTransferERC20 *BridgeTransferERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.BridgeTransferERC20Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTransferERC20 *BridgeTransferERC20CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTransferERC20.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTransferERC20 *BridgeTransferERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTransferERC20 *BridgeTransferERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.contract.Transact(opts, method, params...) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) MAXOPERATOR(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "MAX_OPERATOR") return *ret0, err } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Session) MAXOPERATOR() (uint64, error) { return _BridgeTransferERC20.Contract.MAXOPERATOR(&_BridgeTransferERC20.CallOpts) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) MAXOPERATOR() (uint64, error) { return _BridgeTransferERC20.Contract.MAXOPERATOR(&_BridgeTransferERC20.CallOpts) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) ClosedValueTransferVotes(opts *bind.CallOpts, arg0 uint64) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "closedValueTransferVotes", arg0) return *ret0, err } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Session) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeTransferERC20.Contract.ClosedValueTransferVotes(&_BridgeTransferERC20.CallOpts, arg0) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeTransferERC20.Contract.ClosedValueTransferVotes(&_BridgeTransferERC20.CallOpts, arg0) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) ConfigurationNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "configurationNonce") return *ret0, err } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Session) ConfigurationNonce() (uint64, error) { return _BridgeTransferERC20.Contract.ConfigurationNonce(&_BridgeTransferERC20.CallOpts) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) ConfigurationNonce() (uint64, error) { return _BridgeTransferERC20.Contract.ConfigurationNonce(&_BridgeTransferERC20.CallOpts) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) FeeOfERC20(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "feeOfERC20", arg0) return *ret0, err } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Session) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeTransferERC20.Contract.FeeOfERC20(&_BridgeTransferERC20.CallOpts, arg0) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeTransferERC20.Contract.FeeOfERC20(&_BridgeTransferERC20.CallOpts, arg0) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) FeeOfKLAY(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "feeOfKLAY") return *ret0, err } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Session) FeeOfKLAY() (*big.Int, error) { return _BridgeTransferERC20.Contract.FeeOfKLAY(&_BridgeTransferERC20.CallOpts) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) FeeOfKLAY() (*big.Int, error) { return _BridgeTransferERC20.Contract.FeeOfKLAY(&_BridgeTransferERC20.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) FeeReceiver(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "feeReceiver") return *ret0, err } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Session) FeeReceiver() (common.Address, error) { return _BridgeTransferERC20.Contract.FeeReceiver(&_BridgeTransferERC20.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) FeeReceiver() (common.Address, error) { return _BridgeTransferERC20.Contract.FeeReceiver(&_BridgeTransferERC20.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) GetOperatorList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "getOperatorList") return *ret0, err } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferERC20 *BridgeTransferERC20Session) GetOperatorList() ([]common.Address, error) { return _BridgeTransferERC20.Contract.GetOperatorList(&_BridgeTransferERC20.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) GetOperatorList() ([]common.Address, error) { return _BridgeTransferERC20.Contract.GetOperatorList(&_BridgeTransferERC20.CallOpts) } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) GetRegisteredTokenList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "getRegisteredTokenList") return *ret0, err } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTransferERC20 *BridgeTransferERC20Session) GetRegisteredTokenList() ([]common.Address, error) { return _BridgeTransferERC20.Contract.GetRegisteredTokenList(&_BridgeTransferERC20.CallOpts) } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) GetRegisteredTokenList() ([]common.Address, error) { return _BridgeTransferERC20.Contract.GetRegisteredTokenList(&_BridgeTransferERC20.CallOpts) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) HandleNoncesToBlockNums(opts *bind.CallOpts, arg0 uint64) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "handleNoncesToBlockNums", arg0) return *ret0, err } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Session) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _BridgeTransferERC20.Contract.HandleNoncesToBlockNums(&_BridgeTransferERC20.CallOpts, arg0) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _BridgeTransferERC20.Contract.HandleNoncesToBlockNums(&_BridgeTransferERC20.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) HandledRequestTx(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "handledRequestTx", arg0) return *ret0, err } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Session) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeTransferERC20.Contract.HandledRequestTx(&_BridgeTransferERC20.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeTransferERC20.Contract.HandledRequestTx(&_BridgeTransferERC20.CallOpts, arg0) } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) IndexOfTokens(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "indexOfTokens", arg0) return *ret0, err } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Session) IndexOfTokens(arg0 common.Address) (*big.Int, error) { return _BridgeTransferERC20.Contract.IndexOfTokens(&_BridgeTransferERC20.CallOpts, arg0) } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) IndexOfTokens(arg0 common.Address) (*big.Int, error) { return _BridgeTransferERC20.Contract.IndexOfTokens(&_BridgeTransferERC20.CallOpts, arg0) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Session) IsOwner() (bool, error) { return _BridgeTransferERC20.Contract.IsOwner(&_BridgeTransferERC20.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) IsOwner() (bool, error) { return _BridgeTransferERC20.Contract.IsOwner(&_BridgeTransferERC20.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) IsRunning(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "isRunning") return *ret0, err } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Session) IsRunning() (bool, error) { return _BridgeTransferERC20.Contract.IsRunning(&_BridgeTransferERC20.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) IsRunning() (bool, error) { return _BridgeTransferERC20.Contract.IsRunning(&_BridgeTransferERC20.CallOpts) } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) LockedTokens(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "lockedTokens", arg0) return *ret0, err } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Session) LockedTokens(arg0 common.Address) (bool, error) { return _BridgeTransferERC20.Contract.LockedTokens(&_BridgeTransferERC20.CallOpts, arg0) } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) LockedTokens(arg0 common.Address) (bool, error) { return _BridgeTransferERC20.Contract.LockedTokens(&_BridgeTransferERC20.CallOpts, arg0) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) LowerHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "lowerHandleNonce") return *ret0, err } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Session) LowerHandleNonce() (uint64, error) { return _BridgeTransferERC20.Contract.LowerHandleNonce(&_BridgeTransferERC20.CallOpts) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) LowerHandleNonce() (uint64, error) { return _BridgeTransferERC20.Contract.LowerHandleNonce(&_BridgeTransferERC20.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) ModeMintBurn(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "modeMintBurn") return *ret0, err } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Session) ModeMintBurn() (bool, error) { return _BridgeTransferERC20.Contract.ModeMintBurn(&_BridgeTransferERC20.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) ModeMintBurn() (bool, error) { return _BridgeTransferERC20.Contract.ModeMintBurn(&_BridgeTransferERC20.CallOpts) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) OperatorList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "operatorList", arg0) return *ret0, err } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Session) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferERC20.Contract.OperatorList(&_BridgeTransferERC20.CallOpts, arg0) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferERC20.Contract.OperatorList(&_BridgeTransferERC20.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) OperatorThresholds(opts *bind.CallOpts, arg0 uint8) (uint8, error) { var ( ret0 = new(uint8) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "operatorThresholds", arg0) return *ret0, err } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferERC20 *BridgeTransferERC20Session) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeTransferERC20.Contract.OperatorThresholds(&_BridgeTransferERC20.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeTransferERC20.Contract.OperatorThresholds(&_BridgeTransferERC20.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) Operators(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "operators", arg0) return *ret0, err } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20Session) Operators(arg0 common.Address) (bool, error) { return _BridgeTransferERC20.Contract.Operators(&_BridgeTransferERC20.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) Operators(arg0 common.Address) (bool, error) { return _BridgeTransferERC20.Contract.Operators(&_BridgeTransferERC20.CallOpts, arg0) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Session) Owner() (common.Address, error) { return _BridgeTransferERC20.Contract.Owner(&_BridgeTransferERC20.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) Owner() (common.Address, error) { return _BridgeTransferERC20.Contract.Owner(&_BridgeTransferERC20.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) RecoveryBlockNumber(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "recoveryBlockNumber") return *ret0, err } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Session) RecoveryBlockNumber() (uint64, error) { return _BridgeTransferERC20.Contract.RecoveryBlockNumber(&_BridgeTransferERC20.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) RecoveryBlockNumber() (uint64, error) { return _BridgeTransferERC20.Contract.RecoveryBlockNumber(&_BridgeTransferERC20.CallOpts) } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) RegisteredTokenList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "registeredTokenList", arg0) return *ret0, err } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Session) RegisteredTokenList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferERC20.Contract.RegisteredTokenList(&_BridgeTransferERC20.CallOpts, arg0) } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) RegisteredTokenList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferERC20.Contract.RegisteredTokenList(&_BridgeTransferERC20.CallOpts, arg0) } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) RegisteredTokens(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "registeredTokens", arg0) return *ret0, err } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20Session) RegisteredTokens(arg0 common.Address) (common.Address, error) { return _BridgeTransferERC20.Contract.RegisteredTokens(&_BridgeTransferERC20.CallOpts, arg0) } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) RegisteredTokens(arg0 common.Address) (common.Address, error) { return _BridgeTransferERC20.Contract.RegisteredTokens(&_BridgeTransferERC20.CallOpts, arg0) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) RequestNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "requestNonce") return *ret0, err } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Session) RequestNonce() (uint64, error) { return _BridgeTransferERC20.Contract.RequestNonce(&_BridgeTransferERC20.CallOpts) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) RequestNonce() (uint64, error) { return _BridgeTransferERC20.Contract.RequestNonce(&_BridgeTransferERC20.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Caller) UpperHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC20.contract.Call(opts, out, "upperHandleNonce") return *ret0, err } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20Session) UpperHandleNonce() (uint64, error) { return _BridgeTransferERC20.Contract.UpperHandleNonce(&_BridgeTransferERC20.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferERC20 *BridgeTransferERC20CallerSession) UpperHandleNonce() (uint64, error) { return _BridgeTransferERC20.Contract.UpperHandleNonce(&_BridgeTransferERC20.CallOpts) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) DeregisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "deregisterOperator", _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.DeregisterOperator(&_BridgeTransferERC20.TransactOpts, _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.DeregisterOperator(&_BridgeTransferERC20.TransactOpts, _operator) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) DeregisterToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "deregisterToken", _token) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) DeregisterToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.DeregisterToken(&_BridgeTransferERC20.TransactOpts, _token) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) DeregisterToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.DeregisterToken(&_BridgeTransferERC20.TransactOpts, _token) } // HandleERC20Transfer is a paid mutator transaction binding the contract method 0x407e6bae. // // Solidity: function handleERC20Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) HandleERC20Transfer(opts *bind.TransactOpts, _requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "handleERC20Transfer", _requestTxHash, _from, _to, _tokenAddress, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleERC20Transfer is a paid mutator transaction binding the contract method 0x407e6bae. // // Solidity: function handleERC20Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) HandleERC20Transfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.HandleERC20Transfer(&_BridgeTransferERC20.TransactOpts, _requestTxHash, _from, _to, _tokenAddress, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleERC20Transfer is a paid mutator transaction binding the contract method 0x407e6bae. // // Solidity: function handleERC20Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) HandleERC20Transfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.HandleERC20Transfer(&_BridgeTransferERC20.TransactOpts, _requestTxHash, _from, _to, _tokenAddress, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) LockToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "lockToken", _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) LockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.LockToken(&_BridgeTransferERC20.TransactOpts, _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) LockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.LockToken(&_BridgeTransferERC20.TransactOpts, _token) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) OnERC20Received(opts *bind.TransactOpts, _from common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "onERC20Received", _from, _to, _value, _feeLimit, _extraData) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) OnERC20Received(_from common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.OnERC20Received(&_BridgeTransferERC20.TransactOpts, _from, _to, _value, _feeLimit, _extraData) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) OnERC20Received(_from common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.OnERC20Received(&_BridgeTransferERC20.TransactOpts, _from, _to, _value, _feeLimit, _extraData) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) RegisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "registerOperator", _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.RegisterOperator(&_BridgeTransferERC20.TransactOpts, _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.RegisterOperator(&_BridgeTransferERC20.TransactOpts, _operator) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) RegisterToken(opts *bind.TransactOpts, _token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "registerToken", _token, _cToken) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) RegisterToken(_token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.RegisterToken(&_BridgeTransferERC20.TransactOpts, _token, _cToken) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) RegisterToken(_token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.RegisterToken(&_BridgeTransferERC20.TransactOpts, _token, _cToken) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) RenounceOwnership() (*types.Transaction, error) { return _BridgeTransferERC20.Contract.RenounceOwnership(&_BridgeTransferERC20.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeTransferERC20.Contract.RenounceOwnership(&_BridgeTransferERC20.TransactOpts) } // RequestERC20Transfer is a paid mutator transaction binding the contract method 0x26c23b54. // // Solidity: function requestERC20Transfer(_tokenAddress address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) RequestERC20Transfer(opts *bind.TransactOpts, _tokenAddress common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "requestERC20Transfer", _tokenAddress, _to, _value, _feeLimit, _extraData) } // RequestERC20Transfer is a paid mutator transaction binding the contract method 0x26c23b54. // // Solidity: function requestERC20Transfer(_tokenAddress address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) RequestERC20Transfer(_tokenAddress common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.RequestERC20Transfer(&_BridgeTransferERC20.TransactOpts, _tokenAddress, _to, _value, _feeLimit, _extraData) } // RequestERC20Transfer is a paid mutator transaction binding the contract method 0x26c23b54. // // Solidity: function requestERC20Transfer(_tokenAddress address, _to address, _value uint256, _feeLimit uint256, _extraData bytes) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) RequestERC20Transfer(_tokenAddress common.Address, _to common.Address, _value *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.RequestERC20Transfer(&_BridgeTransferERC20.TransactOpts, _tokenAddress, _to, _value, _feeLimit, _extraData) } // SetERC20Fee is a paid mutator transaction binding the contract method 0x2f88396c. // // Solidity: function setERC20Fee(_token address, _fee uint256, _requestNonce uint64) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) SetERC20Fee(opts *bind.TransactOpts, _token common.Address, _fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "setERC20Fee", _token, _fee, _requestNonce) } // SetERC20Fee is a paid mutator transaction binding the contract method 0x2f88396c. // // Solidity: function setERC20Fee(_token address, _fee uint256, _requestNonce uint64) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) SetERC20Fee(_token common.Address, _fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.SetERC20Fee(&_BridgeTransferERC20.TransactOpts, _token, _fee, _requestNonce) } // SetERC20Fee is a paid mutator transaction binding the contract method 0x2f88396c. // // Solidity: function setERC20Fee(_token address, _fee uint256, _requestNonce uint64) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) SetERC20Fee(_token common.Address, _fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.SetERC20Fee(&_BridgeTransferERC20.TransactOpts, _token, _fee, _requestNonce) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) SetFeeReceiver(opts *bind.TransactOpts, _feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "setFeeReceiver", _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.SetFeeReceiver(&_BridgeTransferERC20.TransactOpts, _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.SetFeeReceiver(&_BridgeTransferERC20.TransactOpts, _feeReceiver) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) SetOperatorThreshold(opts *bind.TransactOpts, _voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "setOperatorThreshold", _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.SetOperatorThreshold(&_BridgeTransferERC20.TransactOpts, _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.SetOperatorThreshold(&_BridgeTransferERC20.TransactOpts, _voteType, _threshold) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) Start(opts *bind.TransactOpts, _status bool) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "start", _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) Start(_status bool) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.Start(&_BridgeTransferERC20.TransactOpts, _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) Start(_status bool) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.Start(&_BridgeTransferERC20.TransactOpts, _status) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.TransferOwnership(&_BridgeTransferERC20.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.TransferOwnership(&_BridgeTransferERC20.TransactOpts, newOwner) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Transactor) UnlockToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.contract.Transact(opts, "unlockToken", _token) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20Session) UnlockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.UnlockToken(&_BridgeTransferERC20.TransactOpts, _token) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTransferERC20 *BridgeTransferERC20TransactorSession) UnlockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC20.Contract.UnlockToken(&_BridgeTransferERC20.TransactOpts, _token) } // BridgeTransferERC20ERC20FeeChangedIterator is returned from FilterERC20FeeChanged and is used to iterate over the raw logs and unpacked data for ERC20FeeChanged events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20ERC20FeeChangedIterator struct { Event *BridgeTransferERC20ERC20FeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20ERC20FeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20ERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20ERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20ERC20FeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20ERC20FeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20ERC20FeeChanged represents a ERC20FeeChanged event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20ERC20FeeChanged struct { Token common.Address Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterERC20FeeChanged is a free log retrieval operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterERC20FeeChanged(opts *bind.FilterOpts, token []common.Address, fee []*big.Int) (*BridgeTransferERC20ERC20FeeChangedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return &BridgeTransferERC20ERC20FeeChangedIterator{contract: _BridgeTransferERC20.contract, event: "ERC20FeeChanged", logs: logs, sub: sub}, nil } // WatchERC20FeeChanged is a free log subscription operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchERC20FeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20ERC20FeeChanged, token []common.Address, fee []*big.Int) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20ERC20FeeChanged) if err := _BridgeTransferERC20.contract.UnpackLog(event, "ERC20FeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20FeeReceiverChangedIterator is returned from FilterFeeReceiverChanged and is used to iterate over the raw logs and unpacked data for FeeReceiverChanged events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20FeeReceiverChangedIterator struct { Event *BridgeTransferERC20FeeReceiverChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20FeeReceiverChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20FeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20FeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20FeeReceiverChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20FeeReceiverChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20FeeReceiverChanged represents a FeeReceiverChanged event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20FeeReceiverChanged struct { FeeReceiver common.Address Raw types.Log // Blockchain specific contextual infos } // FilterFeeReceiverChanged is a free log retrieval operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterFeeReceiverChanged(opts *bind.FilterOpts, feeReceiver []common.Address) (*BridgeTransferERC20FeeReceiverChangedIterator, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return &BridgeTransferERC20FeeReceiverChangedIterator{contract: _BridgeTransferERC20.contract, event: "FeeReceiverChanged", logs: logs, sub: sub}, nil } // WatchFeeReceiverChanged is a free log subscription operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchFeeReceiverChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20FeeReceiverChanged, feeReceiver []common.Address) (event.Subscription, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20FeeReceiverChanged) if err := _BridgeTransferERC20.contract.UnpackLog(event, "FeeReceiverChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20HandleValueTransferIterator is returned from FilterHandleValueTransfer and is used to iterate over the raw logs and unpacked data for HandleValueTransfer events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20HandleValueTransferIterator struct { Event *BridgeTransferERC20HandleValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20HandleValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20HandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20HandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20HandleValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20HandleValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20HandleValueTransfer represents a HandleValueTransfer event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20HandleValueTransfer struct { RequestTxHash [32]byte TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int HandleNonce uint64 LowerHandleNonce uint64 ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterHandleValueTransfer is a free log retrieval operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterHandleValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeTransferERC20HandleValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeTransferERC20HandleValueTransferIterator{contract: _BridgeTransferERC20.contract, event: "HandleValueTransfer", logs: logs, sub: sub}, nil } // WatchHandleValueTransfer is a free log subscription operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchHandleValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20HandleValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20HandleValueTransfer) if err := _BridgeTransferERC20.contract.UnpackLog(event, "HandleValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20KLAYFeeChangedIterator is returned from FilterKLAYFeeChanged and is used to iterate over the raw logs and unpacked data for KLAYFeeChanged events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20KLAYFeeChangedIterator struct { Event *BridgeTransferERC20KLAYFeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20KLAYFeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20KLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20KLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20KLAYFeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20KLAYFeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20KLAYFeeChanged represents a KLAYFeeChanged event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20KLAYFeeChanged struct { Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterKLAYFeeChanged is a free log retrieval operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterKLAYFeeChanged(opts *bind.FilterOpts, fee []*big.Int) (*BridgeTransferERC20KLAYFeeChangedIterator, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return &BridgeTransferERC20KLAYFeeChangedIterator{contract: _BridgeTransferERC20.contract, event: "KLAYFeeChanged", logs: logs, sub: sub}, nil } // WatchKLAYFeeChanged is a free log subscription operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchKLAYFeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20KLAYFeeChanged, fee []*big.Int) (event.Subscription, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20KLAYFeeChanged) if err := _BridgeTransferERC20.contract.UnpackLog(event, "KLAYFeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20OwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20OwnershipTransferredIterator struct { Event *BridgeTransferERC20OwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20OwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20OwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20OwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20OwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20OwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20OwnershipTransferred represents a OwnershipTransferred event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20OwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeTransferERC20OwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &BridgeTransferERC20OwnershipTransferredIterator{contract: _BridgeTransferERC20.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20OwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20OwnershipTransferred) if err := _BridgeTransferERC20.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20RequestValueTransferIterator is returned from FilterRequestValueTransfer and is used to iterate over the raw logs and unpacked data for RequestValueTransfer events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20RequestValueTransferIterator struct { Event *BridgeTransferERC20RequestValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20RequestValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20RequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20RequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20RequestValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20RequestValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20RequestValueTransfer represents a RequestValueTransfer event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20RequestValueTransfer struct { TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int RequestNonce uint64 Fee *big.Int ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterRequestValueTransfer is a free log retrieval operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterRequestValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeTransferERC20RequestValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeTransferERC20RequestValueTransferIterator{contract: _BridgeTransferERC20.contract, event: "RequestValueTransfer", logs: logs, sub: sub}, nil } // WatchRequestValueTransfer is a free log subscription operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchRequestValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20RequestValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20RequestValueTransfer) if err := _BridgeTransferERC20.contract.UnpackLog(event, "RequestValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20TokenDeregisteredIterator is returned from FilterTokenDeregistered and is used to iterate over the raw logs and unpacked data for TokenDeregistered events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20TokenDeregisteredIterator struct { Event *BridgeTransferERC20TokenDeregistered // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20TokenDeregisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20TokenDeregistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20TokenDeregistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20TokenDeregisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20TokenDeregisteredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20TokenDeregistered represents a TokenDeregistered event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20TokenDeregistered struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenDeregistered is a free log retrieval operation binding the contract event 0x1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b6. // // Solidity: e TokenDeregistered(token indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterTokenDeregistered(opts *bind.FilterOpts, token []common.Address) (*BridgeTransferERC20TokenDeregisteredIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "TokenDeregistered", tokenRule) if err != nil { return nil, err } return &BridgeTransferERC20TokenDeregisteredIterator{contract: _BridgeTransferERC20.contract, event: "TokenDeregistered", logs: logs, sub: sub}, nil } // WatchTokenDeregistered is a free log subscription operation binding the contract event 0x1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b6. // // Solidity: e TokenDeregistered(token indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchTokenDeregistered(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20TokenDeregistered, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "TokenDeregistered", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20TokenDeregistered) if err := _BridgeTransferERC20.contract.UnpackLog(event, "TokenDeregistered", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20TokenLockedIterator is returned from FilterTokenLocked and is used to iterate over the raw logs and unpacked data for TokenLocked events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20TokenLockedIterator struct { Event *BridgeTransferERC20TokenLocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20TokenLockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20TokenLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20TokenLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20TokenLockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20TokenLockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20TokenLocked represents a TokenLocked event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20TokenLocked struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenLocked is a free log retrieval operation binding the contract event 0xca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd7. // // Solidity: e TokenLocked(token indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterTokenLocked(opts *bind.FilterOpts, token []common.Address) (*BridgeTransferERC20TokenLockedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "TokenLocked", tokenRule) if err != nil { return nil, err } return &BridgeTransferERC20TokenLockedIterator{contract: _BridgeTransferERC20.contract, event: "TokenLocked", logs: logs, sub: sub}, nil } // WatchTokenLocked is a free log subscription operation binding the contract event 0xca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd7. // // Solidity: e TokenLocked(token indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchTokenLocked(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20TokenLocked, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "TokenLocked", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20TokenLocked) if err := _BridgeTransferERC20.contract.UnpackLog(event, "TokenLocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20TokenRegisteredIterator is returned from FilterTokenRegistered and is used to iterate over the raw logs and unpacked data for TokenRegistered events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20TokenRegisteredIterator struct { Event *BridgeTransferERC20TokenRegistered // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20TokenRegisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20TokenRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20TokenRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20TokenRegisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20TokenRegisteredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20TokenRegistered represents a TokenRegistered event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20TokenRegistered struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenRegistered is a free log retrieval operation binding the contract event 0x158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d. // // Solidity: e TokenRegistered(token indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterTokenRegistered(opts *bind.FilterOpts, token []common.Address) (*BridgeTransferERC20TokenRegisteredIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "TokenRegistered", tokenRule) if err != nil { return nil, err } return &BridgeTransferERC20TokenRegisteredIterator{contract: _BridgeTransferERC20.contract, event: "TokenRegistered", logs: logs, sub: sub}, nil } // WatchTokenRegistered is a free log subscription operation binding the contract event 0x158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d. // // Solidity: e TokenRegistered(token indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchTokenRegistered(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20TokenRegistered, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "TokenRegistered", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20TokenRegistered) if err := _BridgeTransferERC20.contract.UnpackLog(event, "TokenRegistered", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC20TokenUnlockedIterator is returned from FilterTokenUnlocked and is used to iterate over the raw logs and unpacked data for TokenUnlocked events raised by the BridgeTransferERC20 contract. type BridgeTransferERC20TokenUnlockedIterator struct { Event *BridgeTransferERC20TokenUnlocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC20TokenUnlockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC20TokenUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC20TokenUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC20TokenUnlockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC20TokenUnlockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC20TokenUnlocked represents a TokenUnlocked event raised by the BridgeTransferERC20 contract. type BridgeTransferERC20TokenUnlocked struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenUnlocked is a free log retrieval operation binding the contract event 0x81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec. // // Solidity: e TokenUnlocked(token indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) FilterTokenUnlocked(opts *bind.FilterOpts, token []common.Address) (*BridgeTransferERC20TokenUnlockedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC20.contract.FilterLogs(opts, "TokenUnlocked", tokenRule) if err != nil { return nil, err } return &BridgeTransferERC20TokenUnlockedIterator{contract: _BridgeTransferERC20.contract, event: "TokenUnlocked", logs: logs, sub: sub}, nil } // WatchTokenUnlocked is a free log subscription operation binding the contract event 0x81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec. // // Solidity: e TokenUnlocked(token indexed address) func (_BridgeTransferERC20 *BridgeTransferERC20Filterer) WatchTokenUnlocked(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC20TokenUnlocked, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC20.contract.WatchLogs(opts, "TokenUnlocked", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC20TokenUnlocked) if err := _BridgeTransferERC20.contract.UnpackLog(event, "TokenUnlocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721ABI is the input ABI used to generate the binding from. const BridgeTransferERC721ABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"lockToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"handleNoncesToBlockNums\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"operators\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestERC721Transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"registerOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_OPERATOR\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredTokenList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"registerToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"feeOfERC20\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"indexOfTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lowerHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"upperHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"operatorThresholds\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"modeMintBurn\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"requestNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"handledRequestTx\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"registeredTokens\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"closedValueTransferVotes\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"recoveryBlockNumber\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"unlockToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"configurationNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_requestTxHash\",\"type\":\"bytes32\"},{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_requestedNonce\",\"type\":\"uint64\"},{\"name\":\"_requestedBlockNumber\",\"type\":\"uint64\"},{\"name\":\"_tokenURI\",\"type\":\"string\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"handleERC721Transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOperatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"deregisterToken\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeOfKLAY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_status\",\"type\":\"bool\"}],\"name\":\"start\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"operatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"deregisterOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getRegisteredTokenList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_voteType\",\"type\":\"uint8\"},{\"name\":\"_threshold\",\"type\":\"uint8\"}],\"name\":\"setOperatorThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_feeReceiver\",\"type\":\"address\"}],\"name\":\"setFeeReceiver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"requestNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"RequestValueTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"requestTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"handleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"lowerHandleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"HandleValueTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenUnlocked\",\"type\":\"event\"},{\"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\":\"fee\",\"type\":\"uint256\"}],\"name\":\"KLAYFeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"ERC20FeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"feeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverChanged\",\"type\":\"event\"}]" // BridgeTransferERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeTransferERC721BinRuntime = `0x` // BridgeTransferERC721Bin is the compiled bytecode used for deploying new contracts. const BridgeTransferERC721Bin = `0x` // DeployBridgeTransferERC721 deploys a new Klaytn contract, binding an instance of BridgeTransferERC721 to it. func DeployBridgeTransferERC721(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BridgeTransferERC721, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTransferERC721ABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeTransferERC721Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeTransferERC721{BridgeTransferERC721Caller: BridgeTransferERC721Caller{contract: contract}, BridgeTransferERC721Transactor: BridgeTransferERC721Transactor{contract: contract}, BridgeTransferERC721Filterer: BridgeTransferERC721Filterer{contract: contract}}, nil } // BridgeTransferERC721 is an auto generated Go binding around a Klaytn contract. type BridgeTransferERC721 struct { BridgeTransferERC721Caller // Read-only binding to the contract BridgeTransferERC721Transactor // Write-only binding to the contract BridgeTransferERC721Filterer // Log filterer for contract events } // BridgeTransferERC721Caller is an auto generated read-only Go binding around a Klaytn contract. type BridgeTransferERC721Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeTransferERC721Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeTransferERC721Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferERC721Session is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeTransferERC721Session struct { Contract *BridgeTransferERC721 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTransferERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeTransferERC721CallerSession struct { Contract *BridgeTransferERC721Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeTransferERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeTransferERC721TransactorSession struct { Contract *BridgeTransferERC721Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTransferERC721Raw is an auto generated low-level Go binding around a Klaytn contract. type BridgeTransferERC721Raw struct { Contract *BridgeTransferERC721 // Generic contract binding to access the raw methods on } // BridgeTransferERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeTransferERC721CallerRaw struct { Contract *BridgeTransferERC721Caller // Generic read-only contract binding to access the raw methods on } // BridgeTransferERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeTransferERC721TransactorRaw struct { Contract *BridgeTransferERC721Transactor // Generic write-only contract binding to access the raw methods on } // NewBridgeTransferERC721 creates a new instance of BridgeTransferERC721, bound to a specific deployed contract. func NewBridgeTransferERC721(address common.Address, backend bind.ContractBackend) (*BridgeTransferERC721, error) { contract, err := bindBridgeTransferERC721(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeTransferERC721{BridgeTransferERC721Caller: BridgeTransferERC721Caller{contract: contract}, BridgeTransferERC721Transactor: BridgeTransferERC721Transactor{contract: contract}, BridgeTransferERC721Filterer: BridgeTransferERC721Filterer{contract: contract}}, nil } // NewBridgeTransferERC721Caller creates a new read-only instance of BridgeTransferERC721, bound to a specific deployed contract. func NewBridgeTransferERC721Caller(address common.Address, caller bind.ContractCaller) (*BridgeTransferERC721Caller, error) { contract, err := bindBridgeTransferERC721(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeTransferERC721Caller{contract: contract}, nil } // NewBridgeTransferERC721Transactor creates a new write-only instance of BridgeTransferERC721, bound to a specific deployed contract. func NewBridgeTransferERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*BridgeTransferERC721Transactor, error) { contract, err := bindBridgeTransferERC721(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeTransferERC721Transactor{contract: contract}, nil } // NewBridgeTransferERC721Filterer creates a new log filterer instance of BridgeTransferERC721, bound to a specific deployed contract. func NewBridgeTransferERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*BridgeTransferERC721Filterer, error) { contract, err := bindBridgeTransferERC721(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeTransferERC721Filterer{contract: contract}, nil } // bindBridgeTransferERC721 binds a generic wrapper to an already deployed contract. func bindBridgeTransferERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTransferERC721ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTransferERC721 *BridgeTransferERC721Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTransferERC721.Contract.BridgeTransferERC721Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTransferERC721 *BridgeTransferERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.BridgeTransferERC721Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTransferERC721 *BridgeTransferERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.BridgeTransferERC721Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTransferERC721 *BridgeTransferERC721CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTransferERC721.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTransferERC721 *BridgeTransferERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTransferERC721 *BridgeTransferERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.contract.Transact(opts, method, params...) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) MAXOPERATOR(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "MAX_OPERATOR") return *ret0, err } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Session) MAXOPERATOR() (uint64, error) { return _BridgeTransferERC721.Contract.MAXOPERATOR(&_BridgeTransferERC721.CallOpts) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) MAXOPERATOR() (uint64, error) { return _BridgeTransferERC721.Contract.MAXOPERATOR(&_BridgeTransferERC721.CallOpts) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) ClosedValueTransferVotes(opts *bind.CallOpts, arg0 uint64) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "closedValueTransferVotes", arg0) return *ret0, err } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Session) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeTransferERC721.Contract.ClosedValueTransferVotes(&_BridgeTransferERC721.CallOpts, arg0) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeTransferERC721.Contract.ClosedValueTransferVotes(&_BridgeTransferERC721.CallOpts, arg0) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) ConfigurationNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "configurationNonce") return *ret0, err } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Session) ConfigurationNonce() (uint64, error) { return _BridgeTransferERC721.Contract.ConfigurationNonce(&_BridgeTransferERC721.CallOpts) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) ConfigurationNonce() (uint64, error) { return _BridgeTransferERC721.Contract.ConfigurationNonce(&_BridgeTransferERC721.CallOpts) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) FeeOfERC20(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "feeOfERC20", arg0) return *ret0, err } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Session) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeTransferERC721.Contract.FeeOfERC20(&_BridgeTransferERC721.CallOpts, arg0) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeTransferERC721.Contract.FeeOfERC20(&_BridgeTransferERC721.CallOpts, arg0) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) FeeOfKLAY(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "feeOfKLAY") return *ret0, err } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Session) FeeOfKLAY() (*big.Int, error) { return _BridgeTransferERC721.Contract.FeeOfKLAY(&_BridgeTransferERC721.CallOpts) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) FeeOfKLAY() (*big.Int, error) { return _BridgeTransferERC721.Contract.FeeOfKLAY(&_BridgeTransferERC721.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) FeeReceiver(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "feeReceiver") return *ret0, err } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Session) FeeReceiver() (common.Address, error) { return _BridgeTransferERC721.Contract.FeeReceiver(&_BridgeTransferERC721.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) FeeReceiver() (common.Address, error) { return _BridgeTransferERC721.Contract.FeeReceiver(&_BridgeTransferERC721.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) GetOperatorList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "getOperatorList") return *ret0, err } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferERC721 *BridgeTransferERC721Session) GetOperatorList() ([]common.Address, error) { return _BridgeTransferERC721.Contract.GetOperatorList(&_BridgeTransferERC721.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) GetOperatorList() ([]common.Address, error) { return _BridgeTransferERC721.Contract.GetOperatorList(&_BridgeTransferERC721.CallOpts) } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) GetRegisteredTokenList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "getRegisteredTokenList") return *ret0, err } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTransferERC721 *BridgeTransferERC721Session) GetRegisteredTokenList() ([]common.Address, error) { return _BridgeTransferERC721.Contract.GetRegisteredTokenList(&_BridgeTransferERC721.CallOpts) } // GetRegisteredTokenList is a free data retrieval call binding the contract method 0xea21eade. // // Solidity: function getRegisteredTokenList() constant returns(address[]) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) GetRegisteredTokenList() ([]common.Address, error) { return _BridgeTransferERC721.Contract.GetRegisteredTokenList(&_BridgeTransferERC721.CallOpts) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) HandleNoncesToBlockNums(opts *bind.CallOpts, arg0 uint64) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "handleNoncesToBlockNums", arg0) return *ret0, err } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Session) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _BridgeTransferERC721.Contract.HandleNoncesToBlockNums(&_BridgeTransferERC721.CallOpts, arg0) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _BridgeTransferERC721.Contract.HandleNoncesToBlockNums(&_BridgeTransferERC721.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) HandledRequestTx(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "handledRequestTx", arg0) return *ret0, err } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Session) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeTransferERC721.Contract.HandledRequestTx(&_BridgeTransferERC721.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeTransferERC721.Contract.HandledRequestTx(&_BridgeTransferERC721.CallOpts, arg0) } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) IndexOfTokens(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "indexOfTokens", arg0) return *ret0, err } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Session) IndexOfTokens(arg0 common.Address) (*big.Int, error) { return _BridgeTransferERC721.Contract.IndexOfTokens(&_BridgeTransferERC721.CallOpts, arg0) } // IndexOfTokens is a free data retrieval call binding the contract method 0x48a18a6a. // // Solidity: function indexOfTokens( address) constant returns(uint256) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) IndexOfTokens(arg0 common.Address) (*big.Int, error) { return _BridgeTransferERC721.Contract.IndexOfTokens(&_BridgeTransferERC721.CallOpts, arg0) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Session) IsOwner() (bool, error) { return _BridgeTransferERC721.Contract.IsOwner(&_BridgeTransferERC721.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) IsOwner() (bool, error) { return _BridgeTransferERC721.Contract.IsOwner(&_BridgeTransferERC721.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) IsRunning(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "isRunning") return *ret0, err } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Session) IsRunning() (bool, error) { return _BridgeTransferERC721.Contract.IsRunning(&_BridgeTransferERC721.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) IsRunning() (bool, error) { return _BridgeTransferERC721.Contract.IsRunning(&_BridgeTransferERC721.CallOpts) } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) LockedTokens(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "lockedTokens", arg0) return *ret0, err } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Session) LockedTokens(arg0 common.Address) (bool, error) { return _BridgeTransferERC721.Contract.LockedTokens(&_BridgeTransferERC721.CallOpts, arg0) } // LockedTokens is a free data retrieval call binding the contract method 0x5eb7413a. // // Solidity: function lockedTokens( address) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) LockedTokens(arg0 common.Address) (bool, error) { return _BridgeTransferERC721.Contract.LockedTokens(&_BridgeTransferERC721.CallOpts, arg0) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) LowerHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "lowerHandleNonce") return *ret0, err } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Session) LowerHandleNonce() (uint64, error) { return _BridgeTransferERC721.Contract.LowerHandleNonce(&_BridgeTransferERC721.CallOpts) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) LowerHandleNonce() (uint64, error) { return _BridgeTransferERC721.Contract.LowerHandleNonce(&_BridgeTransferERC721.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) ModeMintBurn(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "modeMintBurn") return *ret0, err } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Session) ModeMintBurn() (bool, error) { return _BridgeTransferERC721.Contract.ModeMintBurn(&_BridgeTransferERC721.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) ModeMintBurn() (bool, error) { return _BridgeTransferERC721.Contract.ModeMintBurn(&_BridgeTransferERC721.CallOpts) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) OperatorList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "operatorList", arg0) return *ret0, err } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Session) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferERC721.Contract.OperatorList(&_BridgeTransferERC721.CallOpts, arg0) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferERC721.Contract.OperatorList(&_BridgeTransferERC721.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) OperatorThresholds(opts *bind.CallOpts, arg0 uint8) (uint8, error) { var ( ret0 = new(uint8) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "operatorThresholds", arg0) return *ret0, err } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferERC721 *BridgeTransferERC721Session) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeTransferERC721.Contract.OperatorThresholds(&_BridgeTransferERC721.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeTransferERC721.Contract.OperatorThresholds(&_BridgeTransferERC721.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) Operators(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "operators", arg0) return *ret0, err } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721Session) Operators(arg0 common.Address) (bool, error) { return _BridgeTransferERC721.Contract.Operators(&_BridgeTransferERC721.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) Operators(arg0 common.Address) (bool, error) { return _BridgeTransferERC721.Contract.Operators(&_BridgeTransferERC721.CallOpts, arg0) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Session) Owner() (common.Address, error) { return _BridgeTransferERC721.Contract.Owner(&_BridgeTransferERC721.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) Owner() (common.Address, error) { return _BridgeTransferERC721.Contract.Owner(&_BridgeTransferERC721.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) RecoveryBlockNumber(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "recoveryBlockNumber") return *ret0, err } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Session) RecoveryBlockNumber() (uint64, error) { return _BridgeTransferERC721.Contract.RecoveryBlockNumber(&_BridgeTransferERC721.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) RecoveryBlockNumber() (uint64, error) { return _BridgeTransferERC721.Contract.RecoveryBlockNumber(&_BridgeTransferERC721.CallOpts) } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) RegisteredTokenList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "registeredTokenList", arg0) return *ret0, err } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Session) RegisteredTokenList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferERC721.Contract.RegisteredTokenList(&_BridgeTransferERC721.CallOpts, arg0) } // RegisteredTokenList is a free data retrieval call binding the contract method 0x3e4fe949. // // Solidity: function registeredTokenList( uint256) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) RegisteredTokenList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferERC721.Contract.RegisteredTokenList(&_BridgeTransferERC721.CallOpts, arg0) } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) RegisteredTokens(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "registeredTokens", arg0) return *ret0, err } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721Session) RegisteredTokens(arg0 common.Address) (common.Address, error) { return _BridgeTransferERC721.Contract.RegisteredTokens(&_BridgeTransferERC721.CallOpts, arg0) } // RegisteredTokens is a free data retrieval call binding the contract method 0x8c0bd916. // // Solidity: function registeredTokens( address) constant returns(address) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) RegisteredTokens(arg0 common.Address) (common.Address, error) { return _BridgeTransferERC721.Contract.RegisteredTokens(&_BridgeTransferERC721.CallOpts, arg0) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) RequestNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "requestNonce") return *ret0, err } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Session) RequestNonce() (uint64, error) { return _BridgeTransferERC721.Contract.RequestNonce(&_BridgeTransferERC721.CallOpts) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) RequestNonce() (uint64, error) { return _BridgeTransferERC721.Contract.RequestNonce(&_BridgeTransferERC721.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Caller) UpperHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferERC721.contract.Call(opts, out, "upperHandleNonce") return *ret0, err } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721Session) UpperHandleNonce() (uint64, error) { return _BridgeTransferERC721.Contract.UpperHandleNonce(&_BridgeTransferERC721.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferERC721 *BridgeTransferERC721CallerSession) UpperHandleNonce() (uint64, error) { return _BridgeTransferERC721.Contract.UpperHandleNonce(&_BridgeTransferERC721.CallOpts) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) DeregisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "deregisterOperator", _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.DeregisterOperator(&_BridgeTransferERC721.TransactOpts, _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.DeregisterOperator(&_BridgeTransferERC721.TransactOpts, _operator) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) DeregisterToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "deregisterToken", _token) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) DeregisterToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.DeregisterToken(&_BridgeTransferERC721.TransactOpts, _token) } // DeregisterToken is a paid mutator transaction binding the contract method 0xbab2af1d. // // Solidity: function deregisterToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) DeregisterToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.DeregisterToken(&_BridgeTransferERC721.TransactOpts, _token) } // HandleERC721Transfer is a paid mutator transaction binding the contract method 0xafb60223. // // Solidity: function handleERC721Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _tokenId uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) HandleERC721Transfer(opts *bind.TransactOpts, _requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _tokenId *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "handleERC721Transfer", _requestTxHash, _from, _to, _tokenAddress, _tokenId, _requestedNonce, _requestedBlockNumber, _tokenURI, _extraData) } // HandleERC721Transfer is a paid mutator transaction binding the contract method 0xafb60223. // // Solidity: function handleERC721Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _tokenId uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) HandleERC721Transfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _tokenId *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.HandleERC721Transfer(&_BridgeTransferERC721.TransactOpts, _requestTxHash, _from, _to, _tokenAddress, _tokenId, _requestedNonce, _requestedBlockNumber, _tokenURI, _extraData) } // HandleERC721Transfer is a paid mutator transaction binding the contract method 0xafb60223. // // Solidity: function handleERC721Transfer(_requestTxHash bytes32, _from address, _to address, _tokenAddress address, _tokenId uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) HandleERC721Transfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _tokenAddress common.Address, _tokenId *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _tokenURI string, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.HandleERC721Transfer(&_BridgeTransferERC721.TransactOpts, _requestTxHash, _from, _to, _tokenAddress, _tokenId, _requestedNonce, _requestedBlockNumber, _tokenURI, _extraData) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) LockToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "lockToken", _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) LockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.LockToken(&_BridgeTransferERC721.TransactOpts, _token) } // LockToken is a paid mutator transaction binding the contract method 0x10693fcd. // // Solidity: function lockToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) LockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.LockToken(&_BridgeTransferERC721.TransactOpts, _token) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) OnERC721Received(opts *bind.TransactOpts, _from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "onERC721Received", _from, _tokenId, _to, _extraData) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.OnERC721Received(&_BridgeTransferERC721.TransactOpts, _from, _tokenId, _to, _extraData) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.OnERC721Received(&_BridgeTransferERC721.TransactOpts, _from, _tokenId, _to, _extraData) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) RegisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "registerOperator", _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.RegisterOperator(&_BridgeTransferERC721.TransactOpts, _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.RegisterOperator(&_BridgeTransferERC721.TransactOpts, _operator) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) RegisterToken(opts *bind.TransactOpts, _token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "registerToken", _token, _cToken) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) RegisterToken(_token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.RegisterToken(&_BridgeTransferERC721.TransactOpts, _token, _cToken) } // RegisterToken is a paid mutator transaction binding the contract method 0x4739f7e5. // // Solidity: function registerToken(_token address, _cToken address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) RegisterToken(_token common.Address, _cToken common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.RegisterToken(&_BridgeTransferERC721.TransactOpts, _token, _cToken) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) RenounceOwnership() (*types.Transaction, error) { return _BridgeTransferERC721.Contract.RenounceOwnership(&_BridgeTransferERC721.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeTransferERC721.Contract.RenounceOwnership(&_BridgeTransferERC721.TransactOpts) } // RequestERC721Transfer is a paid mutator transaction binding the contract method 0x22604742. // // Solidity: function requestERC721Transfer(_tokenAddress address, _to address, _tokenId uint256, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) RequestERC721Transfer(opts *bind.TransactOpts, _tokenAddress common.Address, _to common.Address, _tokenId *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "requestERC721Transfer", _tokenAddress, _to, _tokenId, _extraData) } // RequestERC721Transfer is a paid mutator transaction binding the contract method 0x22604742. // // Solidity: function requestERC721Transfer(_tokenAddress address, _to address, _tokenId uint256, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) RequestERC721Transfer(_tokenAddress common.Address, _to common.Address, _tokenId *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.RequestERC721Transfer(&_BridgeTransferERC721.TransactOpts, _tokenAddress, _to, _tokenId, _extraData) } // RequestERC721Transfer is a paid mutator transaction binding the contract method 0x22604742. // // Solidity: function requestERC721Transfer(_tokenAddress address, _to address, _tokenId uint256, _extraData bytes) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) RequestERC721Transfer(_tokenAddress common.Address, _to common.Address, _tokenId *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.RequestERC721Transfer(&_BridgeTransferERC721.TransactOpts, _tokenAddress, _to, _tokenId, _extraData) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) SetFeeReceiver(opts *bind.TransactOpts, _feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "setFeeReceiver", _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.SetFeeReceiver(&_BridgeTransferERC721.TransactOpts, _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.SetFeeReceiver(&_BridgeTransferERC721.TransactOpts, _feeReceiver) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) SetOperatorThreshold(opts *bind.TransactOpts, _voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "setOperatorThreshold", _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.SetOperatorThreshold(&_BridgeTransferERC721.TransactOpts, _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.SetOperatorThreshold(&_BridgeTransferERC721.TransactOpts, _voteType, _threshold) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) Start(opts *bind.TransactOpts, _status bool) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "start", _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) Start(_status bool) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.Start(&_BridgeTransferERC721.TransactOpts, _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) Start(_status bool) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.Start(&_BridgeTransferERC721.TransactOpts, _status) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.TransferOwnership(&_BridgeTransferERC721.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.TransferOwnership(&_BridgeTransferERC721.TransactOpts, newOwner) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Transactor) UnlockToken(opts *bind.TransactOpts, _token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.contract.Transact(opts, "unlockToken", _token) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721Session) UnlockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.UnlockToken(&_BridgeTransferERC721.TransactOpts, _token) } // UnlockToken is a paid mutator transaction binding the contract method 0x9ef2017b. // // Solidity: function unlockToken(_token address) returns() func (_BridgeTransferERC721 *BridgeTransferERC721TransactorSession) UnlockToken(_token common.Address) (*types.Transaction, error) { return _BridgeTransferERC721.Contract.UnlockToken(&_BridgeTransferERC721.TransactOpts, _token) } // BridgeTransferERC721ERC20FeeChangedIterator is returned from FilterERC20FeeChanged and is used to iterate over the raw logs and unpacked data for ERC20FeeChanged events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721ERC20FeeChangedIterator struct { Event *BridgeTransferERC721ERC20FeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721ERC20FeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721ERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721ERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721ERC20FeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721ERC20FeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721ERC20FeeChanged represents a ERC20FeeChanged event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721ERC20FeeChanged struct { Token common.Address Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterERC20FeeChanged is a free log retrieval operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterERC20FeeChanged(opts *bind.FilterOpts, token []common.Address, fee []*big.Int) (*BridgeTransferERC721ERC20FeeChangedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return &BridgeTransferERC721ERC20FeeChangedIterator{contract: _BridgeTransferERC721.contract, event: "ERC20FeeChanged", logs: logs, sub: sub}, nil } // WatchERC20FeeChanged is a free log subscription operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchERC20FeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721ERC20FeeChanged, token []common.Address, fee []*big.Int) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721ERC20FeeChanged) if err := _BridgeTransferERC721.contract.UnpackLog(event, "ERC20FeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721FeeReceiverChangedIterator is returned from FilterFeeReceiverChanged and is used to iterate over the raw logs and unpacked data for FeeReceiverChanged events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721FeeReceiverChangedIterator struct { Event *BridgeTransferERC721FeeReceiverChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721FeeReceiverChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721FeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721FeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721FeeReceiverChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721FeeReceiverChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721FeeReceiverChanged represents a FeeReceiverChanged event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721FeeReceiverChanged struct { FeeReceiver common.Address Raw types.Log // Blockchain specific contextual infos } // FilterFeeReceiverChanged is a free log retrieval operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterFeeReceiverChanged(opts *bind.FilterOpts, feeReceiver []common.Address) (*BridgeTransferERC721FeeReceiverChangedIterator, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return &BridgeTransferERC721FeeReceiverChangedIterator{contract: _BridgeTransferERC721.contract, event: "FeeReceiverChanged", logs: logs, sub: sub}, nil } // WatchFeeReceiverChanged is a free log subscription operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchFeeReceiverChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721FeeReceiverChanged, feeReceiver []common.Address) (event.Subscription, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721FeeReceiverChanged) if err := _BridgeTransferERC721.contract.UnpackLog(event, "FeeReceiverChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721HandleValueTransferIterator is returned from FilterHandleValueTransfer and is used to iterate over the raw logs and unpacked data for HandleValueTransfer events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721HandleValueTransferIterator struct { Event *BridgeTransferERC721HandleValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721HandleValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721HandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721HandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721HandleValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721HandleValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721HandleValueTransfer represents a HandleValueTransfer event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721HandleValueTransfer struct { RequestTxHash [32]byte TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int HandleNonce uint64 LowerHandleNonce uint64 ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterHandleValueTransfer is a free log retrieval operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterHandleValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeTransferERC721HandleValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeTransferERC721HandleValueTransferIterator{contract: _BridgeTransferERC721.contract, event: "HandleValueTransfer", logs: logs, sub: sub}, nil } // WatchHandleValueTransfer is a free log subscription operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchHandleValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721HandleValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721HandleValueTransfer) if err := _BridgeTransferERC721.contract.UnpackLog(event, "HandleValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721KLAYFeeChangedIterator is returned from FilterKLAYFeeChanged and is used to iterate over the raw logs and unpacked data for KLAYFeeChanged events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721KLAYFeeChangedIterator struct { Event *BridgeTransferERC721KLAYFeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721KLAYFeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721KLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721KLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721KLAYFeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721KLAYFeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721KLAYFeeChanged represents a KLAYFeeChanged event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721KLAYFeeChanged struct { Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterKLAYFeeChanged is a free log retrieval operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterKLAYFeeChanged(opts *bind.FilterOpts, fee []*big.Int) (*BridgeTransferERC721KLAYFeeChangedIterator, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return &BridgeTransferERC721KLAYFeeChangedIterator{contract: _BridgeTransferERC721.contract, event: "KLAYFeeChanged", logs: logs, sub: sub}, nil } // WatchKLAYFeeChanged is a free log subscription operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchKLAYFeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721KLAYFeeChanged, fee []*big.Int) (event.Subscription, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721KLAYFeeChanged) if err := _BridgeTransferERC721.contract.UnpackLog(event, "KLAYFeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721OwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721OwnershipTransferredIterator struct { Event *BridgeTransferERC721OwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721OwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721OwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721OwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721OwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721OwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721OwnershipTransferred represents a OwnershipTransferred event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721OwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeTransferERC721OwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &BridgeTransferERC721OwnershipTransferredIterator{contract: _BridgeTransferERC721.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721OwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721OwnershipTransferred) if err := _BridgeTransferERC721.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721RequestValueTransferIterator is returned from FilterRequestValueTransfer and is used to iterate over the raw logs and unpacked data for RequestValueTransfer events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721RequestValueTransferIterator struct { Event *BridgeTransferERC721RequestValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721RequestValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721RequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721RequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721RequestValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721RequestValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721RequestValueTransfer represents a RequestValueTransfer event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721RequestValueTransfer struct { TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int RequestNonce uint64 Fee *big.Int ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterRequestValueTransfer is a free log retrieval operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterRequestValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeTransferERC721RequestValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeTransferERC721RequestValueTransferIterator{contract: _BridgeTransferERC721.contract, event: "RequestValueTransfer", logs: logs, sub: sub}, nil } // WatchRequestValueTransfer is a free log subscription operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchRequestValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721RequestValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721RequestValueTransfer) if err := _BridgeTransferERC721.contract.UnpackLog(event, "RequestValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721TokenDeregisteredIterator is returned from FilterTokenDeregistered and is used to iterate over the raw logs and unpacked data for TokenDeregistered events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721TokenDeregisteredIterator struct { Event *BridgeTransferERC721TokenDeregistered // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721TokenDeregisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721TokenDeregistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721TokenDeregistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721TokenDeregisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721TokenDeregisteredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721TokenDeregistered represents a TokenDeregistered event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721TokenDeregistered struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenDeregistered is a free log retrieval operation binding the contract event 0x1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b6. // // Solidity: e TokenDeregistered(token indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterTokenDeregistered(opts *bind.FilterOpts, token []common.Address) (*BridgeTransferERC721TokenDeregisteredIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "TokenDeregistered", tokenRule) if err != nil { return nil, err } return &BridgeTransferERC721TokenDeregisteredIterator{contract: _BridgeTransferERC721.contract, event: "TokenDeregistered", logs: logs, sub: sub}, nil } // WatchTokenDeregistered is a free log subscription operation binding the contract event 0x1d735ca20b63676dde668b718be78606b061d6bd7534ff815a90a121a6c084b6. // // Solidity: e TokenDeregistered(token indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchTokenDeregistered(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721TokenDeregistered, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "TokenDeregistered", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721TokenDeregistered) if err := _BridgeTransferERC721.contract.UnpackLog(event, "TokenDeregistered", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721TokenLockedIterator is returned from FilterTokenLocked and is used to iterate over the raw logs and unpacked data for TokenLocked events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721TokenLockedIterator struct { Event *BridgeTransferERC721TokenLocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721TokenLockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721TokenLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721TokenLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721TokenLockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721TokenLockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721TokenLocked represents a TokenLocked event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721TokenLocked struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenLocked is a free log retrieval operation binding the contract event 0xca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd7. // // Solidity: e TokenLocked(token indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterTokenLocked(opts *bind.FilterOpts, token []common.Address) (*BridgeTransferERC721TokenLockedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "TokenLocked", tokenRule) if err != nil { return nil, err } return &BridgeTransferERC721TokenLockedIterator{contract: _BridgeTransferERC721.contract, event: "TokenLocked", logs: logs, sub: sub}, nil } // WatchTokenLocked is a free log subscription operation binding the contract event 0xca1b0a14e18ada4c44846768dd186e35630cdc5cfeaca83c404ae4acaafbecd7. // // Solidity: e TokenLocked(token indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchTokenLocked(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721TokenLocked, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "TokenLocked", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721TokenLocked) if err := _BridgeTransferERC721.contract.UnpackLog(event, "TokenLocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721TokenRegisteredIterator is returned from FilterTokenRegistered and is used to iterate over the raw logs and unpacked data for TokenRegistered events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721TokenRegisteredIterator struct { Event *BridgeTransferERC721TokenRegistered // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721TokenRegisteredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721TokenRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721TokenRegistered) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721TokenRegisteredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721TokenRegisteredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721TokenRegistered represents a TokenRegistered event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721TokenRegistered struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenRegistered is a free log retrieval operation binding the contract event 0x158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d. // // Solidity: e TokenRegistered(token indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterTokenRegistered(opts *bind.FilterOpts, token []common.Address) (*BridgeTransferERC721TokenRegisteredIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "TokenRegistered", tokenRule) if err != nil { return nil, err } return &BridgeTransferERC721TokenRegisteredIterator{contract: _BridgeTransferERC721.contract, event: "TokenRegistered", logs: logs, sub: sub}, nil } // WatchTokenRegistered is a free log subscription operation binding the contract event 0x158412daecdc1456d01568828bcdb18464cc7f1ce0215ddbc3f3cfede9d1e63d. // // Solidity: e TokenRegistered(token indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchTokenRegistered(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721TokenRegistered, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "TokenRegistered", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721TokenRegistered) if err := _BridgeTransferERC721.contract.UnpackLog(event, "TokenRegistered", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferERC721TokenUnlockedIterator is returned from FilterTokenUnlocked and is used to iterate over the raw logs and unpacked data for TokenUnlocked events raised by the BridgeTransferERC721 contract. type BridgeTransferERC721TokenUnlockedIterator struct { Event *BridgeTransferERC721TokenUnlocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferERC721TokenUnlockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferERC721TokenUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferERC721TokenUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferERC721TokenUnlockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferERC721TokenUnlockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferERC721TokenUnlocked represents a TokenUnlocked event raised by the BridgeTransferERC721 contract. type BridgeTransferERC721TokenUnlocked struct { Token common.Address Raw types.Log // Blockchain specific contextual infos } // FilterTokenUnlocked is a free log retrieval operation binding the contract event 0x81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec. // // Solidity: e TokenUnlocked(token indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) FilterTokenUnlocked(opts *bind.FilterOpts, token []common.Address) (*BridgeTransferERC721TokenUnlockedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC721.contract.FilterLogs(opts, "TokenUnlocked", tokenRule) if err != nil { return nil, err } return &BridgeTransferERC721TokenUnlockedIterator{contract: _BridgeTransferERC721.contract, event: "TokenUnlocked", logs: logs, sub: sub}, nil } // WatchTokenUnlocked is a free log subscription operation binding the contract event 0x81ec08d3372506e176c49e626d8beb7e091712ef92908a130f4ccc6524fe2eec. // // Solidity: e TokenUnlocked(token indexed address) func (_BridgeTransferERC721 *BridgeTransferERC721Filterer) WatchTokenUnlocked(opts *bind.WatchOpts, sink chan<- *BridgeTransferERC721TokenUnlocked, token []common.Address) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } logs, sub, err := _BridgeTransferERC721.contract.WatchLogs(opts, "TokenUnlocked", tokenRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferERC721TokenUnlocked) if err := _BridgeTransferERC721.contract.UnpackLog(event, "TokenUnlocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYABI is the input ABI used to generate the binding from. const BridgeTransferKLAYABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"handleNoncesToBlockNums\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"operators\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_fee\",\"type\":\"uint256\"},{\"name\":\"_requestNonce\",\"type\":\"uint64\"}],\"name\":\"setKLAYFee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unlockKLAY\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRunning\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"registerOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_OPERATOR\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"feeOfERC20\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lowerHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"upperHandleNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"operatorThresholds\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"modeMintBurn\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"requestKLAYTransfer\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"requestNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"handledRequestTx\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"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\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"closedValueTransferVotes\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"recoveryBlockNumber\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"lockKLAY\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_requestTxHash\",\"type\":\"bytes32\"},{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_requestedNonce\",\"type\":\"uint64\"},{\"name\":\"_requestedBlockNumber\",\"type\":\"uint64\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"handleKLAYTransfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"configurationNonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint64\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOperatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeOfKLAY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_status\",\"type\":\"bool\"}],\"name\":\"start\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"operatorList\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"deregisterOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"chargeWithoutEvent\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_voteType\",\"type\":\"uint8\"},{\"name\":\"_threshold\",\"type\":\"uint8\"}],\"name\":\"setOperatorThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_feeReceiver\",\"type\":\"address\"}],\"name\":\"setFeeReceiver\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isLockedKLAY\",\"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\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"KLAYLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"KLAYUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"requestNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"fee\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"RequestValueTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"requestTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenAddress\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"valueOrTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"handleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"lowerHandleNonce\",\"type\":\"uint64\"},{\"indexed\":false,\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"HandleValueTransfer\",\"type\":\"event\"},{\"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\":\"fee\",\"type\":\"uint256\"}],\"name\":\"KLAYFeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"ERC20FeeChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"feeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverChanged\",\"type\":\"event\"}]" // BridgeTransferKLAYBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const BridgeTransferKLAYBinRuntime = `0x` // BridgeTransferKLAYBin is the compiled bytecode used for deploying new contracts. const BridgeTransferKLAYBin = `0x` // DeployBridgeTransferKLAY deploys a new Klaytn contract, binding an instance of BridgeTransferKLAY to it. func DeployBridgeTransferKLAY(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BridgeTransferKLAY, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTransferKLAYABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BridgeTransferKLAYBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &BridgeTransferKLAY{BridgeTransferKLAYCaller: BridgeTransferKLAYCaller{contract: contract}, BridgeTransferKLAYTransactor: BridgeTransferKLAYTransactor{contract: contract}, BridgeTransferKLAYFilterer: BridgeTransferKLAYFilterer{contract: contract}}, nil } // BridgeTransferKLAY is an auto generated Go binding around a Klaytn contract. type BridgeTransferKLAY struct { BridgeTransferKLAYCaller // Read-only binding to the contract BridgeTransferKLAYTransactor // Write-only binding to the contract BridgeTransferKLAYFilterer // Log filterer for contract events } // BridgeTransferKLAYCaller is an auto generated read-only Go binding around a Klaytn contract. type BridgeTransferKLAYCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferKLAYTransactor is an auto generated write-only Go binding around a Klaytn contract. type BridgeTransferKLAYTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferKLAYFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type BridgeTransferKLAYFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // BridgeTransferKLAYSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type BridgeTransferKLAYSession struct { Contract *BridgeTransferKLAY // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTransferKLAYCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type BridgeTransferKLAYCallerSession struct { Contract *BridgeTransferKLAYCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // BridgeTransferKLAYTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type BridgeTransferKLAYTransactorSession struct { Contract *BridgeTransferKLAYTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // BridgeTransferKLAYRaw is an auto generated low-level Go binding around a Klaytn contract. type BridgeTransferKLAYRaw struct { Contract *BridgeTransferKLAY // Generic contract binding to access the raw methods on } // BridgeTransferKLAYCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type BridgeTransferKLAYCallerRaw struct { Contract *BridgeTransferKLAYCaller // Generic read-only contract binding to access the raw methods on } // BridgeTransferKLAYTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type BridgeTransferKLAYTransactorRaw struct { Contract *BridgeTransferKLAYTransactor // Generic write-only contract binding to access the raw methods on } // NewBridgeTransferKLAY creates a new instance of BridgeTransferKLAY, bound to a specific deployed contract. func NewBridgeTransferKLAY(address common.Address, backend bind.ContractBackend) (*BridgeTransferKLAY, error) { contract, err := bindBridgeTransferKLAY(address, backend, backend, backend) if err != nil { return nil, err } return &BridgeTransferKLAY{BridgeTransferKLAYCaller: BridgeTransferKLAYCaller{contract: contract}, BridgeTransferKLAYTransactor: BridgeTransferKLAYTransactor{contract: contract}, BridgeTransferKLAYFilterer: BridgeTransferKLAYFilterer{contract: contract}}, nil } // NewBridgeTransferKLAYCaller creates a new read-only instance of BridgeTransferKLAY, bound to a specific deployed contract. func NewBridgeTransferKLAYCaller(address common.Address, caller bind.ContractCaller) (*BridgeTransferKLAYCaller, error) { contract, err := bindBridgeTransferKLAY(address, caller, nil, nil) if err != nil { return nil, err } return &BridgeTransferKLAYCaller{contract: contract}, nil } // NewBridgeTransferKLAYTransactor creates a new write-only instance of BridgeTransferKLAY, bound to a specific deployed contract. func NewBridgeTransferKLAYTransactor(address common.Address, transactor bind.ContractTransactor) (*BridgeTransferKLAYTransactor, error) { contract, err := bindBridgeTransferKLAY(address, nil, transactor, nil) if err != nil { return nil, err } return &BridgeTransferKLAYTransactor{contract: contract}, nil } // NewBridgeTransferKLAYFilterer creates a new log filterer instance of BridgeTransferKLAY, bound to a specific deployed contract. func NewBridgeTransferKLAYFilterer(address common.Address, filterer bind.ContractFilterer) (*BridgeTransferKLAYFilterer, error) { contract, err := bindBridgeTransferKLAY(address, nil, nil, filterer) if err != nil { return nil, err } return &BridgeTransferKLAYFilterer{contract: contract}, nil } // bindBridgeTransferKLAY binds a generic wrapper to an already deployed contract. func bindBridgeTransferKLAY(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(BridgeTransferKLAYABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTransferKLAY *BridgeTransferKLAYRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTransferKLAY.Contract.BridgeTransferKLAYCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTransferKLAY *BridgeTransferKLAYRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.BridgeTransferKLAYTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTransferKLAY *BridgeTransferKLAYRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.BridgeTransferKLAYTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_BridgeTransferKLAY *BridgeTransferKLAYCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _BridgeTransferKLAY.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.contract.Transact(opts, method, params...) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) MAXOPERATOR(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "MAX_OPERATOR") return *ret0, err } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) MAXOPERATOR() (uint64, error) { return _BridgeTransferKLAY.Contract.MAXOPERATOR(&_BridgeTransferKLAY.CallOpts) } // MAXOPERATOR is a free data retrieval call binding the contract method 0x3a3099d1. // // Solidity: function MAX_OPERATOR() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) MAXOPERATOR() (uint64, error) { return _BridgeTransferKLAY.Contract.MAXOPERATOR(&_BridgeTransferKLAY.CallOpts) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) ClosedValueTransferVotes(opts *bind.CallOpts, arg0 uint64) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "closedValueTransferVotes", arg0) return *ret0, err } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeTransferKLAY.Contract.ClosedValueTransferVotes(&_BridgeTransferKLAY.CallOpts, arg0) } // ClosedValueTransferVotes is a free data retrieval call binding the contract method 0x9832c1d7. // // Solidity: function closedValueTransferVotes( uint64) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) ClosedValueTransferVotes(arg0 uint64) (bool, error) { return _BridgeTransferKLAY.Contract.ClosedValueTransferVotes(&_BridgeTransferKLAY.CallOpts, arg0) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) ConfigurationNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "configurationNonce") return *ret0, err } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) ConfigurationNonce() (uint64, error) { return _BridgeTransferKLAY.Contract.ConfigurationNonce(&_BridgeTransferKLAY.CallOpts) } // ConfigurationNonce is a free data retrieval call binding the contract method 0xac6fff0b. // // Solidity: function configurationNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) ConfigurationNonce() (uint64, error) { return _BridgeTransferKLAY.Contract.ConfigurationNonce(&_BridgeTransferKLAY.CallOpts) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) FeeOfERC20(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "feeOfERC20", arg0) return *ret0, err } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeTransferKLAY.Contract.FeeOfERC20(&_BridgeTransferKLAY.CallOpts, arg0) } // FeeOfERC20 is a free data retrieval call binding the contract method 0x488af871. // // Solidity: function feeOfERC20( address) constant returns(uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) FeeOfERC20(arg0 common.Address) (*big.Int, error) { return _BridgeTransferKLAY.Contract.FeeOfERC20(&_BridgeTransferKLAY.CallOpts, arg0) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) FeeOfKLAY(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "feeOfKLAY") return *ret0, err } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) FeeOfKLAY() (*big.Int, error) { return _BridgeTransferKLAY.Contract.FeeOfKLAY(&_BridgeTransferKLAY.CallOpts) } // FeeOfKLAY is a free data retrieval call binding the contract method 0xc263b5d6. // // Solidity: function feeOfKLAY() constant returns(uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) FeeOfKLAY() (*big.Int, error) { return _BridgeTransferKLAY.Contract.FeeOfKLAY(&_BridgeTransferKLAY.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) FeeReceiver(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "feeReceiver") return *ret0, err } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) FeeReceiver() (common.Address, error) { return _BridgeTransferKLAY.Contract.FeeReceiver(&_BridgeTransferKLAY.CallOpts) } // FeeReceiver is a free data retrieval call binding the contract method 0xb3f00674. // // Solidity: function feeReceiver() constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) FeeReceiver() (common.Address, error) { return _BridgeTransferKLAY.Contract.FeeReceiver(&_BridgeTransferKLAY.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) GetOperatorList(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "getOperatorList") return *ret0, err } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) GetOperatorList() ([]common.Address, error) { return _BridgeTransferKLAY.Contract.GetOperatorList(&_BridgeTransferKLAY.CallOpts) } // GetOperatorList is a free data retrieval call binding the contract method 0xb2c01030. // // Solidity: function getOperatorList() constant returns(address[]) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) GetOperatorList() ([]common.Address, error) { return _BridgeTransferKLAY.Contract.GetOperatorList(&_BridgeTransferKLAY.CallOpts) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) HandleNoncesToBlockNums(opts *bind.CallOpts, arg0 uint64) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "handleNoncesToBlockNums", arg0) return *ret0, err } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _BridgeTransferKLAY.Contract.HandleNoncesToBlockNums(&_BridgeTransferKLAY.CallOpts, arg0) } // HandleNoncesToBlockNums is a free data retrieval call binding the contract method 0x13a6738a. // // Solidity: function handleNoncesToBlockNums( uint64) constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) HandleNoncesToBlockNums(arg0 uint64) (uint64, error) { return _BridgeTransferKLAY.Contract.HandleNoncesToBlockNums(&_BridgeTransferKLAY.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) HandledRequestTx(opts *bind.CallOpts, arg0 [32]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "handledRequestTx", arg0) return *ret0, err } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeTransferKLAY.Contract.HandledRequestTx(&_BridgeTransferKLAY.CallOpts, arg0) } // HandledRequestTx is a free data retrieval call binding the contract method 0x8a75eee2. // // Solidity: function handledRequestTx( bytes32) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) HandledRequestTx(arg0 [32]byte) (bool, error) { return _BridgeTransferKLAY.Contract.HandledRequestTx(&_BridgeTransferKLAY.CallOpts, arg0) } // IsLockedKLAY is a free data retrieval call binding the contract method 0xf1719966. // // Solidity: function isLockedKLAY() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) IsLockedKLAY(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "isLockedKLAY") return *ret0, err } // IsLockedKLAY is a free data retrieval call binding the contract method 0xf1719966. // // Solidity: function isLockedKLAY() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) IsLockedKLAY() (bool, error) { return _BridgeTransferKLAY.Contract.IsLockedKLAY(&_BridgeTransferKLAY.CallOpts) } // IsLockedKLAY is a free data retrieval call binding the contract method 0xf1719966. // // Solidity: function isLockedKLAY() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) IsLockedKLAY() (bool, error) { return _BridgeTransferKLAY.Contract.IsLockedKLAY(&_BridgeTransferKLAY.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) IsOwner() (bool, error) { return _BridgeTransferKLAY.Contract.IsOwner(&_BridgeTransferKLAY.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) IsOwner() (bool, error) { return _BridgeTransferKLAY.Contract.IsOwner(&_BridgeTransferKLAY.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) IsRunning(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "isRunning") return *ret0, err } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) IsRunning() (bool, error) { return _BridgeTransferKLAY.Contract.IsRunning(&_BridgeTransferKLAY.CallOpts) } // IsRunning is a free data retrieval call binding the contract method 0x2014e5d1. // // Solidity: function isRunning() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) IsRunning() (bool, error) { return _BridgeTransferKLAY.Contract.IsRunning(&_BridgeTransferKLAY.CallOpts) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) LowerHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "lowerHandleNonce") return *ret0, err } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) LowerHandleNonce() (uint64, error) { return _BridgeTransferKLAY.Contract.LowerHandleNonce(&_BridgeTransferKLAY.CallOpts) } // LowerHandleNonce is a free data retrieval call binding the contract method 0x4b40b826. // // Solidity: function lowerHandleNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) LowerHandleNonce() (uint64, error) { return _BridgeTransferKLAY.Contract.LowerHandleNonce(&_BridgeTransferKLAY.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) ModeMintBurn(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "modeMintBurn") return *ret0, err } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) ModeMintBurn() (bool, error) { return _BridgeTransferKLAY.Contract.ModeMintBurn(&_BridgeTransferKLAY.CallOpts) } // ModeMintBurn is a free data retrieval call binding the contract method 0x6e176ec2. // // Solidity: function modeMintBurn() constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) ModeMintBurn() (bool, error) { return _BridgeTransferKLAY.Contract.ModeMintBurn(&_BridgeTransferKLAY.CallOpts) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) OperatorList(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "operatorList", arg0) return *ret0, err } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferKLAY.Contract.OperatorList(&_BridgeTransferKLAY.CallOpts, arg0) } // OperatorList is a free data retrieval call binding the contract method 0xcb38f407. // // Solidity: function operatorList( uint256) constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) OperatorList(arg0 *big.Int) (common.Address, error) { return _BridgeTransferKLAY.Contract.OperatorList(&_BridgeTransferKLAY.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) OperatorThresholds(opts *bind.CallOpts, arg0 uint8) (uint8, error) { var ( ret0 = new(uint8) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "operatorThresholds", arg0) return *ret0, err } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeTransferKLAY.Contract.OperatorThresholds(&_BridgeTransferKLAY.CallOpts, arg0) } // OperatorThresholds is a free data retrieval call binding the contract method 0x5526f76b. // // Solidity: function operatorThresholds( uint8) constant returns(uint8) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) OperatorThresholds(arg0 uint8) (uint8, error) { return _BridgeTransferKLAY.Contract.OperatorThresholds(&_BridgeTransferKLAY.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) Operators(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "operators", arg0) return *ret0, err } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) Operators(arg0 common.Address) (bool, error) { return _BridgeTransferKLAY.Contract.Operators(&_BridgeTransferKLAY.CallOpts, arg0) } // Operators is a free data retrieval call binding the contract method 0x13e7c9d8. // // Solidity: function operators( address) constant returns(bool) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) Operators(arg0 common.Address) (bool, error) { return _BridgeTransferKLAY.Contract.Operators(&_BridgeTransferKLAY.CallOpts, arg0) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) Owner() (common.Address, error) { return _BridgeTransferKLAY.Contract.Owner(&_BridgeTransferKLAY.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) Owner() (common.Address, error) { return _BridgeTransferKLAY.Contract.Owner(&_BridgeTransferKLAY.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) RecoveryBlockNumber(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "recoveryBlockNumber") return *ret0, err } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) RecoveryBlockNumber() (uint64, error) { return _BridgeTransferKLAY.Contract.RecoveryBlockNumber(&_BridgeTransferKLAY.CallOpts) } // RecoveryBlockNumber is a free data retrieval call binding the contract method 0x989ba0d3. // // Solidity: function recoveryBlockNumber() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) RecoveryBlockNumber() (uint64, error) { return _BridgeTransferKLAY.Contract.RecoveryBlockNumber(&_BridgeTransferKLAY.CallOpts) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) RequestNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "requestNonce") return *ret0, err } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) RequestNonce() (uint64, error) { return _BridgeTransferKLAY.Contract.RequestNonce(&_BridgeTransferKLAY.CallOpts) } // RequestNonce is a free data retrieval call binding the contract method 0x7c1a0302. // // Solidity: function requestNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) RequestNonce() (uint64, error) { return _BridgeTransferKLAY.Contract.RequestNonce(&_BridgeTransferKLAY.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCaller) UpperHandleNonce(opts *bind.CallOpts) (uint64, error) { var ( ret0 = new(uint64) ) out := ret0 err := _BridgeTransferKLAY.contract.Call(opts, out, "upperHandleNonce") return *ret0, err } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYSession) UpperHandleNonce() (uint64, error) { return _BridgeTransferKLAY.Contract.UpperHandleNonce(&_BridgeTransferKLAY.CallOpts) } // UpperHandleNonce is a free data retrieval call binding the contract method 0x54edad72. // // Solidity: function upperHandleNonce() constant returns(uint64) func (_BridgeTransferKLAY *BridgeTransferKLAYCallerSession) UpperHandleNonce() (uint64, error) { return _BridgeTransferKLAY.Contract.UpperHandleNonce(&_BridgeTransferKLAY.CallOpts) } // ChargeWithoutEvent is a paid mutator transaction binding the contract method 0xdd9222d6. // // Solidity: function chargeWithoutEvent() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) ChargeWithoutEvent(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "chargeWithoutEvent") } // ChargeWithoutEvent is a paid mutator transaction binding the contract method 0xdd9222d6. // // Solidity: function chargeWithoutEvent() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) ChargeWithoutEvent() (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.ChargeWithoutEvent(&_BridgeTransferKLAY.TransactOpts) } // ChargeWithoutEvent is a paid mutator transaction binding the contract method 0xdd9222d6. // // Solidity: function chargeWithoutEvent() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) ChargeWithoutEvent() (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.ChargeWithoutEvent(&_BridgeTransferKLAY.TransactOpts) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) DeregisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "deregisterOperator", _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.DeregisterOperator(&_BridgeTransferKLAY.TransactOpts, _operator) } // DeregisterOperator is a paid mutator transaction binding the contract method 0xd8cf98ca. // // Solidity: function deregisterOperator(_operator address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) DeregisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.DeregisterOperator(&_BridgeTransferKLAY.TransactOpts, _operator) } // HandleKLAYTransfer is a paid mutator transaction binding the contract method 0xa066a7ed. // // Solidity: function handleKLAYTransfer(_requestTxHash bytes32, _from address, _to address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) HandleKLAYTransfer(opts *bind.TransactOpts, _requestTxHash [32]byte, _from common.Address, _to common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "handleKLAYTransfer", _requestTxHash, _from, _to, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleKLAYTransfer is a paid mutator transaction binding the contract method 0xa066a7ed. // // Solidity: function handleKLAYTransfer(_requestTxHash bytes32, _from address, _to address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) HandleKLAYTransfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.HandleKLAYTransfer(&_BridgeTransferKLAY.TransactOpts, _requestTxHash, _from, _to, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // HandleKLAYTransfer is a paid mutator transaction binding the contract method 0xa066a7ed. // // Solidity: function handleKLAYTransfer(_requestTxHash bytes32, _from address, _to address, _value uint256, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData bytes) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) HandleKLAYTransfer(_requestTxHash [32]byte, _from common.Address, _to common.Address, _value *big.Int, _requestedNonce uint64, _requestedBlockNumber uint64, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.HandleKLAYTransfer(&_BridgeTransferKLAY.TransactOpts, _requestTxHash, _from, _to, _value, _requestedNonce, _requestedBlockNumber, _extraData) } // LockKLAY is a paid mutator transaction binding the contract method 0x9f071329. // // Solidity: function lockKLAY() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) LockKLAY(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "lockKLAY") } // LockKLAY is a paid mutator transaction binding the contract method 0x9f071329. // // Solidity: function lockKLAY() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) LockKLAY() (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.LockKLAY(&_BridgeTransferKLAY.TransactOpts) } // LockKLAY is a paid mutator transaction binding the contract method 0x9f071329. // // Solidity: function lockKLAY() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) LockKLAY() (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.LockKLAY(&_BridgeTransferKLAY.TransactOpts) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) RegisterOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "registerOperator", _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.RegisterOperator(&_BridgeTransferKLAY.TransactOpts, _operator) } // RegisterOperator is a paid mutator transaction binding the contract method 0x3682a450. // // Solidity: function registerOperator(_operator address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) RegisterOperator(_operator common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.RegisterOperator(&_BridgeTransferKLAY.TransactOpts, _operator) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.RenounceOwnership(&_BridgeTransferKLAY.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.RenounceOwnership(&_BridgeTransferKLAY.TransactOpts) } // RequestKLAYTransfer is a paid mutator transaction binding the contract method 0x75ebdc09. // // Solidity: function requestKLAYTransfer(_to address, _value uint256, _extraData bytes) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) RequestKLAYTransfer(opts *bind.TransactOpts, _to common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "requestKLAYTransfer", _to, _value, _extraData) } // RequestKLAYTransfer is a paid mutator transaction binding the contract method 0x75ebdc09. // // Solidity: function requestKLAYTransfer(_to address, _value uint256, _extraData bytes) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) RequestKLAYTransfer(_to common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.RequestKLAYTransfer(&_BridgeTransferKLAY.TransactOpts, _to, _value, _extraData) } // RequestKLAYTransfer is a paid mutator transaction binding the contract method 0x75ebdc09. // // Solidity: function requestKLAYTransfer(_to address, _value uint256, _extraData bytes) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) RequestKLAYTransfer(_to common.Address, _value *big.Int, _extraData []byte) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.RequestKLAYTransfer(&_BridgeTransferKLAY.TransactOpts, _to, _value, _extraData) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) SetFeeReceiver(opts *bind.TransactOpts, _feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "setFeeReceiver", _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.SetFeeReceiver(&_BridgeTransferKLAY.TransactOpts, _feeReceiver) } // SetFeeReceiver is a paid mutator transaction binding the contract method 0xefdcd974. // // Solidity: function setFeeReceiver(_feeReceiver address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) SetFeeReceiver(_feeReceiver common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.SetFeeReceiver(&_BridgeTransferKLAY.TransactOpts, _feeReceiver) } // SetKLAYFee is a paid mutator transaction binding the contract method 0x1a2ae53e. // // Solidity: function setKLAYFee(_fee uint256, _requestNonce uint64) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) SetKLAYFee(opts *bind.TransactOpts, _fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "setKLAYFee", _fee, _requestNonce) } // SetKLAYFee is a paid mutator transaction binding the contract method 0x1a2ae53e. // // Solidity: function setKLAYFee(_fee uint256, _requestNonce uint64) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) SetKLAYFee(_fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.SetKLAYFee(&_BridgeTransferKLAY.TransactOpts, _fee, _requestNonce) } // SetKLAYFee is a paid mutator transaction binding the contract method 0x1a2ae53e. // // Solidity: function setKLAYFee(_fee uint256, _requestNonce uint64) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) SetKLAYFee(_fee *big.Int, _requestNonce uint64) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.SetKLAYFee(&_BridgeTransferKLAY.TransactOpts, _fee, _requestNonce) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) SetOperatorThreshold(opts *bind.TransactOpts, _voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "setOperatorThreshold", _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.SetOperatorThreshold(&_BridgeTransferKLAY.TransactOpts, _voteType, _threshold) } // SetOperatorThreshold is a paid mutator transaction binding the contract method 0xee2aec65. // // Solidity: function setOperatorThreshold(_voteType uint8, _threshold uint8) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) SetOperatorThreshold(_voteType uint8, _threshold uint8) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.SetOperatorThreshold(&_BridgeTransferKLAY.TransactOpts, _voteType, _threshold) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) Start(opts *bind.TransactOpts, _status bool) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "start", _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) Start(_status bool) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.Start(&_BridgeTransferKLAY.TransactOpts, _status) } // Start is a paid mutator transaction binding the contract method 0xc877cf37. // // Solidity: function start(_status bool) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) Start(_status bool) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.Start(&_BridgeTransferKLAY.TransactOpts, _status) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.TransferOwnership(&_BridgeTransferKLAY.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.TransferOwnership(&_BridgeTransferKLAY.TransactOpts, newOwner) } // UnlockKLAY is a paid mutator transaction binding the contract method 0x1ebdca38. // // Solidity: function unlockKLAY() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactor) UnlockKLAY(opts *bind.TransactOpts) (*types.Transaction, error) { return _BridgeTransferKLAY.contract.Transact(opts, "unlockKLAY") } // UnlockKLAY is a paid mutator transaction binding the contract method 0x1ebdca38. // // Solidity: function unlockKLAY() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYSession) UnlockKLAY() (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.UnlockKLAY(&_BridgeTransferKLAY.TransactOpts) } // UnlockKLAY is a paid mutator transaction binding the contract method 0x1ebdca38. // // Solidity: function unlockKLAY() returns() func (_BridgeTransferKLAY *BridgeTransferKLAYTransactorSession) UnlockKLAY() (*types.Transaction, error) { return _BridgeTransferKLAY.Contract.UnlockKLAY(&_BridgeTransferKLAY.TransactOpts) } // BridgeTransferKLAYERC20FeeChangedIterator is returned from FilterERC20FeeChanged and is used to iterate over the raw logs and unpacked data for ERC20FeeChanged events raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYERC20FeeChangedIterator struct { Event *BridgeTransferKLAYERC20FeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYERC20FeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYERC20FeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYERC20FeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYERC20FeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYERC20FeeChanged represents a ERC20FeeChanged event raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYERC20FeeChanged struct { Token common.Address Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterERC20FeeChanged is a free log retrieval operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) FilterERC20FeeChanged(opts *bind.FilterOpts, token []common.Address, fee []*big.Int) (*BridgeTransferKLAYERC20FeeChangedIterator, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferKLAY.contract.FilterLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return &BridgeTransferKLAYERC20FeeChangedIterator{contract: _BridgeTransferKLAY.contract, event: "ERC20FeeChanged", logs: logs, sub: sub}, nil } // WatchERC20FeeChanged is a free log subscription operation binding the contract event 0xdb5ad2e76ae20cfa4e7adbc7305d7538442164d85ead9937c98620a1aa4c255b. // // Solidity: e ERC20FeeChanged(token indexed address, fee indexed uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) WatchERC20FeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYERC20FeeChanged, token []common.Address, fee []*big.Int) (event.Subscription, error) { var tokenRule []interface{} for _, tokenItem := range token { tokenRule = append(tokenRule, tokenItem) } var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferKLAY.contract.WatchLogs(opts, "ERC20FeeChanged", tokenRule, feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYERC20FeeChanged) if err := _BridgeTransferKLAY.contract.UnpackLog(event, "ERC20FeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYFeeReceiverChangedIterator is returned from FilterFeeReceiverChanged and is used to iterate over the raw logs and unpacked data for FeeReceiverChanged events raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYFeeReceiverChangedIterator struct { Event *BridgeTransferKLAYFeeReceiverChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYFeeReceiverChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYFeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYFeeReceiverChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYFeeReceiverChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYFeeReceiverChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYFeeReceiverChanged represents a FeeReceiverChanged event raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYFeeReceiverChanged struct { FeeReceiver common.Address Raw types.Log // Blockchain specific contextual infos } // FilterFeeReceiverChanged is a free log retrieval operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) FilterFeeReceiverChanged(opts *bind.FilterOpts, feeReceiver []common.Address) (*BridgeTransferKLAYFeeReceiverChangedIterator, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeTransferKLAY.contract.FilterLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return &BridgeTransferKLAYFeeReceiverChangedIterator{contract: _BridgeTransferKLAY.contract, event: "FeeReceiverChanged", logs: logs, sub: sub}, nil } // WatchFeeReceiverChanged is a free log subscription operation binding the contract event 0x647672599d3468abcfa241a13c9e3d34383caadb5cc80fb67c3cdfcd5f786059. // // Solidity: e FeeReceiverChanged(feeReceiver indexed address) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) WatchFeeReceiverChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYFeeReceiverChanged, feeReceiver []common.Address) (event.Subscription, error) { var feeReceiverRule []interface{} for _, feeReceiverItem := range feeReceiver { feeReceiverRule = append(feeReceiverRule, feeReceiverItem) } logs, sub, err := _BridgeTransferKLAY.contract.WatchLogs(opts, "FeeReceiverChanged", feeReceiverRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYFeeReceiverChanged) if err := _BridgeTransferKLAY.contract.UnpackLog(event, "FeeReceiverChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYHandleValueTransferIterator is returned from FilterHandleValueTransfer and is used to iterate over the raw logs and unpacked data for HandleValueTransfer events raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYHandleValueTransferIterator struct { Event *BridgeTransferKLAYHandleValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYHandleValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYHandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYHandleValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYHandleValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYHandleValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYHandleValueTransfer represents a HandleValueTransfer event raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYHandleValueTransfer struct { RequestTxHash [32]byte TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int HandleNonce uint64 LowerHandleNonce uint64 ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterHandleValueTransfer is a free log retrieval operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) FilterHandleValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeTransferKLAYHandleValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferKLAY.contract.FilterLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeTransferKLAYHandleValueTransferIterator{contract: _BridgeTransferKLAY.contract, event: "HandleValueTransfer", logs: logs, sub: sub}, nil } // WatchHandleValueTransfer is a free log subscription operation binding the contract event 0x12b02f226d965a2881e0e8ffed6c421803a22d57ad91f9ef996fe0748ea10175. // // Solidity: e HandleValueTransfer(requestTxHash bytes32, tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, handleNonce uint64, lowerHandleNonce uint64, extraData bytes) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) WatchHandleValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYHandleValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferKLAY.contract.WatchLogs(opts, "HandleValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYHandleValueTransfer) if err := _BridgeTransferKLAY.contract.UnpackLog(event, "HandleValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYKLAYFeeChangedIterator is returned from FilterKLAYFeeChanged and is used to iterate over the raw logs and unpacked data for KLAYFeeChanged events raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYKLAYFeeChangedIterator struct { Event *BridgeTransferKLAYKLAYFeeChanged // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYKLAYFeeChangedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYKLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYKLAYFeeChanged) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYKLAYFeeChangedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYKLAYFeeChangedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYKLAYFeeChanged represents a KLAYFeeChanged event raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYKLAYFeeChanged struct { Fee *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterKLAYFeeChanged is a free log retrieval operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) FilterKLAYFeeChanged(opts *bind.FilterOpts, fee []*big.Int) (*BridgeTransferKLAYKLAYFeeChangedIterator, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferKLAY.contract.FilterLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return &BridgeTransferKLAYKLAYFeeChangedIterator{contract: _BridgeTransferKLAY.contract, event: "KLAYFeeChanged", logs: logs, sub: sub}, nil } // WatchKLAYFeeChanged is a free log subscription operation binding the contract event 0xa7a33d0996347e1aa55ca2206015b61b9534bdd881d59d59aa680e25eefac365. // // Solidity: e KLAYFeeChanged(fee indexed uint256) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) WatchKLAYFeeChanged(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYKLAYFeeChanged, fee []*big.Int) (event.Subscription, error) { var feeRule []interface{} for _, feeItem := range fee { feeRule = append(feeRule, feeItem) } logs, sub, err := _BridgeTransferKLAY.contract.WatchLogs(opts, "KLAYFeeChanged", feeRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYKLAYFeeChanged) if err := _BridgeTransferKLAY.contract.UnpackLog(event, "KLAYFeeChanged", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYKLAYLockedIterator is returned from FilterKLAYLocked and is used to iterate over the raw logs and unpacked data for KLAYLocked events raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYKLAYLockedIterator struct { Event *BridgeTransferKLAYKLAYLocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYKLAYLockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYKLAYLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYKLAYLocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYKLAYLockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYKLAYLockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYKLAYLocked represents a KLAYLocked event raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYKLAYLocked struct { Raw types.Log // Blockchain specific contextual infos } // FilterKLAYLocked is a free log retrieval operation binding the contract event 0x915f3053cbc6842207cd97b68c0b585109b4f2fe61c5dbeb25d7678bfdfb8dfa. // // Solidity: e KLAYLocked() func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) FilterKLAYLocked(opts *bind.FilterOpts) (*BridgeTransferKLAYKLAYLockedIterator, error) { logs, sub, err := _BridgeTransferKLAY.contract.FilterLogs(opts, "KLAYLocked") if err != nil { return nil, err } return &BridgeTransferKLAYKLAYLockedIterator{contract: _BridgeTransferKLAY.contract, event: "KLAYLocked", logs: logs, sub: sub}, nil } // WatchKLAYLocked is a free log subscription operation binding the contract event 0x915f3053cbc6842207cd97b68c0b585109b4f2fe61c5dbeb25d7678bfdfb8dfa. // // Solidity: e KLAYLocked() func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) WatchKLAYLocked(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYKLAYLocked) (event.Subscription, error) { logs, sub, err := _BridgeTransferKLAY.contract.WatchLogs(opts, "KLAYLocked") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYKLAYLocked) if err := _BridgeTransferKLAY.contract.UnpackLog(event, "KLAYLocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYKLAYUnlockedIterator is returned from FilterKLAYUnlocked and is used to iterate over the raw logs and unpacked data for KLAYUnlocked events raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYKLAYUnlockedIterator struct { Event *BridgeTransferKLAYKLAYUnlocked // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYKLAYUnlockedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYKLAYUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYKLAYUnlocked) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYKLAYUnlockedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYKLAYUnlockedIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYKLAYUnlocked represents a KLAYUnlocked event raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYKLAYUnlocked struct { Raw types.Log // Blockchain specific contextual infos } // FilterKLAYUnlocked is a free log retrieval operation binding the contract event 0xd20610c9b78a6903ef134539e3deb5d243be461de6ef12d4c29536bb9b54fa1b. // // Solidity: e KLAYUnlocked() func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) FilterKLAYUnlocked(opts *bind.FilterOpts) (*BridgeTransferKLAYKLAYUnlockedIterator, error) { logs, sub, err := _BridgeTransferKLAY.contract.FilterLogs(opts, "KLAYUnlocked") if err != nil { return nil, err } return &BridgeTransferKLAYKLAYUnlockedIterator{contract: _BridgeTransferKLAY.contract, event: "KLAYUnlocked", logs: logs, sub: sub}, nil } // WatchKLAYUnlocked is a free log subscription operation binding the contract event 0xd20610c9b78a6903ef134539e3deb5d243be461de6ef12d4c29536bb9b54fa1b. // // Solidity: e KLAYUnlocked() func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) WatchKLAYUnlocked(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYKLAYUnlocked) (event.Subscription, error) { logs, sub, err := _BridgeTransferKLAY.contract.WatchLogs(opts, "KLAYUnlocked") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYKLAYUnlocked) if err := _BridgeTransferKLAY.contract.UnpackLog(event, "KLAYUnlocked", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYOwnershipTransferredIterator struct { Event *BridgeTransferKLAYOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYOwnershipTransferred represents a OwnershipTransferred event raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*BridgeTransferKLAYOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTransferKLAY.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &BridgeTransferKLAYOwnershipTransferredIterator{contract: _BridgeTransferKLAY.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _BridgeTransferKLAY.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYOwnershipTransferred) if err := _BridgeTransferKLAY.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // BridgeTransferKLAYRequestValueTransferIterator is returned from FilterRequestValueTransfer and is used to iterate over the raw logs and unpacked data for RequestValueTransfer events raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYRequestValueTransferIterator struct { Event *BridgeTransferKLAYRequestValueTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *BridgeTransferKLAYRequestValueTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYRequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(BridgeTransferKLAYRequestValueTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *BridgeTransferKLAYRequestValueTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *BridgeTransferKLAYRequestValueTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // BridgeTransferKLAYRequestValueTransfer represents a RequestValueTransfer event raised by the BridgeTransferKLAY contract. type BridgeTransferKLAYRequestValueTransfer struct { TokenType uint8 From common.Address To common.Address TokenAddress common.Address ValueOrTokenId *big.Int RequestNonce uint64 Fee *big.Int ExtraData []byte Raw types.Log // Blockchain specific contextual infos } // FilterRequestValueTransfer is a free log retrieval operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) FilterRequestValueTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenAddress []common.Address) (*BridgeTransferKLAYRequestValueTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferKLAY.contract.FilterLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return &BridgeTransferKLAYRequestValueTransferIterator{contract: _BridgeTransferKLAY.contract, event: "RequestValueTransfer", logs: logs, sub: sub}, nil } // WatchRequestValueTransfer is a free log subscription operation binding the contract event 0xeff76c36e53fa5ff52f27acc8a34d5047a8246abb07b77b12f1309f71e337f09. // // Solidity: e RequestValueTransfer(tokenType uint8, from indexed address, to indexed address, tokenAddress indexed address, valueOrTokenId uint256, requestNonce uint64, fee uint256, extraData bytes) func (_BridgeTransferKLAY *BridgeTransferKLAYFilterer) WatchRequestValueTransfer(opts *bind.WatchOpts, sink chan<- *BridgeTransferKLAYRequestValueTransfer, from []common.Address, to []common.Address, tokenAddress []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenAddressRule []interface{} for _, tokenAddressItem := range tokenAddress { tokenAddressRule = append(tokenAddressRule, tokenAddressItem) } logs, sub, err := _BridgeTransferKLAY.contract.WatchLogs(opts, "RequestValueTransfer", fromRule, toRule, tokenAddressRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(BridgeTransferKLAYRequestValueTransfer) if err := _BridgeTransferKLAY.contract.UnpackLog(event, "RequestValueTransfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // CountersABI is the input ABI used to generate the binding from. const CountersABI = "[]" // CountersBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const CountersBinRuntime = `0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058207329cab25de591c35947480820e66bd7e2d232979872616f21ac6e5783a017700029` // CountersBin is the compiled bytecode used for deploying new contracts. const CountersBin = `0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058207329cab25de591c35947480820e66bd7e2d232979872616f21ac6e5783a017700029` // DeployCounters deploys a new Klaytn contract, binding an instance of Counters to it. func DeployCounters(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Counters, error) { parsed, err := abi.JSON(strings.NewReader(CountersABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(CountersBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Counters{CountersCaller: CountersCaller{contract: contract}, CountersTransactor: CountersTransactor{contract: contract}, CountersFilterer: CountersFilterer{contract: contract}}, nil } // Counters is an auto generated Go binding around a Klaytn contract. type Counters struct { CountersCaller // Read-only binding to the contract CountersTransactor // Write-only binding to the contract CountersFilterer // Log filterer for contract events } // CountersCaller is an auto generated read-only Go binding around a Klaytn contract. type CountersCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // CountersTransactor is an auto generated write-only Go binding around a Klaytn contract. type CountersTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // CountersFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type CountersFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // CountersSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type CountersSession struct { Contract *Counters // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // CountersCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type CountersCallerSession struct { Contract *CountersCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // CountersTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type CountersTransactorSession struct { Contract *CountersTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // CountersRaw is an auto generated low-level Go binding around a Klaytn contract. type CountersRaw struct { Contract *Counters // Generic contract binding to access the raw methods on } // CountersCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type CountersCallerRaw struct { Contract *CountersCaller // Generic read-only contract binding to access the raw methods on } // CountersTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type CountersTransactorRaw struct { Contract *CountersTransactor // Generic write-only contract binding to access the raw methods on } // NewCounters creates a new instance of Counters, bound to a specific deployed contract. func NewCounters(address common.Address, backend bind.ContractBackend) (*Counters, error) { contract, err := bindCounters(address, backend, backend, backend) if err != nil { return nil, err } return &Counters{CountersCaller: CountersCaller{contract: contract}, CountersTransactor: CountersTransactor{contract: contract}, CountersFilterer: CountersFilterer{contract: contract}}, nil } // NewCountersCaller creates a new read-only instance of Counters, bound to a specific deployed contract. func NewCountersCaller(address common.Address, caller bind.ContractCaller) (*CountersCaller, error) { contract, err := bindCounters(address, caller, nil, nil) if err != nil { return nil, err } return &CountersCaller{contract: contract}, nil } // NewCountersTransactor creates a new write-only instance of Counters, bound to a specific deployed contract. func NewCountersTransactor(address common.Address, transactor bind.ContractTransactor) (*CountersTransactor, error) { contract, err := bindCounters(address, nil, transactor, nil) if err != nil { return nil, err } return &CountersTransactor{contract: contract}, nil } // NewCountersFilterer creates a new log filterer instance of Counters, bound to a specific deployed contract. func NewCountersFilterer(address common.Address, filterer bind.ContractFilterer) (*CountersFilterer, error) { contract, err := bindCounters(address, nil, nil, filterer) if err != nil { return nil, err } return &CountersFilterer{contract: contract}, nil } // bindCounters binds a generic wrapper to an already deployed contract. func bindCounters(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(CountersABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Counters *CountersRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Counters.Contract.CountersCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Counters *CountersRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Counters.Contract.CountersTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Counters *CountersRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Counters.Contract.CountersTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Counters *CountersCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Counters.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Counters *CountersTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Counters.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Counters *CountersTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Counters.Contract.contract.Transact(opts, method, params...) } // ERC165ABI is the input ABI used to generate the binding from. const ERC165ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}]" // ERC165BinRuntime is the compiled bytecode used for adding genesis block without deploying code. const ERC165BinRuntime = `0x` // ERC165Bin is the compiled bytecode used for deploying new contracts. const ERC165Bin = `0x` // DeployERC165 deploys a new Klaytn contract, binding an instance of ERC165 to it. func DeployERC165(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC165, error) { parsed, err := abi.JSON(strings.NewReader(ERC165ABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC165Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil } // ERC165 is an auto generated Go binding around a Klaytn contract. type ERC165 struct { ERC165Caller // Read-only binding to the contract ERC165Transactor // Write-only binding to the contract ERC165Filterer // Log filterer for contract events } // ERC165Caller is an auto generated read-only Go binding around a Klaytn contract. type ERC165Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Transactor is an auto generated write-only Go binding around a Klaytn contract. type ERC165Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Filterer is an auto generated log filtering Go binding around a Klaytn contract events. type ERC165Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC165Session is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type ERC165Session struct { Contract *ERC165 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC165CallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type ERC165CallerSession struct { Contract *ERC165Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC165TransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type ERC165TransactorSession struct { Contract *ERC165Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC165Raw is an auto generated low-level Go binding around a Klaytn contract. type ERC165Raw struct { Contract *ERC165 // Generic contract binding to access the raw methods on } // ERC165CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type ERC165CallerRaw struct { Contract *ERC165Caller // Generic read-only contract binding to access the raw methods on } // ERC165TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type ERC165TransactorRaw struct { Contract *ERC165Transactor // Generic write-only contract binding to access the raw methods on } // NewERC165 creates a new instance of ERC165, bound to a specific deployed contract. func NewERC165(address common.Address, backend bind.ContractBackend) (*ERC165, error) { contract, err := bindERC165(address, backend, backend, backend) if err != nil { return nil, err } return &ERC165{ERC165Caller: ERC165Caller{contract: contract}, ERC165Transactor: ERC165Transactor{contract: contract}, ERC165Filterer: ERC165Filterer{contract: contract}}, nil } // NewERC165Caller creates a new read-only instance of ERC165, bound to a specific deployed contract. func NewERC165Caller(address common.Address, caller bind.ContractCaller) (*ERC165Caller, error) { contract, err := bindERC165(address, caller, nil, nil) if err != nil { return nil, err } return &ERC165Caller{contract: contract}, nil } // NewERC165Transactor creates a new write-only instance of ERC165, bound to a specific deployed contract. func NewERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC165Transactor, error) { contract, err := bindERC165(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC165Transactor{contract: contract}, nil } // NewERC165Filterer creates a new log filterer instance of ERC165, bound to a specific deployed contract. func NewERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC165Filterer, error) { contract, err := bindERC165(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC165Filterer{contract: contract}, nil } // bindERC165 binds a generic wrapper to an already deployed contract. func bindERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC165ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC165 *ERC165Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC165.Contract.ERC165Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC165 *ERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC165.Contract.ERC165Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC165 *ERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC165.Contract.ERC165Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC165 *ERC165CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC165.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC165 *ERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC165.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC165 *ERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC165.Contract.contract.Transact(opts, method, params...) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC165 *ERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC165.contract.Call(opts, out, "supportsInterface", interfaceId) return *ret0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC165 *ERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC165 *ERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC165.Contract.SupportsInterface(&_ERC165.CallOpts, interfaceId) } // ERC20ABI is the input ABI used to generate the binding from. const ERC20ABI = "[{\"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\"}]" // ERC20BinRuntime is the compiled bytecode used for adding genesis block without deploying code. const ERC20BinRuntime = `0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d561020b565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610211565b6100b96004803603604081101561013357600080fd5b506001600160a01b038135169060200135610268565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102a4565b6100b96004803603604081101561018557600080fd5b506001600160a01b0381351690602001356102bf565b6100b9600480360360408110156101b157600080fd5b506001600160a01b0381351690602001356102fb565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610308565b6000610202338484610333565b50600192915050565b60025490565b600061021e848484610425565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461025e918691610259908663ffffffff61056d16565b610333565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff6105cd16565b6001600160a01b031660009081526020819052604090205490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff61056d16565b6000610202338484610425565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661037b57604051600160e51b62461bcd02815260040180806020018281038252602481526020018061069c6024913960400191505060405180910390fd5b6001600160a01b0382166103c357604051600160e51b62461bcd0281526004018080602001828103825260228152602001806106556022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661046d57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806106776025913960400191505060405180910390fd5b6001600160a01b0382166104b557604051600160e51b62461bcd0281526004018080602001828103825260238152602001806106326023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546104de908263ffffffff61056d16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610513908263ffffffff6105cd16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105c75760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561062a5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820802770bd4b0917c80d6b47964550f6c3e437f4a0b7286b55aa9963a98c5aaf400029` // ERC20Bin is the compiled bytecode used for deploying new contracts. const ERC20Bin = `0x608060405234801561001057600080fd5b506106eb806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a0823114610149578063a457c2d71461016f578063a9059cbb1461019b578063dd62ed3e146101c757610088565b8063095ea7b31461008d57806318160ddd146100cd57806323b872dd146100e7578063395093511461011d575b600080fd5b6100b9600480360360408110156100a357600080fd5b506001600160a01b0381351690602001356101f5565b604080519115158252519081900360200190f35b6100d561020b565b60408051918252519081900360200190f35b6100b9600480360360608110156100fd57600080fd5b506001600160a01b03813581169160208101359091169060400135610211565b6100b96004803603604081101561013357600080fd5b506001600160a01b038135169060200135610268565b6100d56004803603602081101561015f57600080fd5b50356001600160a01b03166102a4565b6100b96004803603604081101561018557600080fd5b506001600160a01b0381351690602001356102bf565b6100b9600480360360408110156101b157600080fd5b506001600160a01b0381351690602001356102fb565b6100d5600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610308565b6000610202338484610333565b50600192915050565b60025490565b600061021e848484610425565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461025e918691610259908663ffffffff61056d16565b610333565b5060019392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff6105cd16565b6001600160a01b031660009081526020819052604090205490565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610202918590610259908663ffffffff61056d16565b6000610202338484610425565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661037b57604051600160e51b62461bcd02815260040180806020018281038252602481526020018061069c6024913960400191505060405180910390fd5b6001600160a01b0382166103c357604051600160e51b62461bcd0281526004018080602001828103825260228152602001806106556022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661046d57604051600160e51b62461bcd0281526004018080602001828103825260258152602001806106776025913960400191505060405180910390fd5b6001600160a01b0382166104b557604051600160e51b62461bcd0281526004018080602001828103825260238152602001806106326023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546104de908263ffffffff61056d16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610513908263ffffffff6105cd16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156105c75760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561062a5760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a72305820802770bd4b0917c80d6b47964550f6c3e437f4a0b7286b55aa9963a98c5aaf400029` // DeployERC20 deploys a new Klaytn contract, binding an instance of ERC20 to it. func DeployERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20, error) { parsed, err := abi.JSON(strings.NewReader(ERC20ABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC20Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC20{ERC20Caller: ERC20Caller{contract: contract}, ERC20Transactor: ERC20Transactor{contract: contract}, ERC20Filterer: ERC20Filterer{contract: contract}}, nil } // ERC20 is an auto generated Go binding around a Klaytn contract. type ERC20 struct { ERC20Caller // Read-only binding to the contract ERC20Transactor // Write-only binding to the contract ERC20Filterer // Log filterer for contract events } // ERC20Caller is an auto generated read-only Go binding around a Klaytn contract. type ERC20Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20Transactor is an auto generated write-only Go binding around a Klaytn contract. type ERC20Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20Filterer is an auto generated log filtering Go binding around a Klaytn contract events. type ERC20Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20Session is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type ERC20Session struct { Contract *ERC20 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC20CallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type ERC20CallerSession struct { Contract *ERC20Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC20TransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type ERC20TransactorSession struct { Contract *ERC20Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC20Raw is an auto generated low-level Go binding around a Klaytn contract. type ERC20Raw struct { Contract *ERC20 // Generic contract binding to access the raw methods on } // ERC20CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type ERC20CallerRaw struct { Contract *ERC20Caller // Generic read-only contract binding to access the raw methods on } // ERC20TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type ERC20TransactorRaw struct { Contract *ERC20Transactor // Generic write-only contract binding to access the raw methods on } // NewERC20 creates a new instance of ERC20, bound to a specific deployed contract. func NewERC20(address common.Address, backend bind.ContractBackend) (*ERC20, error) { contract, err := bindERC20(address, backend, backend, backend) if err != nil { return nil, err } return &ERC20{ERC20Caller: ERC20Caller{contract: contract}, ERC20Transactor: ERC20Transactor{contract: contract}, ERC20Filterer: ERC20Filterer{contract: contract}}, nil } // NewERC20Caller creates a new read-only instance of ERC20, bound to a specific deployed contract. func NewERC20Caller(address common.Address, caller bind.ContractCaller) (*ERC20Caller, error) { contract, err := bindERC20(address, caller, nil, nil) if err != nil { return nil, err } return &ERC20Caller{contract: contract}, nil } // NewERC20Transactor creates a new write-only instance of ERC20, bound to a specific deployed contract. func NewERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC20Transactor, error) { contract, err := bindERC20(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC20Transactor{contract: contract}, nil } // NewERC20Filterer creates a new log filterer instance of ERC20, bound to a specific deployed contract. func NewERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC20Filterer, error) { contract, err := bindERC20(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC20Filterer{contract: contract}, nil } // bindERC20 binds a generic wrapper to an already deployed contract. func bindERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC20ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC20 *ERC20Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC20.Contract.ERC20Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC20 *ERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC20.Contract.ERC20Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC20 *ERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC20.Contract.ERC20Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC20 *ERC20CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC20.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC20 *ERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC20.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC20 *ERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC20.Contract.contract.Transact(opts, method, params...) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20 *ERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20.contract.Call(opts, out, "allowance", owner, spender) return *ret0, err } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20 *ERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _ERC20.Contract.Allowance(&_ERC20.CallOpts, owner, spender) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20 *ERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _ERC20.Contract.Allowance(&_ERC20.CallOpts, owner, spender) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20 *ERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20.contract.Call(opts, out, "balanceOf", account) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20 *ERC20Session) BalanceOf(account common.Address) (*big.Int, error) { return _ERC20.Contract.BalanceOf(&_ERC20.CallOpts, account) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20 *ERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error) { return _ERC20.Contract.BalanceOf(&_ERC20.CallOpts, account) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20 *ERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20.contract.Call(opts, out, "totalSupply") return *ret0, err } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20 *ERC20Session) TotalSupply() (*big.Int, error) { return _ERC20.Contract.TotalSupply(&_ERC20.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20 *ERC20CallerSession) TotalSupply() (*big.Int, error) { return _ERC20.Contract.TotalSupply(&_ERC20.CallOpts) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20 *ERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20.contract.Transact(opts, "approve", spender, value) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20 *ERC20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20.Contract.Approve(&_ERC20.TransactOpts, spender, value) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20 *ERC20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20.Contract.Approve(&_ERC20.TransactOpts, spender, value) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20 *ERC20Transactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20 *ERC20Session) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20.Contract.DecreaseAllowance(&_ERC20.TransactOpts, spender, subtractedValue) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20 *ERC20TransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20.Contract.DecreaseAllowance(&_ERC20.TransactOpts, spender, subtractedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20 *ERC20Transactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20.contract.Transact(opts, "increaseAllowance", spender, addedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20 *ERC20Session) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20.Contract.IncreaseAllowance(&_ERC20.TransactOpts, spender, addedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20 *ERC20TransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20.Contract.IncreaseAllowance(&_ERC20.TransactOpts, spender, addedValue) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20 *ERC20Transactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20.contract.Transact(opts, "transfer", recipient, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20 *ERC20Session) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20.Contract.Transfer(&_ERC20.TransactOpts, recipient, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20 *ERC20TransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20.Contract.Transfer(&_ERC20.TransactOpts, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20 *ERC20Transactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20.contract.Transact(opts, "transferFrom", sender, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20 *ERC20Session) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20.Contract.TransferFrom(&_ERC20.TransactOpts, sender, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20 *ERC20TransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20.Contract.TransferFrom(&_ERC20.TransactOpts, sender, recipient, amount) } // 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. type ERC20ApprovalIterator struct { Event *ERC20Approval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC20ApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC20Approval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC20Approval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC20ApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC20ApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC20Approval represents a Approval event raised by the ERC20 contract. type ERC20Approval struct { Owner common.Address Spender common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, spender indexed address, value uint256) func (_ERC20 *ERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20ApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _ERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return &ERC20ApprovalIterator{contract: _ERC20.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, spender indexed address, value uint256) func (_ERC20 *ERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _ERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC20Approval) if err := _ERC20.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // 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. type ERC20TransferIterator struct { Event *ERC20Transfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC20TransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC20Transfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC20Transfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC20TransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC20TransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC20Transfer represents a Transfer event raised by the ERC20 contract. type ERC20Transfer struct { From common.Address To common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, value uint256) func (_ERC20 *ERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20TransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _ERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return &ERC20TransferIterator{contract: _ERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, value uint256) func (_ERC20 *ERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _ERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC20Transfer) if err := _ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC20BurnableABI is the input ABI used to generate the binding from. const ERC20BurnableABI = "[{\"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\"}]" // ERC20BurnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const ERC20BurnableBinRuntime = `0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461017e57806379cc6790146101a4578063a457c2d7146101d0578063a9059cbb146101fc578063dd62ed3e146102285761009e565b8063095ea7b3146100a357806318160ddd146100e357806323b872dd146100fd578063395093511461013357806342966c681461015f575b600080fd5b6100cf600480360360408110156100b957600080fd5b506001600160a01b038135169060200135610256565b604080519115158252519081900360200190f35b6100eb61026c565b60408051918252519081900360200190f35b6100cf6004803603606081101561011357600080fd5b506001600160a01b03813581169160208101359091169060400135610272565b6100cf6004803603604081101561014957600080fd5b506001600160a01b0381351690602001356102c9565b61017c6004803603602081101561017557600080fd5b5035610305565b005b6100eb6004803603602081101561019457600080fd5b50356001600160a01b0316610312565b61017c600480360360408110156101ba57600080fd5b506001600160a01b03813516906020013561032d565b6100cf600480360360408110156101e657600080fd5b506001600160a01b03813516906020013561033b565b6100cf6004803603604081101561021257600080fd5b506001600160a01b038135169060200135610377565b6100eb6004803603604081101561023e57600080fd5b506001600160a01b0381358116916020013516610384565b60006102633384846103af565b50600192915050565b60025490565b600061027f8484846104a1565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546102bf9186916102ba908663ffffffff6105e916565b6103af565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102639185906102ba908663ffffffff61064916565b61030f33826106ad565b50565b6001600160a01b031660009081526020819052604090205490565b6103378282610789565b5050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102639185906102ba908663ffffffff6105e916565b60006102633384846104a1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103f757604051600160e51b62461bcd02815260040180806020018281038252602481526020018061085a6024913960400191505060405180910390fd5b6001600160a01b03821661043f57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806107f26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104e957604051600160e51b62461bcd0281526004018080602001828103825260258152602001806108356025913960400191505060405180910390fd5b6001600160a01b03821661053157604051600160e51b62461bcd0281526004018080602001828103825260238152602001806107cf6023913960400191505060405180910390fd5b6001600160a01b03831660009081526020819052604090205461055a908263ffffffff6105e916565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461058f908263ffffffff61064916565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156106435760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156106a65760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166106f557604051600160e51b62461bcd0281526004018080602001828103825260218152602001806108146021913960400191505060405180910390fd5b600254610708908263ffffffff6105e916565b6002556001600160a01b038216600090815260208190526040902054610734908263ffffffff6105e916565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b61079382826106ad565b6001600160a01b0382166000908152600160209081526040808320338085529252909120546103379184916102ba908563ffffffff6105e91656fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a7230582013b4ee4a596e91b545aeb6447c3788b121a99567674027b21b642c7da8dc493c0029` // ERC20BurnableBin is the compiled bytecode used for deploying new contracts. const ERC20BurnableBin = `0x608060405234801561001057600080fd5b506108a9806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461017e57806379cc6790146101a4578063a457c2d7146101d0578063a9059cbb146101fc578063dd62ed3e146102285761009e565b8063095ea7b3146100a357806318160ddd146100e357806323b872dd146100fd578063395093511461013357806342966c681461015f575b600080fd5b6100cf600480360360408110156100b957600080fd5b506001600160a01b038135169060200135610256565b604080519115158252519081900360200190f35b6100eb61026c565b60408051918252519081900360200190f35b6100cf6004803603606081101561011357600080fd5b506001600160a01b03813581169160208101359091169060400135610272565b6100cf6004803603604081101561014957600080fd5b506001600160a01b0381351690602001356102c9565b61017c6004803603602081101561017557600080fd5b5035610305565b005b6100eb6004803603602081101561019457600080fd5b50356001600160a01b0316610312565b61017c600480360360408110156101ba57600080fd5b506001600160a01b03813516906020013561032d565b6100cf600480360360408110156101e657600080fd5b506001600160a01b03813516906020013561033b565b6100cf6004803603604081101561021257600080fd5b506001600160a01b038135169060200135610377565b6100eb6004803603604081101561023e57600080fd5b506001600160a01b0381358116916020013516610384565b60006102633384846103af565b50600192915050565b60025490565b600061027f8484846104a1565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546102bf9186916102ba908663ffffffff6105e916565b6103af565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102639185906102ba908663ffffffff61064916565b61030f33826106ad565b50565b6001600160a01b031660009081526020819052604090205490565b6103378282610789565b5050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102639185906102ba908663ffffffff6105e916565b60006102633384846104a1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103f757604051600160e51b62461bcd02815260040180806020018281038252602481526020018061085a6024913960400191505060405180910390fd5b6001600160a01b03821661043f57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806107f26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166104e957604051600160e51b62461bcd0281526004018080602001828103825260258152602001806108356025913960400191505060405180910390fd5b6001600160a01b03821661053157604051600160e51b62461bcd0281526004018080602001828103825260238152602001806107cf6023913960400191505060405180910390fd5b6001600160a01b03831660009081526020819052604090205461055a908263ffffffff6105e916565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461058f908263ffffffff61064916565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156106435760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156106a65760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166106f557604051600160e51b62461bcd0281526004018080602001828103825260218152602001806108146021913960400191505060405180910390fd5b600254610708908263ffffffff6105e916565b6002556001600160a01b038216600090815260208190526040902054610734908263ffffffff6105e916565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b61079382826106ad565b6001600160a01b0382166000908152600160209081526040808320338085529252909120546103379184916102ba908563ffffffff6105e91656fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a7230582013b4ee4a596e91b545aeb6447c3788b121a99567674027b21b642c7da8dc493c0029` // DeployERC20Burnable deploys a new Klaytn contract, binding an instance of ERC20Burnable to it. func DeployERC20Burnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20Burnable, error) { parsed, err := abi.JSON(strings.NewReader(ERC20BurnableABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC20BurnableBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC20Burnable{ERC20BurnableCaller: ERC20BurnableCaller{contract: contract}, ERC20BurnableTransactor: ERC20BurnableTransactor{contract: contract}, ERC20BurnableFilterer: ERC20BurnableFilterer{contract: contract}}, nil } // ERC20Burnable is an auto generated Go binding around a Klaytn contract. type ERC20Burnable struct { ERC20BurnableCaller // Read-only binding to the contract ERC20BurnableTransactor // Write-only binding to the contract ERC20BurnableFilterer // Log filterer for contract events } // ERC20BurnableCaller is an auto generated read-only Go binding around a Klaytn contract. type ERC20BurnableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20BurnableTransactor is an auto generated write-only Go binding around a Klaytn contract. type ERC20BurnableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20BurnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type ERC20BurnableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20BurnableSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type ERC20BurnableSession struct { Contract *ERC20Burnable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC20BurnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type ERC20BurnableCallerSession struct { Contract *ERC20BurnableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC20BurnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type ERC20BurnableTransactorSession struct { Contract *ERC20BurnableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC20BurnableRaw is an auto generated low-level Go binding around a Klaytn contract. type ERC20BurnableRaw struct { Contract *ERC20Burnable // Generic contract binding to access the raw methods on } // ERC20BurnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type ERC20BurnableCallerRaw struct { Contract *ERC20BurnableCaller // Generic read-only contract binding to access the raw methods on } // ERC20BurnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type ERC20BurnableTransactorRaw struct { Contract *ERC20BurnableTransactor // Generic write-only contract binding to access the raw methods on } // NewERC20Burnable creates a new instance of ERC20Burnable, bound to a specific deployed contract. func NewERC20Burnable(address common.Address, backend bind.ContractBackend) (*ERC20Burnable, error) { contract, err := bindERC20Burnable(address, backend, backend, backend) if err != nil { return nil, err } return &ERC20Burnable{ERC20BurnableCaller: ERC20BurnableCaller{contract: contract}, ERC20BurnableTransactor: ERC20BurnableTransactor{contract: contract}, ERC20BurnableFilterer: ERC20BurnableFilterer{contract: contract}}, nil } // NewERC20BurnableCaller creates a new read-only instance of ERC20Burnable, bound to a specific deployed contract. func NewERC20BurnableCaller(address common.Address, caller bind.ContractCaller) (*ERC20BurnableCaller, error) { contract, err := bindERC20Burnable(address, caller, nil, nil) if err != nil { return nil, err } return &ERC20BurnableCaller{contract: contract}, nil } // NewERC20BurnableTransactor creates a new write-only instance of ERC20Burnable, bound to a specific deployed contract. func NewERC20BurnableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20BurnableTransactor, error) { contract, err := bindERC20Burnable(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC20BurnableTransactor{contract: contract}, nil } // NewERC20BurnableFilterer creates a new log filterer instance of ERC20Burnable, bound to a specific deployed contract. func NewERC20BurnableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20BurnableFilterer, error) { contract, err := bindERC20Burnable(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC20BurnableFilterer{contract: contract}, nil } // bindERC20Burnable binds a generic wrapper to an already deployed contract. func bindERC20Burnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC20BurnableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC20Burnable *ERC20BurnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC20Burnable.Contract.ERC20BurnableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC20Burnable *ERC20BurnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC20Burnable.Contract.ERC20BurnableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC20Burnable *ERC20BurnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC20Burnable.Contract.ERC20BurnableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC20Burnable *ERC20BurnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC20Burnable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC20Burnable *ERC20BurnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC20Burnable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC20Burnable *ERC20BurnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC20Burnable.Contract.contract.Transact(opts, method, params...) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20Burnable *ERC20BurnableCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20Burnable.contract.Call(opts, out, "allowance", owner, spender) return *ret0, err } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20Burnable *ERC20BurnableSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _ERC20Burnable.Contract.Allowance(&_ERC20Burnable.CallOpts, owner, spender) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20Burnable *ERC20BurnableCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _ERC20Burnable.Contract.Allowance(&_ERC20Burnable.CallOpts, owner, spender) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20Burnable *ERC20BurnableCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20Burnable.contract.Call(opts, out, "balanceOf", account) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20Burnable *ERC20BurnableSession) BalanceOf(account common.Address) (*big.Int, error) { return _ERC20Burnable.Contract.BalanceOf(&_ERC20Burnable.CallOpts, account) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20Burnable *ERC20BurnableCallerSession) BalanceOf(account common.Address) (*big.Int, error) { return _ERC20Burnable.Contract.BalanceOf(&_ERC20Burnable.CallOpts, account) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20Burnable *ERC20BurnableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20Burnable.contract.Call(opts, out, "totalSupply") return *ret0, err } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20Burnable *ERC20BurnableSession) TotalSupply() (*big.Int, error) { return _ERC20Burnable.Contract.TotalSupply(&_ERC20Burnable.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20Burnable *ERC20BurnableCallerSession) TotalSupply() (*big.Int, error) { return _ERC20Burnable.Contract.TotalSupply(&_ERC20Burnable.CallOpts) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20Burnable.contract.Transact(opts, "approve", spender, value) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.Approve(&_ERC20Burnable.TransactOpts, spender, value) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.Approve(&_ERC20Burnable.TransactOpts, spender, value) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(amount uint256) returns() func (_ERC20Burnable *ERC20BurnableTransactor) Burn(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.contract.Transact(opts, "burn", amount) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(amount uint256) returns() func (_ERC20Burnable *ERC20BurnableSession) Burn(amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.Burn(&_ERC20Burnable.TransactOpts, amount) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(amount uint256) returns() func (_ERC20Burnable *ERC20BurnableTransactorSession) Burn(amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.Burn(&_ERC20Burnable.TransactOpts, amount) } // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. // // Solidity: function burnFrom(account address, amount uint256) returns() func (_ERC20Burnable *ERC20BurnableTransactor) BurnFrom(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.contract.Transact(opts, "burnFrom", account, amount) } // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. // // Solidity: function burnFrom(account address, amount uint256) returns() func (_ERC20Burnable *ERC20BurnableSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.BurnFrom(&_ERC20Burnable.TransactOpts, account, amount) } // BurnFrom is a paid mutator transaction binding the contract method 0x79cc6790. // // Solidity: function burnFrom(account address, amount uint256) returns() func (_ERC20Burnable *ERC20BurnableTransactorSession) BurnFrom(account common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.BurnFrom(&_ERC20Burnable.TransactOpts, account, amount) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20Burnable.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.DecreaseAllowance(&_ERC20Burnable.TransactOpts, spender, subtractedValue) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.DecreaseAllowance(&_ERC20Burnable.TransactOpts, spender, subtractedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20Burnable.contract.Transact(opts, "increaseAllowance", spender, addedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.IncreaseAllowance(&_ERC20Burnable.TransactOpts, spender, addedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.IncreaseAllowance(&_ERC20Burnable.TransactOpts, spender, addedValue) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.contract.Transact(opts, "transfer", recipient, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.Transfer(&_ERC20Burnable.TransactOpts, recipient, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.Transfer(&_ERC20Burnable.TransactOpts, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.contract.Transact(opts, "transferFrom", sender, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.TransferFrom(&_ERC20Burnable.TransactOpts, sender, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20Burnable *ERC20BurnableTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Burnable.Contract.TransferFrom(&_ERC20Burnable.TransactOpts, sender, recipient, amount) } // 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. type ERC20BurnableApprovalIterator struct { Event *ERC20BurnableApproval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC20BurnableApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC20BurnableApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC20BurnableApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC20BurnableApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC20BurnableApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC20BurnableApproval represents a Approval event raised by the ERC20Burnable contract. type ERC20BurnableApproval struct { Owner common.Address Spender common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, spender indexed address, value uint256) func (_ERC20Burnable *ERC20BurnableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20BurnableApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _ERC20Burnable.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return &ERC20BurnableApprovalIterator{contract: _ERC20Burnable.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, spender indexed address, value uint256) func (_ERC20Burnable *ERC20BurnableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20BurnableApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _ERC20Burnable.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC20BurnableApproval) if err := _ERC20Burnable.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // 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. type ERC20BurnableTransferIterator struct { Event *ERC20BurnableTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC20BurnableTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC20BurnableTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC20BurnableTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC20BurnableTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC20BurnableTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC20BurnableTransfer represents a Transfer event raised by the ERC20Burnable contract. type ERC20BurnableTransfer struct { From common.Address To common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, value uint256) func (_ERC20Burnable *ERC20BurnableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20BurnableTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _ERC20Burnable.contract.FilterLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return &ERC20BurnableTransferIterator{contract: _ERC20Burnable.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, value uint256) func (_ERC20Burnable *ERC20BurnableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20BurnableTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _ERC20Burnable.contract.WatchLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC20BurnableTransfer) if err := _ERC20Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC20MintableABI is the input ABI used to generate the binding from. const ERC20MintableABI = "[{\"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\"}]" // ERC20MintableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const ERC20MintableBinRuntime = `0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146101c757806398650275146101ef578063a457c2d7146101f7578063a9059cbb14610223578063aa271e1a1461024f578063dd62ed3e14610275576100b4565b8063095ea7b3146100b957806318160ddd146100f957806323b872dd14610113578063395093511461014957806340c10f191461017557806370a08231146101a1575b600080fd5b6100e5600480360360408110156100cf57600080fd5b506001600160a01b0381351690602001356102a3565b604080519115158252519081900360200190f35b6101016102b9565b60408051918252519081900360200190f35b6100e56004803603606081101561012957600080fd5b506001600160a01b038135811691602081013590911690604001356102bf565b6100e56004803603604081101561015f57600080fd5b506001600160a01b038135169060200135610316565b6100e56004803603604081101561018b57600080fd5b506001600160a01b038135169060200135610352565b610101600480360360208110156101b757600080fd5b50356001600160a01b03166103a5565b6101ed600480360360208110156101dd57600080fd5b50356001600160a01b03166103c0565b005b6101ed610413565b6100e56004803603604081101561020d57600080fd5b506001600160a01b03813516906020013561041e565b6100e56004803603604081101561023957600080fd5b506001600160a01b03813516906020013561045a565b6100e56004803603602081101561026557600080fd5b50356001600160a01b0316610467565b6101016004803603604081101561028b57600080fd5b506001600160a01b0381358116916020013516610480565b60006102b03384846104ab565b50600192915050565b60025490565b60006102cc84848461059d565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461030c918691610307908663ffffffff6106e516565b6104ab565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102b0918590610307908663ffffffff61074516565b600061035d33610467565b61039b57604051600160e51b62461bcd028152600401808060200182810382526030815260200180610aca6030913960400191505060405180910390fd5b6102b083836107a9565b6001600160a01b031660009081526020819052604090205490565b6103c933610467565b61040757604051600160e51b62461bcd028152600401808060200182810382526030815260200180610aca6030913960400191505060405180910390fd5b6104108161089c565b50565b61041c336108e4565b565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102b0918590610307908663ffffffff6106e516565b60006102b033848461059d565b600061047a60038363ffffffff61092c16565b92915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104f357604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b626024913960400191505060405180910390fd5b6001600160a01b03821661053b57604051600160e51b62461bcd028152600401808060200182810382526022815260200180610aa86022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166105e557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610b3d6025913960400191505060405180910390fd5b6001600160a01b03821661062d57604051600160e51b62461bcd028152600401808060200182810382526023815260200180610a856023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610656908263ffffffff6106e516565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461068b908263ffffffff61074516565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561073f5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156107a25760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166108075760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b60025461081a908263ffffffff61074516565b6002556001600160a01b038216600090815260208190526040902054610846908263ffffffff61074516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6108ad60038263ffffffff61099616565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6108f560038263ffffffff610a1a16565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661097657604051600160e51b62461bcd028152600401808060200182810382526022815260200180610b1b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6109a0828261092c565b156109f55760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610a24828261092c565b610a6257604051600160e51b62461bcd028152600401808060200182810382526021815260200180610afa6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058208533d6897cadaf6784525a9d32e613a3c81da44cfdedf624f1bdb497f8b68f4a0029` // ERC20MintableBin is the compiled bytecode used for deploying new contracts. const ERC20MintableBin = `0x60806040526100133361001860201b60201c565b610189565b61003081600361006760201b6109961790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610077828261010860201b60201c565b156100e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216610169576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d496022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610bb1806101986000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146101c757806398650275146101ef578063a457c2d7146101f7578063a9059cbb14610223578063aa271e1a1461024f578063dd62ed3e14610275576100b4565b8063095ea7b3146100b957806318160ddd146100f957806323b872dd14610113578063395093511461014957806340c10f191461017557806370a08231146101a1575b600080fd5b6100e5600480360360408110156100cf57600080fd5b506001600160a01b0381351690602001356102a3565b604080519115158252519081900360200190f35b6101016102b9565b60408051918252519081900360200190f35b6100e56004803603606081101561012957600080fd5b506001600160a01b038135811691602081013590911690604001356102bf565b6100e56004803603604081101561015f57600080fd5b506001600160a01b038135169060200135610316565b6100e56004803603604081101561018b57600080fd5b506001600160a01b038135169060200135610352565b610101600480360360208110156101b757600080fd5b50356001600160a01b03166103a5565b6101ed600480360360208110156101dd57600080fd5b50356001600160a01b03166103c0565b005b6101ed610413565b6100e56004803603604081101561020d57600080fd5b506001600160a01b03813516906020013561041e565b6100e56004803603604081101561023957600080fd5b506001600160a01b03813516906020013561045a565b6100e56004803603602081101561026557600080fd5b50356001600160a01b0316610467565b6101016004803603604081101561028b57600080fd5b506001600160a01b0381358116916020013516610480565b60006102b03384846104ab565b50600192915050565b60025490565b60006102cc84848461059d565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461030c918691610307908663ffffffff6106e516565b6104ab565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102b0918590610307908663ffffffff61074516565b600061035d33610467565b61039b57604051600160e51b62461bcd028152600401808060200182810382526030815260200180610aca6030913960400191505060405180910390fd5b6102b083836107a9565b6001600160a01b031660009081526020819052604090205490565b6103c933610467565b61040757604051600160e51b62461bcd028152600401808060200182810382526030815260200180610aca6030913960400191505060405180910390fd5b6104108161089c565b50565b61041c336108e4565b565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102b0918590610307908663ffffffff6106e516565b60006102b033848461059d565b600061047a60038363ffffffff61092c16565b92915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166104f357604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b626024913960400191505060405180910390fd5b6001600160a01b03821661053b57604051600160e51b62461bcd028152600401808060200182810382526022815260200180610aa86022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166105e557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610b3d6025913960400191505060405180910390fd5b6001600160a01b03821661062d57604051600160e51b62461bcd028152600401808060200182810382526023815260200180610a856023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610656908263ffffffff6106e516565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461068b908263ffffffff61074516565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561073f5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156107a25760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166108075760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b60025461081a908263ffffffff61074516565b6002556001600160a01b038216600090815260208190526040902054610846908263ffffffff61074516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6108ad60038263ffffffff61099616565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6108f560038263ffffffff610a1a16565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b03821661097657604051600160e51b62461bcd028152600401808060200182810382526022815260200180610b1b6022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6109a0828261092c565b156109f55760408051600160e51b62461bcd02815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610a24828261092c565b610a6257604051600160e51b62461bcd028152600401808060200182810382526021815260200180610afa6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058208533d6897cadaf6784525a9d32e613a3c81da44cfdedf624f1bdb497f8b68f4a0029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373` // DeployERC20Mintable deploys a new Klaytn contract, binding an instance of ERC20Mintable to it. func DeployERC20Mintable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC20Mintable, error) { parsed, err := abi.JSON(strings.NewReader(ERC20MintableABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC20MintableBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC20Mintable{ERC20MintableCaller: ERC20MintableCaller{contract: contract}, ERC20MintableTransactor: ERC20MintableTransactor{contract: contract}, ERC20MintableFilterer: ERC20MintableFilterer{contract: contract}}, nil } // ERC20Mintable is an auto generated Go binding around a Klaytn contract. type ERC20Mintable struct { ERC20MintableCaller // Read-only binding to the contract ERC20MintableTransactor // Write-only binding to the contract ERC20MintableFilterer // Log filterer for contract events } // ERC20MintableCaller is an auto generated read-only Go binding around a Klaytn contract. type ERC20MintableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20MintableTransactor is an auto generated write-only Go binding around a Klaytn contract. type ERC20MintableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20MintableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type ERC20MintableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC20MintableSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type ERC20MintableSession struct { Contract *ERC20Mintable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC20MintableCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type ERC20MintableCallerSession struct { Contract *ERC20MintableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC20MintableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type ERC20MintableTransactorSession struct { Contract *ERC20MintableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC20MintableRaw is an auto generated low-level Go binding around a Klaytn contract. type ERC20MintableRaw struct { Contract *ERC20Mintable // Generic contract binding to access the raw methods on } // ERC20MintableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type ERC20MintableCallerRaw struct { Contract *ERC20MintableCaller // Generic read-only contract binding to access the raw methods on } // ERC20MintableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type ERC20MintableTransactorRaw struct { Contract *ERC20MintableTransactor // Generic write-only contract binding to access the raw methods on } // NewERC20Mintable creates a new instance of ERC20Mintable, bound to a specific deployed contract. func NewERC20Mintable(address common.Address, backend bind.ContractBackend) (*ERC20Mintable, error) { contract, err := bindERC20Mintable(address, backend, backend, backend) if err != nil { return nil, err } return &ERC20Mintable{ERC20MintableCaller: ERC20MintableCaller{contract: contract}, ERC20MintableTransactor: ERC20MintableTransactor{contract: contract}, ERC20MintableFilterer: ERC20MintableFilterer{contract: contract}}, nil } // NewERC20MintableCaller creates a new read-only instance of ERC20Mintable, bound to a specific deployed contract. func NewERC20MintableCaller(address common.Address, caller bind.ContractCaller) (*ERC20MintableCaller, error) { contract, err := bindERC20Mintable(address, caller, nil, nil) if err != nil { return nil, err } return &ERC20MintableCaller{contract: contract}, nil } // NewERC20MintableTransactor creates a new write-only instance of ERC20Mintable, bound to a specific deployed contract. func NewERC20MintableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC20MintableTransactor, error) { contract, err := bindERC20Mintable(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC20MintableTransactor{contract: contract}, nil } // NewERC20MintableFilterer creates a new log filterer instance of ERC20Mintable, bound to a specific deployed contract. func NewERC20MintableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC20MintableFilterer, error) { contract, err := bindERC20Mintable(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC20MintableFilterer{contract: contract}, nil } // bindERC20Mintable binds a generic wrapper to an already deployed contract. func bindERC20Mintable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC20MintableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC20Mintable *ERC20MintableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC20Mintable.Contract.ERC20MintableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC20Mintable *ERC20MintableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC20Mintable.Contract.ERC20MintableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC20Mintable *ERC20MintableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC20Mintable.Contract.ERC20MintableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC20Mintable *ERC20MintableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC20Mintable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC20Mintable *ERC20MintableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC20Mintable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC20Mintable *ERC20MintableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC20Mintable.Contract.contract.Transact(opts, method, params...) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20Mintable *ERC20MintableCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20Mintable.contract.Call(opts, out, "allowance", owner, spender) return *ret0, err } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20Mintable *ERC20MintableSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _ERC20Mintable.Contract.Allowance(&_ERC20Mintable.CallOpts, owner, spender) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_ERC20Mintable *ERC20MintableCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _ERC20Mintable.Contract.Allowance(&_ERC20Mintable.CallOpts, owner, spender) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20Mintable *ERC20MintableCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20Mintable.contract.Call(opts, out, "balanceOf", account) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20Mintable *ERC20MintableSession) BalanceOf(account common.Address) (*big.Int, error) { return _ERC20Mintable.Contract.BalanceOf(&_ERC20Mintable.CallOpts, account) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_ERC20Mintable *ERC20MintableCallerSession) BalanceOf(account common.Address) (*big.Int, error) { return _ERC20Mintable.Contract.BalanceOf(&_ERC20Mintable.CallOpts, account) } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_ERC20Mintable *ERC20MintableCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC20Mintable.contract.Call(opts, out, "isMinter", account) return *ret0, err } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_ERC20Mintable *ERC20MintableSession) IsMinter(account common.Address) (bool, error) { return _ERC20Mintable.Contract.IsMinter(&_ERC20Mintable.CallOpts, account) } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_ERC20Mintable *ERC20MintableCallerSession) IsMinter(account common.Address) (bool, error) { return _ERC20Mintable.Contract.IsMinter(&_ERC20Mintable.CallOpts, account) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20Mintable *ERC20MintableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC20Mintable.contract.Call(opts, out, "totalSupply") return *ret0, err } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20Mintable *ERC20MintableSession) TotalSupply() (*big.Int, error) { return _ERC20Mintable.Contract.TotalSupply(&_ERC20Mintable.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_ERC20Mintable *ERC20MintableCallerSession) TotalSupply() (*big.Int, error) { return _ERC20Mintable.Contract.TotalSupply(&_ERC20Mintable.CallOpts) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_ERC20Mintable *ERC20MintableTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { return _ERC20Mintable.contract.Transact(opts, "addMinter", account) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_ERC20Mintable *ERC20MintableSession) AddMinter(account common.Address) (*types.Transaction, error) { return _ERC20Mintable.Contract.AddMinter(&_ERC20Mintable.TransactOpts, account) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_ERC20Mintable *ERC20MintableTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { return _ERC20Mintable.Contract.AddMinter(&_ERC20Mintable.TransactOpts, account) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20Mintable.contract.Transact(opts, "approve", spender, value) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20Mintable *ERC20MintableSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.Approve(&_ERC20Mintable.TransactOpts, spender, value) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, value uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.Approve(&_ERC20Mintable.TransactOpts, spender, value) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20Mintable.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20Mintable *ERC20MintableSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.DecreaseAllowance(&_ERC20Mintable.TransactOpts, spender, subtractedValue) } // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7. // // Solidity: function decreaseAllowance(spender address, subtractedValue uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.DecreaseAllowance(&_ERC20Mintable.TransactOpts, spender, subtractedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20Mintable.contract.Transact(opts, "increaseAllowance", spender, addedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20Mintable *ERC20MintableSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.IncreaseAllowance(&_ERC20Mintable.TransactOpts, spender, addedValue) } // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351. // // Solidity: function increaseAllowance(spender address, addedValue uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.IncreaseAllowance(&_ERC20Mintable.TransactOpts, spender, addedValue) } // Mint is a paid mutator transaction binding the contract method 0x40c10f19. // // Solidity: function mint(account address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactor) Mint(opts *bind.TransactOpts, account common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.contract.Transact(opts, "mint", account, amount) } // Mint is a paid mutator transaction binding the contract method 0x40c10f19. // // Solidity: function mint(account address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.Mint(&_ERC20Mintable.TransactOpts, account, amount) } // Mint is a paid mutator transaction binding the contract method 0x40c10f19. // // Solidity: function mint(account address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactorSession) Mint(account common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.Mint(&_ERC20Mintable.TransactOpts, account, amount) } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_ERC20Mintable *ERC20MintableTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC20Mintable.contract.Transact(opts, "renounceMinter") } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_ERC20Mintable *ERC20MintableSession) RenounceMinter() (*types.Transaction, error) { return _ERC20Mintable.Contract.RenounceMinter(&_ERC20Mintable.TransactOpts) } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_ERC20Mintable *ERC20MintableTransactorSession) RenounceMinter() (*types.Transaction, error) { return _ERC20Mintable.Contract.RenounceMinter(&_ERC20Mintable.TransactOpts) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.contract.Transact(opts, "transfer", recipient, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.Transfer(&_ERC20Mintable.TransactOpts, recipient, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.Transfer(&_ERC20Mintable.TransactOpts, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.contract.Transact(opts, "transferFrom", sender, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.TransferFrom(&_ERC20Mintable.TransactOpts, sender, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_ERC20Mintable *ERC20MintableTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _ERC20Mintable.Contract.TransferFrom(&_ERC20Mintable.TransactOpts, sender, recipient, amount) } // 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. type ERC20MintableApprovalIterator struct { Event *ERC20MintableApproval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC20MintableApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC20MintableApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC20MintableApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC20MintableApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC20MintableApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC20MintableApproval represents a Approval event raised by the ERC20Mintable contract. type ERC20MintableApproval struct { Owner common.Address Spender common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, spender indexed address, value uint256) func (_ERC20Mintable *ERC20MintableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*ERC20MintableApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return &ERC20MintableApprovalIterator{contract: _ERC20Mintable.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, spender indexed address, value uint256) func (_ERC20Mintable *ERC20MintableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC20MintableApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC20MintableApproval) if err := _ERC20Mintable.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // 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. type ERC20MintableMinterAddedIterator struct { Event *ERC20MintableMinterAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC20MintableMinterAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC20MintableMinterAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC20MintableMinterAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC20MintableMinterAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC20MintableMinterAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC20MintableMinterAdded represents a MinterAdded event raised by the ERC20Mintable contract. type ERC20MintableMinterAdded struct { Account common.Address Raw types.Log // Blockchain specific contextual infos } // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. // // Solidity: e MinterAdded(account indexed address) func (_ERC20Mintable *ERC20MintableFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ERC20MintableMinterAddedIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "MinterAdded", accountRule) if err != nil { return nil, err } return &ERC20MintableMinterAddedIterator{contract: _ERC20Mintable.contract, event: "MinterAdded", logs: logs, sub: sub}, nil } // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. // // Solidity: e MinterAdded(account indexed address) func (_ERC20Mintable *ERC20MintableFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ERC20MintableMinterAdded, account []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "MinterAdded", accountRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC20MintableMinterAdded) if err := _ERC20Mintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // 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. type ERC20MintableMinterRemovedIterator struct { Event *ERC20MintableMinterRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC20MintableMinterRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC20MintableMinterRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC20MintableMinterRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC20MintableMinterRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC20MintableMinterRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC20MintableMinterRemoved represents a MinterRemoved event raised by the ERC20Mintable contract. type ERC20MintableMinterRemoved struct { Account common.Address Raw types.Log // Blockchain specific contextual infos } // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. // // Solidity: e MinterRemoved(account indexed address) func (_ERC20Mintable *ERC20MintableFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ERC20MintableMinterRemovedIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "MinterRemoved", accountRule) if err != nil { return nil, err } return &ERC20MintableMinterRemovedIterator{contract: _ERC20Mintable.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil } // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. // // Solidity: e MinterRemoved(account indexed address) func (_ERC20Mintable *ERC20MintableFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ERC20MintableMinterRemoved, account []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "MinterRemoved", accountRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC20MintableMinterRemoved) if err := _ERC20Mintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // 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. type ERC20MintableTransferIterator struct { Event *ERC20MintableTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC20MintableTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC20MintableTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC20MintableTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC20MintableTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC20MintableTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC20MintableTransfer represents a Transfer event raised by the ERC20Mintable contract. type ERC20MintableTransfer struct { From common.Address To common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, value uint256) func (_ERC20Mintable *ERC20MintableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*ERC20MintableTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _ERC20Mintable.contract.FilterLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return &ERC20MintableTransferIterator{contract: _ERC20Mintable.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, value uint256) func (_ERC20Mintable *ERC20MintableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC20MintableTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _ERC20Mintable.contract.WatchLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC20MintableTransfer) if err := _ERC20Mintable.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721ABI is the input ABI used to generate the binding from. const ERC721ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" // ERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. const ERC721BinRuntime = `0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146101b157806370a08231146101ce578063a22cb46514610206578063b88d4fde14610234578063e985e9c5146102fa5761009e565b806301ffc9a7146100a3578063081812fc146100de578063095ea7b31461011757806323b872dd1461014557806342842e0e1461017b575b600080fd5b6100ca600480360360208110156100b957600080fd5b50356001600160e01b031916610328565b604080519115158252519081900360200190f35b6100fb600480360360208110156100f457600080fd5b5035610347565b604080516001600160a01b039092168252519081900360200190f35b6101436004803603604081101561012d57600080fd5b506001600160a01b0381351690602001356103ac565b005b6101436004803603606081101561015b57600080fd5b506001600160a01b038135811691602081013590911690604001356104c3565b6101436004803603606081101561019157600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b6100fb600480360360208110156101c757600080fd5b5035610536565b6101f4600480360360208110156101e457600080fd5b50356001600160a01b0316610593565b60408051918252519081900360200190f35b6101436004803603604081101561021c57600080fd5b506001600160a01b03813516906020013515156105fe565b6101436004803603608081101561024a57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460018302840111640100000000831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106cd945050505050565b6100ca6004803603604081101561031057600080fd5b506001600160a01b0381358116916020013516610728565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061035282610756565b61039057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610c72602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103b782610536565b9050806001600160a01b0316836001600160a01b0316141561040d57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610cc76021913960400191505060405180910390fd5b336001600160a01b038216148061042957506104298133610728565b61046757604051600160e51b62461bcd028152600401808060200182810382526038815260200180610be76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104cd3382610773565b61050b57604051600160e51b62461bcd028152600401808060200182810382526031815260200180610ce86031913960400191505060405180910390fd5b61051683838361081a565b505050565b610516838383604051806020016040528060008152506106cd565b6000818152600160205260408120546001600160a01b03168061058d57604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c496029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166105dd57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610c1f602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061058d90610964565b6001600160a01b03821633141561065f5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6106d88484846104c3565b6106e484848484610968565b61072257604051600160e51b62461bcd028152600401808060200182810382526032815260200180610b656032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b600061077e82610756565b6107bc57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610bbb602c913960400191505060405180910390fd5b60006107c783610536565b9050806001600160a01b0316846001600160a01b031614806108025750836001600160a01b03166107f784610347565b6001600160a01b0316145b8061081257506108128185610728565b949350505050565b826001600160a01b031661082d82610536565b6001600160a01b03161461087557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c9e6029913960400191505060405180910390fd5b6001600160a01b0382166108bd57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b976024913960400191505060405180910390fd5b6108c681610aa1565b6001600160a01b03831660009081526003602052604090206108e790610ade565b6001600160a01b038216600090815260036020526040902061090890610af5565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b600061097c846001600160a01b0316610afe565b61098857506001610812565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a055781810151838201526020016109ed565b50505050905090810190601f168015610a325780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050506040513d6020811015610a7e57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610adb57600081815260026020526040902080546001600160a01b03191690555b50565b8054610af190600163ffffffff610b0416565b9055565b80546001019055565b3b151590565b600082821115610b5e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820729ef652fa5b3de930aa2053816415426d90b8ede7f21175faa42825db4887780029` // ERC721Bin is the compiled bytecode used for deploying new contracts. const ERC721Bin = `0x608060405234801561001057600080fd5b506100276301ffc9a760e01b61004260201b60201c565b61003d6380ac58cd60e01b61004260201b60201c565b610110565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b610d448061011f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636352211e116100665780636352211e146101b157806370a08231146101ce578063a22cb46514610206578063b88d4fde14610234578063e985e9c5146102fa5761009e565b806301ffc9a7146100a3578063081812fc146100de578063095ea7b31461011757806323b872dd1461014557806342842e0e1461017b575b600080fd5b6100ca600480360360208110156100b957600080fd5b50356001600160e01b031916610328565b604080519115158252519081900360200190f35b6100fb600480360360208110156100f457600080fd5b5035610347565b604080516001600160a01b039092168252519081900360200190f35b6101436004803603604081101561012d57600080fd5b506001600160a01b0381351690602001356103ac565b005b6101436004803603606081101561015b57600080fd5b506001600160a01b038135811691602081013590911690604001356104c3565b6101436004803603606081101561019157600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b6100fb600480360360208110156101c757600080fd5b5035610536565b6101f4600480360360208110156101e457600080fd5b50356001600160a01b0316610593565b60408051918252519081900360200190f35b6101436004803603604081101561021c57600080fd5b506001600160a01b03813516906020013515156105fe565b6101436004803603608081101561024a57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561028557600080fd5b82018360208201111561029757600080fd5b803590602001918460018302840111640100000000831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106cd945050505050565b6100ca6004803603604081101561031057600080fd5b506001600160a01b0381358116916020013516610728565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061035282610756565b61039057604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610c72602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103b782610536565b9050806001600160a01b0316836001600160a01b0316141561040d57604051600160e51b62461bcd028152600401808060200182810382526021815260200180610cc76021913960400191505060405180910390fd5b336001600160a01b038216148061042957506104298133610728565b61046757604051600160e51b62461bcd028152600401808060200182810382526038815260200180610be76038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104cd3382610773565b61050b57604051600160e51b62461bcd028152600401808060200182810382526031815260200180610ce86031913960400191505060405180910390fd5b61051683838361081a565b505050565b610516838383604051806020016040528060008152506106cd565b6000818152600160205260408120546001600160a01b03168061058d57604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c496029913960400191505060405180910390fd5b92915050565b60006001600160a01b0382166105dd57604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610c1f602a913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902061058d90610964565b6001600160a01b03821633141561065f5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6106d88484846104c3565b6106e484848484610968565b61072257604051600160e51b62461bcd028152600401808060200182810382526032815260200180610b656032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b600061077e82610756565b6107bc57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610bbb602c913960400191505060405180910390fd5b60006107c783610536565b9050806001600160a01b0316846001600160a01b031614806108025750836001600160a01b03166107f784610347565b6001600160a01b0316145b8061081257506108128185610728565b949350505050565b826001600160a01b031661082d82610536565b6001600160a01b03161461087557604051600160e51b62461bcd028152600401808060200182810382526029815260200180610c9e6029913960400191505060405180910390fd5b6001600160a01b0382166108bd57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610b976024913960400191505060405180910390fd5b6108c681610aa1565b6001600160a01b03831660009081526003602052604090206108e790610ade565b6001600160a01b038216600090815260036020526040902061090890610af5565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b600061097c846001600160a01b0316610afe565b61098857506001610812565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a055781810151838201526020016109ed565b50505050905090810190601f168015610a325780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050506040513d6020811015610a7e57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610adb57600081815260026020526040902080546001600160a01b03191690555b50565b8054610af190600163ffffffff610b0416565b9055565b80546001019055565b3b151590565b600082821115610b5e5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a72305820729ef652fa5b3de930aa2053816415426d90b8ede7f21175faa42825db4887780029` // DeployERC721 deploys a new Klaytn contract, binding an instance of ERC721 to it. func DeployERC721(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721, error) { parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil } // ERC721 is an auto generated Go binding around a Klaytn contract. type ERC721 struct { ERC721Caller // Read-only binding to the contract ERC721Transactor // Write-only binding to the contract ERC721Filterer // Log filterer for contract events } // ERC721Caller is an auto generated read-only Go binding around a Klaytn contract. type ERC721Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. type ERC721Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. type ERC721Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721Session is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type ERC721Session struct { Contract *ERC721 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type ERC721CallerSession struct { Contract *ERC721Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type ERC721TransactorSession struct { Contract *ERC721Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721Raw is an auto generated low-level Go binding around a Klaytn contract. type ERC721Raw struct { Contract *ERC721 // Generic contract binding to access the raw methods on } // ERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type ERC721CallerRaw struct { Contract *ERC721Caller // Generic read-only contract binding to access the raw methods on } // ERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type ERC721TransactorRaw struct { Contract *ERC721Transactor // Generic write-only contract binding to access the raw methods on } // NewERC721 creates a new instance of ERC721, bound to a specific deployed contract. func NewERC721(address common.Address, backend bind.ContractBackend) (*ERC721, error) { contract, err := bindERC721(address, backend, backend, backend) if err != nil { return nil, err } return &ERC721{ERC721Caller: ERC721Caller{contract: contract}, ERC721Transactor: ERC721Transactor{contract: contract}, ERC721Filterer: ERC721Filterer{contract: contract}}, nil } // NewERC721Caller creates a new read-only instance of ERC721, bound to a specific deployed contract. func NewERC721Caller(address common.Address, caller bind.ContractCaller) (*ERC721Caller, error) { contract, err := bindERC721(address, caller, nil, nil) if err != nil { return nil, err } return &ERC721Caller{contract: contract}, nil } // NewERC721Transactor creates a new write-only instance of ERC721, bound to a specific deployed contract. func NewERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*ERC721Transactor, error) { contract, err := bindERC721(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC721Transactor{contract: contract}, nil } // NewERC721Filterer creates a new log filterer instance of ERC721, bound to a specific deployed contract. func NewERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*ERC721Filterer, error) { contract, err := bindERC721(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC721Filterer{contract: contract}, nil } // bindERC721 binds a generic wrapper to an already deployed contract. func bindERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC721ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC721 *ERC721Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC721.Contract.ERC721Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC721 *ERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721.Contract.ERC721Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721 *ERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721.Contract.ERC721Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC721 *ERC721CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC721.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC721 *ERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721 *ERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721 *ERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC721.contract.Call(opts, out, "balanceOf", owner) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721 *ERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721 *ERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721.Contract.BalanceOf(&_ERC721.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721 *ERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _ERC721.contract.Call(opts, out, "getApproved", tokenId) return *ret0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721 *ERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721 *ERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721.Contract.GetApproved(&_ERC721.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721 *ERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721.contract.Call(opts, out, "isApprovedForAll", owner, operator) return *ret0, err } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721 *ERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721 *ERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721.Contract.IsApprovedForAll(&_ERC721.CallOpts, owner, operator) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721 *ERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _ERC721.contract.Call(opts, out, "ownerOf", tokenId) return *ret0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721 *ERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721 *ERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721.Contract.OwnerOf(&_ERC721.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721 *ERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721.contract.Call(opts, out, "supportsInterface", interfaceId) return *ret0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721 *ERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721 *ERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721.Contract.SupportsInterface(&_ERC721.CallOpts, interfaceId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721 *ERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721 *ERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721 *ERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.Approve(&_ERC721.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721 *ERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721 *ERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721 *ERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721.Contract.SafeTransferFrom(&_ERC721.TransactOpts, from, to, tokenId, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721 *ERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { return _ERC721.contract.Transact(opts, "setApprovalForAll", to, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721 *ERC721Session) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721 *ERC721TransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { return _ERC721.Contract.SetApprovalForAll(&_ERC721.TransactOpts, to, approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721 *ERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721 *ERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721 *ERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721.Contract.TransferFrom(&_ERC721.TransactOpts, from, to, tokenId) } // ERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721 contract. type ERC721ApprovalIterator struct { Event *ERC721Approval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721ApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721Approval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721Approval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721ApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721ApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721Approval represents a Approval event raised by the ERC721 contract. type ERC721Approval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_ERC721 *ERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721ApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &ERC721ApprovalIterator{contract: _ERC721.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_ERC721 *ERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721Approval) if err := _ERC721.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721 contract. type ERC721ApprovalForAllIterator struct { Event *ERC721ApprovalForAll // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721ApprovalForAllIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721ApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721ApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721ApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721ApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721ApprovalForAll represents a ApprovalForAll event raised by the ERC721 contract. type ERC721ApprovalForAll struct { Owner common.Address Operator common.Address Approved bool Raw types.Log // Blockchain specific contextual infos } // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_ERC721 *ERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721ApprovalForAllIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &ERC721ApprovalForAllIterator{contract: _ERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil } // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_ERC721 *ERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721ApprovalForAll) if err := _ERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721 contract. type ERC721TransferIterator struct { Event *ERC721Transfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721TransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721Transfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721Transfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721TransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721TransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721Transfer represents a Transfer event raised by the ERC721 contract. type ERC721Transfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_ERC721 *ERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721TransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &ERC721TransferIterator{contract: _ERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_ERC721 *ERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721Transfer) if err := _ERC721.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721BurnableABI is the input ABI used to generate the binding from. const ERC721BurnableABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" // ERC721BurnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const ERC721BurnableBinRuntime = `0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146101bc5780636352211e146101d957806370a08231146101f6578063a22cb4651461022e578063b88d4fde1461025c578063e985e9c514610322576100a9565b806301ffc9a7146100ae578063081812fc146100e9578063095ea7b31461012257806323b872dd1461015057806342842e0e14610186575b600080fd5b6100d5600480360360208110156100c457600080fd5b50356001600160e01b031916610350565b604080519115158252519081900360200190f35b610106600480360360208110156100ff57600080fd5b503561036f565b604080516001600160a01b039092168252519081900360200190f35b61014e6004803603604081101561013857600080fd5b506001600160a01b0381351690602001356103d4565b005b61014e6004803603606081101561016657600080fd5b506001600160a01b038135811691602081013590911690604001356104eb565b61014e6004803603606081101561019c57600080fd5b506001600160a01b03813581169160208101359091169060400135610543565b61014e600480360360208110156101d257600080fd5b503561055e565b610106600480360360208110156101ef57600080fd5b50356105b2565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b031661060f565b60408051918252519081900360200190f35b61014e6004803603604081101561024457600080fd5b506001600160a01b038135169060200135151561067a565b61014e6004803603608081101561027257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610749945050505050565b6100d56004803603604081101561033857600080fd5b506001600160a01b03813581169160200135166107a4565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061037a826107d2565b6103b857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610dd8602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103df826105b2565b9050806001600160a01b0316836001600160a01b0316141561043557604051600160e51b62461bcd028152600401808060200182810382526021815260200180610e2d6021913960400191505060405180910390fd5b336001600160a01b0382161480610451575061045181336107a4565b61048f57604051600160e51b62461bcd028152600401808060200182810382526038815260200180610d4d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104f533826107ef565b61053357604051600160e51b62461bcd028152600401808060200182810382526031815260200180610e4e6031913960400191505060405180910390fd5b61053e838383610896565b505050565b61053e83838360405180602001604052806000815250610749565b61056833826107ef565b6105a657604051600160e51b62461bcd028152600401808060200182810382526030815260200180610ea46030913960400191505060405180910390fd5b6105af816109e0565b50565b6000818152600160205260408120546001600160a01b03168061060957604051600160e51b62461bcd028152600401808060200182810382526029815260200180610daf6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661065957604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610d85602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610609906109f2565b6001600160a01b0382163314156106db5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6107548484846104eb565b610760848484846109f6565b61079e57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610ccb6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006107fa826107d2565b61083857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610d21602c913960400191505060405180910390fd5b6000610843836105b2565b9050806001600160a01b0316846001600160a01b0316148061087e5750836001600160a01b03166108738461036f565b6001600160a01b0316145b8061088e575061088e81856107a4565b949350505050565b826001600160a01b03166108a9826105b2565b6001600160a01b0316146108f157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610e046029913960400191505060405180910390fd5b6001600160a01b03821661093957604051600160e51b62461bcd028152600401808060200182810382526024815260200180610cfd6024913960400191505060405180910390fd5b61094281610b2f565b6001600160a01b038316600090815260036020526040902061096390610b6a565b6001600160a01b038216600090815260036020526040902061098490610b81565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6105af6109ec826105b2565b82610b8a565b5490565b6000610a0a846001600160a01b0316610c64565b610a165750600161088e565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a93578181015183820152602001610a7b565b50505050905090810190601f168015610ac05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b0316156105af57600090815260026020526040902080546001600160a01b0319169055565b8054610b7d90600163ffffffff610c6a16565b9055565b80546001019055565b816001600160a01b0316610b9d826105b2565b6001600160a01b031614610be557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610e7f6025913960400191505060405180910390fd5b610bee81610b2f565b6001600160a01b0382166000908152600360205260409020610c0f90610b6a565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b3b151590565b600082821115610cc45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582035986e074f001b98f3d4f8e669063ef8d5efcf5cb63f5103e5e5296048223c1d0029` // ERC721BurnableBin is the compiled bytecode used for deploying new contracts. const ERC721BurnableBin = `0x608060405261001a6301ffc9a760e01b61003560201b60201c565b6100306380ac58cd60e01b61003560201b60201c565b610103565b7fffffffff0000000000000000000000000000000000000000000000000000000080821614156100c657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b610eff806101126000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806342966c681161007157806342966c68146101bc5780636352211e146101d957806370a08231146101f6578063a22cb4651461022e578063b88d4fde1461025c578063e985e9c514610322576100a9565b806301ffc9a7146100ae578063081812fc146100e9578063095ea7b31461012257806323b872dd1461015057806342842e0e14610186575b600080fd5b6100d5600480360360208110156100c457600080fd5b50356001600160e01b031916610350565b604080519115158252519081900360200190f35b610106600480360360208110156100ff57600080fd5b503561036f565b604080516001600160a01b039092168252519081900360200190f35b61014e6004803603604081101561013857600080fd5b506001600160a01b0381351690602001356103d4565b005b61014e6004803603606081101561016657600080fd5b506001600160a01b038135811691602081013590911690604001356104eb565b61014e6004803603606081101561019c57600080fd5b506001600160a01b03813581169160208101359091169060400135610543565b61014e600480360360208110156101d257600080fd5b503561055e565b610106600480360360208110156101ef57600080fd5b50356105b2565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b031661060f565b60408051918252519081900360200190f35b61014e6004803603604081101561024457600080fd5b506001600160a01b038135169060200135151561067a565b61014e6004803603608081101561027257600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156102ad57600080fd5b8201836020820111156102bf57600080fd5b803590602001918460018302840111640100000000831117156102e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610749945050505050565b6100d56004803603604081101561033857600080fd5b506001600160a01b03813581169160200135166107a4565b6001600160e01b03191660009081526020819052604090205460ff1690565b600061037a826107d2565b6103b857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610dd8602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006103df826105b2565b9050806001600160a01b0316836001600160a01b0316141561043557604051600160e51b62461bcd028152600401808060200182810382526021815260200180610e2d6021913960400191505060405180910390fd5b336001600160a01b0382161480610451575061045181336107a4565b61048f57604051600160e51b62461bcd028152600401808060200182810382526038815260200180610d4d6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6104f533826107ef565b61053357604051600160e51b62461bcd028152600401808060200182810382526031815260200180610e4e6031913960400191505060405180910390fd5b61053e838383610896565b505050565b61053e83838360405180602001604052806000815250610749565b61056833826107ef565b6105a657604051600160e51b62461bcd028152600401808060200182810382526030815260200180610ea46030913960400191505060405180910390fd5b6105af816109e0565b50565b6000818152600160205260408120546001600160a01b03168061060957604051600160e51b62461bcd028152600401808060200182810382526029815260200180610daf6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661065957604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610d85602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020610609906109f2565b6001600160a01b0382163314156106db5760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6107548484846104eb565b610760848484846109f6565b61079e57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610ccb6032913960400191505060405180910390fd5b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b60006107fa826107d2565b61083857604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610d21602c913960400191505060405180910390fd5b6000610843836105b2565b9050806001600160a01b0316846001600160a01b0316148061087e5750836001600160a01b03166108738461036f565b6001600160a01b0316145b8061088e575061088e81856107a4565b949350505050565b826001600160a01b03166108a9826105b2565b6001600160a01b0316146108f157604051600160e51b62461bcd028152600401808060200182810382526029815260200180610e046029913960400191505060405180910390fd5b6001600160a01b03821661093957604051600160e51b62461bcd028152600401808060200182810382526024815260200180610cfd6024913960400191505060405180910390fd5b61094281610b2f565b6001600160a01b038316600090815260036020526040902061096390610b6a565b6001600160a01b038216600090815260036020526040902061098490610b81565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6105af6109ec826105b2565b82610b8a565b5490565b6000610a0a846001600160a01b0316610c64565b610a165750600161088e565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610a93578181015183820152602001610a7b565b50505050905090810190601f168015610ac05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b0316156105af57600090815260026020526040902080546001600160a01b0319169055565b8054610b7d90600163ffffffff610c6a16565b9055565b80546001019055565b816001600160a01b0316610b9d826105b2565b6001600160a01b031614610be557604051600160e51b62461bcd028152600401808060200182810382526025815260200180610e7f6025913960400191505060405180910390fd5b610bee81610b2f565b6001600160a01b0382166000908152600360205260409020610c0f90610b6a565b60008181526001602052604080822080546001600160a01b0319169055518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b3b151590565b600082821115610cc45760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f7665644552433732313a206275726e206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582035986e074f001b98f3d4f8e669063ef8d5efcf5cb63f5103e5e5296048223c1d0029` // DeployERC721Burnable deploys a new Klaytn contract, binding an instance of ERC721Burnable to it. func DeployERC721Burnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721Burnable, error) { parsed, err := abi.JSON(strings.NewReader(ERC721BurnableABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721BurnableBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC721Burnable{ERC721BurnableCaller: ERC721BurnableCaller{contract: contract}, ERC721BurnableTransactor: ERC721BurnableTransactor{contract: contract}, ERC721BurnableFilterer: ERC721BurnableFilterer{contract: contract}}, nil } // ERC721Burnable is an auto generated Go binding around a Klaytn contract. type ERC721Burnable struct { ERC721BurnableCaller // Read-only binding to the contract ERC721BurnableTransactor // Write-only binding to the contract ERC721BurnableFilterer // Log filterer for contract events } // ERC721BurnableCaller is an auto generated read-only Go binding around a Klaytn contract. type ERC721BurnableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721BurnableTransactor is an auto generated write-only Go binding around a Klaytn contract. type ERC721BurnableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721BurnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type ERC721BurnableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721BurnableSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type ERC721BurnableSession struct { Contract *ERC721Burnable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721BurnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type ERC721BurnableCallerSession struct { Contract *ERC721BurnableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC721BurnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type ERC721BurnableTransactorSession struct { Contract *ERC721BurnableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721BurnableRaw is an auto generated low-level Go binding around a Klaytn contract. type ERC721BurnableRaw struct { Contract *ERC721Burnable // Generic contract binding to access the raw methods on } // ERC721BurnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type ERC721BurnableCallerRaw struct { Contract *ERC721BurnableCaller // Generic read-only contract binding to access the raw methods on } // ERC721BurnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type ERC721BurnableTransactorRaw struct { Contract *ERC721BurnableTransactor // Generic write-only contract binding to access the raw methods on } // NewERC721Burnable creates a new instance of ERC721Burnable, bound to a specific deployed contract. func NewERC721Burnable(address common.Address, backend bind.ContractBackend) (*ERC721Burnable, error) { contract, err := bindERC721Burnable(address, backend, backend, backend) if err != nil { return nil, err } return &ERC721Burnable{ERC721BurnableCaller: ERC721BurnableCaller{contract: contract}, ERC721BurnableTransactor: ERC721BurnableTransactor{contract: contract}, ERC721BurnableFilterer: ERC721BurnableFilterer{contract: contract}}, nil } // NewERC721BurnableCaller creates a new read-only instance of ERC721Burnable, bound to a specific deployed contract. func NewERC721BurnableCaller(address common.Address, caller bind.ContractCaller) (*ERC721BurnableCaller, error) { contract, err := bindERC721Burnable(address, caller, nil, nil) if err != nil { return nil, err } return &ERC721BurnableCaller{contract: contract}, nil } // NewERC721BurnableTransactor creates a new write-only instance of ERC721Burnable, bound to a specific deployed contract. func NewERC721BurnableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721BurnableTransactor, error) { contract, err := bindERC721Burnable(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC721BurnableTransactor{contract: contract}, nil } // NewERC721BurnableFilterer creates a new log filterer instance of ERC721Burnable, bound to a specific deployed contract. func NewERC721BurnableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721BurnableFilterer, error) { contract, err := bindERC721Burnable(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC721BurnableFilterer{contract: contract}, nil } // bindERC721Burnable binds a generic wrapper to an already deployed contract. func bindERC721Burnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC721BurnableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC721Burnable *ERC721BurnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC721Burnable.Contract.ERC721BurnableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC721Burnable *ERC721BurnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721Burnable.Contract.ERC721BurnableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721Burnable *ERC721BurnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721Burnable.Contract.ERC721BurnableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC721Burnable *ERC721BurnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC721Burnable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC721Burnable *ERC721BurnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721Burnable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721Burnable *ERC721BurnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721Burnable.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721Burnable *ERC721BurnableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC721Burnable.contract.Call(opts, out, "balanceOf", owner) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721Burnable *ERC721BurnableSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721Burnable.Contract.BalanceOf(&_ERC721Burnable.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721Burnable *ERC721BurnableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721Burnable.Contract.BalanceOf(&_ERC721Burnable.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721Burnable *ERC721BurnableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _ERC721Burnable.contract.Call(opts, out, "getApproved", tokenId) return *ret0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721Burnable *ERC721BurnableSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721Burnable.Contract.GetApproved(&_ERC721Burnable.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721Burnable *ERC721BurnableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721Burnable.Contract.GetApproved(&_ERC721Burnable.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721Burnable *ERC721BurnableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721Burnable.contract.Call(opts, out, "isApprovedForAll", owner, operator) return *ret0, err } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721Burnable *ERC721BurnableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721Burnable.Contract.IsApprovedForAll(&_ERC721Burnable.CallOpts, owner, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721Burnable *ERC721BurnableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721Burnable.Contract.IsApprovedForAll(&_ERC721Burnable.CallOpts, owner, operator) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721Burnable *ERC721BurnableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _ERC721Burnable.contract.Call(opts, out, "ownerOf", tokenId) return *ret0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721Burnable *ERC721BurnableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721Burnable.Contract.OwnerOf(&_ERC721Burnable.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721Burnable *ERC721BurnableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721Burnable.Contract.OwnerOf(&_ERC721Burnable.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721Burnable *ERC721BurnableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721Burnable.contract.Call(opts, out, "supportsInterface", interfaceId) return *ret0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721Burnable *ERC721BurnableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721Burnable.Contract.SupportsInterface(&_ERC721Burnable.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721Burnable *ERC721BurnableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721Burnable.Contract.SupportsInterface(&_ERC721Burnable.CallOpts, interfaceId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.Contract.Approve(&_ERC721Burnable.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.Contract.Approve(&_ERC721Burnable.TransactOpts, to, tokenId) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableTransactor) Burn(opts *bind.TransactOpts, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.contract.Transact(opts, "burn", tokenId) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableSession) Burn(tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.Contract.Burn(&_ERC721Burnable.TransactOpts, tokenId) } // Burn is a paid mutator transaction binding the contract method 0x42966c68. // // Solidity: function burn(tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableTransactorSession) Burn(tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.Contract.Burn(&_ERC721Burnable.TransactOpts, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721Burnable *ERC721BurnableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Burnable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721Burnable *ERC721BurnableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Burnable.Contract.SafeTransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721Burnable *ERC721BurnableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Burnable.Contract.SafeTransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721Burnable *ERC721BurnableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { return _ERC721Burnable.contract.Transact(opts, "setApprovalForAll", to, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721Burnable *ERC721BurnableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { return _ERC721Burnable.Contract.SetApprovalForAll(&_ERC721Burnable.TransactOpts, to, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721Burnable *ERC721BurnableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { return _ERC721Burnable.Contract.SetApprovalForAll(&_ERC721Burnable.TransactOpts, to, approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.Contract.TransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721Burnable *ERC721BurnableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Burnable.Contract.TransferFrom(&_ERC721Burnable.TransactOpts, from, to, tokenId) } // ERC721BurnableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Burnable contract. type ERC721BurnableApprovalIterator struct { Event *ERC721BurnableApproval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721BurnableApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721BurnableApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721BurnableApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721BurnableApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721BurnableApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721BurnableApproval represents a Approval event raised by the ERC721Burnable contract. type ERC721BurnableApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_ERC721Burnable *ERC721BurnableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721BurnableApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &ERC721BurnableApprovalIterator{contract: _ERC721Burnable.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_ERC721Burnable *ERC721BurnableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721BurnableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721BurnableApproval) if err := _ERC721Burnable.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721BurnableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Burnable contract. type ERC721BurnableApprovalForAllIterator struct { Event *ERC721BurnableApprovalForAll // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721BurnableApprovalForAllIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721BurnableApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721BurnableApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721BurnableApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721BurnableApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721BurnableApprovalForAll represents a ApprovalForAll event raised by the ERC721Burnable contract. type ERC721BurnableApprovalForAll struct { Owner common.Address Operator common.Address Approved bool Raw types.Log // Blockchain specific contextual infos } // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_ERC721Burnable *ERC721BurnableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721BurnableApprovalForAllIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &ERC721BurnableApprovalForAllIterator{contract: _ERC721Burnable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil } // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_ERC721Burnable *ERC721BurnableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721BurnableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721BurnableApprovalForAll) if err := _ERC721Burnable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721BurnableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Burnable contract. type ERC721BurnableTransferIterator struct { Event *ERC721BurnableTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721BurnableTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721BurnableTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721BurnableTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721BurnableTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721BurnableTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721BurnableTransfer represents a Transfer event raised by the ERC721Burnable contract. type ERC721BurnableTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_ERC721Burnable *ERC721BurnableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721BurnableTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Burnable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &ERC721BurnableTransferIterator{contract: _ERC721Burnable.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_ERC721Burnable *ERC721BurnableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721BurnableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Burnable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721BurnableTransfer) if err := _ERC721Burnable.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721MetadataABI is the input ABI used to generate the binding from. const ERC721MetadataABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"symbol\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" // ERC721MetadataBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const ERC721MetadataBinRuntime = `0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146102bc578063b88d4fde146102ea578063c87b56dd146103b0578063e985e9c5146103cd576100cf565b80636352211e1461025f57806370a082311461027c57806395d89b41146102b4576100cf565b806301ffc9a7146100d457806306fdde031461010f578063081812fc1461018c578063095ea7b3146101c557806323b872dd146101f357806342842e0e14610229575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103fb565b604080519115158252519081900360200190f35b61011761041a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610151578181015183820152602001610139565b50505050905090810190601f16801561017e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a9600480360360208110156101a257600080fd5b50356104b0565b604080516001600160a01b039092168252519081900360200190f35b6101f1600480360360408110156101db57600080fd5b506001600160a01b038135169060200135610515565b005b6101f16004803603606081101561020957600080fd5b506001600160a01b0381358116916020810135909116906040013561062c565b6101f16004803603606081101561023f57600080fd5b506001600160a01b03813581169160208101359091169060400135610684565b6101a96004803603602081101561027557600080fd5b503561069f565b6102a26004803603602081101561029257600080fd5b50356001600160a01b03166106fc565b60408051918252519081900360200190f35b610117610767565b6101f1600480360360408110156102d257600080fd5b506001600160a01b03813516906020013515156107c8565b6101f16004803603608081101561030057600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561033b57600080fd5b82018360208201111561034d57600080fd5b8035906020019184600183028401116401000000008311171561036f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610897945050505050565b610117600480360360208110156103c657600080fd5b50356108f2565b6100fb600480360360408110156103e357600080fd5b506001600160a01b03813581169160200135166109da565b6001600160e01b03191660009081526020819052604090205460ff1690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b5050505050905090565b60006104bb82610a08565b6104f957604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610f24602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105208261069f565b9050806001600160a01b0316836001600160a01b0316141561057657604051600160e51b62461bcd028152600401808060200182810382526021815260200180610fa86021913960400191505060405180910390fd5b336001600160a01b0382161480610592575061059281336109da565b6105d057604051600160e51b62461bcd028152600401808060200182810382526038815260200180610e996038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6106363382610a25565b61067457604051600160e51b62461bcd028152600401808060200182810382526031815260200180610fc96031913960400191505060405180910390fd5b61067f838383610acc565b505050565b61067f83838360405180602001604052806000815250610897565b6000818152600160205260408120546001600160a01b0316806106f657604051600160e51b62461bcd028152600401808060200182810382526029815260200180610efb6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661074657604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610ed1602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206106f690610c16565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b6001600160a01b0382163314156108295760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6108a284848461062c565b6108ae84848484610c1a565b6108ec57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e176032913960400191505060405180910390fd5b50505050565b60606108fd82610a08565b61093b57604051600160e51b62461bcd02815260040180806020018281038252602f815260200180610f79602f913960400191505060405180910390fd5b60008281526007602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109ce5780601f106109a3576101008083540402835291602001916109ce565b820191906000526020600020905b8154815290600101906020018083116109b157829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610a3082610a08565b610a6e57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610e6d602c913960400191505060405180910390fd5b6000610a798361069f565b9050806001600160a01b0316846001600160a01b03161480610ab45750836001600160a01b0316610aa9846104b0565b6001600160a01b0316145b80610ac45750610ac481856109da565b949350505050565b826001600160a01b0316610adf8261069f565b6001600160a01b031614610b2757604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f506029913960400191505060405180910390fd5b6001600160a01b038216610b6f57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610e496024913960400191505060405180910390fd5b610b7881610d53565b6001600160a01b0383166000908152600360205260409020610b9990610d90565b6001600160a01b0382166000908152600360205260409020610bba90610da7565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b6000610c2e846001600160a01b0316610db0565b610c3a57506001610ac4565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610cb7578181015183820152602001610c9f565b50505050905090810190601f168015610ce45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d0657600080fd5b505af1158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610d8d57600081815260026020526040902080546001600160a01b03191690555b50565b8054610da390600163ffffffff610db616565b9055565b80546001019055565b3b151590565b600082821115610e105760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582037ba54c848524be0056a573891a8b0f5c56b08f8613060e9876ee13fe582c6480029` // ERC721MetadataBin is the compiled bytecode used for deploying new contracts. const ERC721MetadataBin = `0x60806040523480156200001157600080fd5b50604051620012f8380380620012f8833981018060405260408110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b820160208101848111156200006457600080fd5b81516401000000008111828201871017156200007f57600080fd5b505092919060200180516401000000008111156200009c57600080fd5b82016020810184811115620000b057600080fd5b8151640100000000811182820187101715620000cb57600080fd5b5050929190505050620000eb6301ffc9a760e01b6200014f60201b60201c565b620001036380ac58cd60e01b6200014f60201b60201c565b8151620001189060059060208501906200021e565b5080516200012e9060069060208401906200021e565b5062000147635b5e139f60e01b6200014f60201b60201c565b5050620002c3565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620001e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026157805160ff191683800117855562000291565b8280016001018555821562000291579182015b828111156200029157825182559160200191906001019062000274565b506200029f929150620002a3565b5090565b620002c091905b808211156200029f5760008155600101620002aa565b90565b61102580620002d36000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146102bc578063b88d4fde146102ea578063c87b56dd146103b0578063e985e9c5146103cd576100cf565b80636352211e1461025f57806370a082311461027c57806395d89b41146102b4576100cf565b806301ffc9a7146100d457806306fdde031461010f578063081812fc1461018c578063095ea7b3146101c557806323b872dd146101f357806342842e0e14610229575b600080fd5b6100fb600480360360208110156100ea57600080fd5b50356001600160e01b0319166103fb565b604080519115158252519081900360200190f35b61011761041a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610151578181015183820152602001610139565b50505050905090810190601f16801561017e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a9600480360360208110156101a257600080fd5b50356104b0565b604080516001600160a01b039092168252519081900360200190f35b6101f1600480360360408110156101db57600080fd5b506001600160a01b038135169060200135610515565b005b6101f16004803603606081101561020957600080fd5b506001600160a01b0381358116916020810135909116906040013561062c565b6101f16004803603606081101561023f57600080fd5b506001600160a01b03813581169160208101359091169060400135610684565b6101a96004803603602081101561027557600080fd5b503561069f565b6102a26004803603602081101561029257600080fd5b50356001600160a01b03166106fc565b60408051918252519081900360200190f35b610117610767565b6101f1600480360360408110156102d257600080fd5b506001600160a01b03813516906020013515156107c8565b6101f16004803603608081101561030057600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561033b57600080fd5b82018360208201111561034d57600080fd5b8035906020019184600183028401116401000000008311171561036f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610897945050505050565b610117600480360360208110156103c657600080fd5b50356108f2565b6100fb600480360360408110156103e357600080fd5b506001600160a01b03813581169160200135166109da565b6001600160e01b03191660009081526020819052604090205460ff1690565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b5050505050905090565b60006104bb82610a08565b6104f957604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610f24602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b60006105208261069f565b9050806001600160a01b0316836001600160a01b0316141561057657604051600160e51b62461bcd028152600401808060200182810382526021815260200180610fa86021913960400191505060405180910390fd5b336001600160a01b0382161480610592575061059281336109da565b6105d057604051600160e51b62461bcd028152600401808060200182810382526038815260200180610e996038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6106363382610a25565b61067457604051600160e51b62461bcd028152600401808060200182810382526031815260200180610fc96031913960400191505060405180910390fd5b61067f838383610acc565b505050565b61067f83838360405180602001604052806000815250610897565b6000818152600160205260408120546001600160a01b0316806106f657604051600160e51b62461bcd028152600401808060200182810382526029815260200180610efb6029913960400191505060405180910390fd5b92915050565b60006001600160a01b03821661074657604051600160e51b62461bcd02815260040180806020018281038252602a815260200180610ed1602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206106f690610c16565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104a65780601f1061047b576101008083540402835291602001916104a6565b6001600160a01b0382163314156108295760408051600160e51b62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b3360008181526004602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815190815290519293927f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31929181900390910190a35050565b6108a284848461062c565b6108ae84848484610c1a565b6108ec57604051600160e51b62461bcd028152600401808060200182810382526032815260200180610e176032913960400191505060405180910390fd5b50505050565b60606108fd82610a08565b61093b57604051600160e51b62461bcd02815260040180806020018281038252602f815260200180610f79602f913960400191505060405180910390fd5b60008281526007602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156109ce5780601f106109a3576101008083540402835291602001916109ce565b820191906000526020600020905b8154815290600101906020018083116109b157829003601f168201915b50505050509050919050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b6000908152600160205260409020546001600160a01b0316151590565b6000610a3082610a08565b610a6e57604051600160e51b62461bcd02815260040180806020018281038252602c815260200180610e6d602c913960400191505060405180910390fd5b6000610a798361069f565b9050806001600160a01b0316846001600160a01b03161480610ab45750836001600160a01b0316610aa9846104b0565b6001600160a01b0316145b80610ac45750610ac481856109da565b949350505050565b826001600160a01b0316610adf8261069f565b6001600160a01b031614610b2757604051600160e51b62461bcd028152600401808060200182810382526029815260200180610f506029913960400191505060405180910390fd5b6001600160a01b038216610b6f57604051600160e51b62461bcd028152600401808060200182810382526024815260200180610e496024913960400191505060405180910390fd5b610b7881610d53565b6001600160a01b0383166000908152600360205260409020610b9990610d90565b6001600160a01b0382166000908152600360205260409020610bba90610da7565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5490565b6000610c2e846001600160a01b0316610db0565b610c3a57506001610ac4565b604051600160e11b630a85bd0102815233600482018181526001600160a01b03888116602485015260448401879052608060648501908152865160848601528651600095928a169463150b7a029490938c938b938b939260a4019060208501908083838e5b83811015610cb7578181015183820152602001610c9f565b50505050905090810190601f168015610ce45780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610d0657600080fd5b505af1158015610d1a573d6000803e3d6000fd5b505050506040513d6020811015610d3057600080fd5b50516001600160e01b031916600160e11b630a85bd010214915050949350505050565b6000818152600260205260409020546001600160a01b031615610d8d57600081815260026020526040902080546001600160a01b03191690555b50565b8054610da390600163ffffffff610db616565b9055565b80546001019055565b3b151590565b600082821115610e105760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a165627a7a7230582037ba54c848524be0056a573891a8b0f5c56b08f8613060e9876ee13fe582c6480029` // DeployERC721Metadata deploys a new Klaytn contract, binding an instance of ERC721Metadata to it. func DeployERC721Metadata(auth *bind.TransactOpts, backend bind.ContractBackend, name string, symbol string) (common.Address, *types.Transaction, *ERC721Metadata, error) { parsed, err := abi.JSON(strings.NewReader(ERC721MetadataABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721MetadataBin), backend, name, symbol) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC721Metadata{ERC721MetadataCaller: ERC721MetadataCaller{contract: contract}, ERC721MetadataTransactor: ERC721MetadataTransactor{contract: contract}, ERC721MetadataFilterer: ERC721MetadataFilterer{contract: contract}}, nil } // ERC721Metadata is an auto generated Go binding around a Klaytn contract. type ERC721Metadata struct { ERC721MetadataCaller // Read-only binding to the contract ERC721MetadataTransactor // Write-only binding to the contract ERC721MetadataFilterer // Log filterer for contract events } // ERC721MetadataCaller is an auto generated read-only Go binding around a Klaytn contract. type ERC721MetadataCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721MetadataTransactor is an auto generated write-only Go binding around a Klaytn contract. type ERC721MetadataTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721MetadataFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type ERC721MetadataFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721MetadataSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type ERC721MetadataSession struct { Contract *ERC721Metadata // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721MetadataCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type ERC721MetadataCallerSession struct { Contract *ERC721MetadataCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC721MetadataTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type ERC721MetadataTransactorSession struct { Contract *ERC721MetadataTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721MetadataRaw is an auto generated low-level Go binding around a Klaytn contract. type ERC721MetadataRaw struct { Contract *ERC721Metadata // Generic contract binding to access the raw methods on } // ERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type ERC721MetadataCallerRaw struct { Contract *ERC721MetadataCaller // Generic read-only contract binding to access the raw methods on } // ERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type ERC721MetadataTransactorRaw struct { Contract *ERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on } // NewERC721Metadata creates a new instance of ERC721Metadata, bound to a specific deployed contract. func NewERC721Metadata(address common.Address, backend bind.ContractBackend) (*ERC721Metadata, error) { contract, err := bindERC721Metadata(address, backend, backend, backend) if err != nil { return nil, err } return &ERC721Metadata{ERC721MetadataCaller: ERC721MetadataCaller{contract: contract}, ERC721MetadataTransactor: ERC721MetadataTransactor{contract: contract}, ERC721MetadataFilterer: ERC721MetadataFilterer{contract: contract}}, nil } // NewERC721MetadataCaller creates a new read-only instance of ERC721Metadata, bound to a specific deployed contract. func NewERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*ERC721MetadataCaller, error) { contract, err := bindERC721Metadata(address, caller, nil, nil) if err != nil { return nil, err } return &ERC721MetadataCaller{contract: contract}, nil } // NewERC721MetadataTransactor creates a new write-only instance of ERC721Metadata, bound to a specific deployed contract. func NewERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MetadataTransactor, error) { contract, err := bindERC721Metadata(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC721MetadataTransactor{contract: contract}, nil } // NewERC721MetadataFilterer creates a new log filterer instance of ERC721Metadata, bound to a specific deployed contract. func NewERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MetadataFilterer, error) { contract, err := bindERC721Metadata(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC721MetadataFilterer{contract: contract}, nil } // bindERC721Metadata binds a generic wrapper to an already deployed contract. func bindERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC721MetadataABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC721Metadata *ERC721MetadataRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC721Metadata.Contract.ERC721MetadataCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC721Metadata *ERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721Metadata *ERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721Metadata.Contract.ERC721MetadataTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC721Metadata *ERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC721Metadata.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721Metadata.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721Metadata *ERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721Metadata.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721Metadata *ERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC721Metadata.contract.Call(opts, out, "balanceOf", owner) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721Metadata *ERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721Metadata.Contract.BalanceOf(&_ERC721Metadata.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721Metadata *ERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721Metadata.Contract.BalanceOf(&_ERC721Metadata.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721Metadata *ERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _ERC721Metadata.contract.Call(opts, out, "getApproved", tokenId) return *ret0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721Metadata *ERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721Metadata.Contract.GetApproved(&_ERC721Metadata.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721Metadata *ERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721Metadata.Contract.GetApproved(&_ERC721Metadata.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721Metadata *ERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721Metadata.contract.Call(opts, out, "isApprovedForAll", owner, operator) return *ret0, err } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721Metadata *ERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721Metadata.Contract.IsApprovedForAll(&_ERC721Metadata.CallOpts, owner, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721Metadata *ERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721Metadata.Contract.IsApprovedForAll(&_ERC721Metadata.CallOpts, owner, operator) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_ERC721Metadata *ERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _ERC721Metadata.contract.Call(opts, out, "name") return *ret0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_ERC721Metadata *ERC721MetadataSession) Name() (string, error) { return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_ERC721Metadata *ERC721MetadataCallerSession) Name() (string, error) { return _ERC721Metadata.Contract.Name(&_ERC721Metadata.CallOpts) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721Metadata *ERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _ERC721Metadata.contract.Call(opts, out, "ownerOf", tokenId) return *ret0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721Metadata *ERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721Metadata.Contract.OwnerOf(&_ERC721Metadata.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721Metadata *ERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721Metadata.Contract.OwnerOf(&_ERC721Metadata.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721Metadata *ERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721Metadata.contract.Call(opts, out, "supportsInterface", interfaceId) return *ret0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721Metadata *ERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721Metadata.Contract.SupportsInterface(&_ERC721Metadata.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721Metadata *ERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721Metadata.Contract.SupportsInterface(&_ERC721Metadata.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_ERC721Metadata *ERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _ERC721Metadata.contract.Call(opts, out, "symbol") return *ret0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_ERC721Metadata *ERC721MetadataSession) Symbol() (string, error) { return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_ERC721Metadata *ERC721MetadataCallerSession) Symbol() (string, error) { return _ERC721Metadata.Contract.Symbol(&_ERC721Metadata.CallOpts) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_ERC721Metadata *ERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _ERC721Metadata.contract.Call(opts, out, "tokenURI", tokenId) return *ret0, err } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_ERC721Metadata *ERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, tokenId) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_ERC721Metadata *ERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721Metadata.Contract.TokenURI(&_ERC721Metadata.CallOpts, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721Metadata *ERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Metadata.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721Metadata *ERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Metadata.Contract.Approve(&_ERC721Metadata.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721Metadata *ERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Metadata.Contract.Approve(&_ERC721Metadata.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721Metadata *ERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721Metadata *ERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Metadata.Contract.SafeTransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721Metadata *ERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721Metadata.Contract.SafeTransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721Metadata *ERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { return _ERC721Metadata.contract.Transact(opts, "setApprovalForAll", to, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721Metadata *ERC721MetadataSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { return _ERC721Metadata.Contract.SetApprovalForAll(&_ERC721Metadata.TransactOpts, to, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721Metadata *ERC721MetadataTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { return _ERC721Metadata.Contract.SetApprovalForAll(&_ERC721Metadata.TransactOpts, to, approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721Metadata *ERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721Metadata *ERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Metadata.Contract.TransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721Metadata *ERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721Metadata.Contract.TransferFrom(&_ERC721Metadata.TransactOpts, from, to, tokenId) } // ERC721MetadataApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721Metadata contract. type ERC721MetadataApprovalIterator struct { Event *ERC721MetadataApproval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721MetadataApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721MetadataApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721MetadataApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721MetadataApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721MetadataApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721MetadataApproval represents a Approval event raised by the ERC721Metadata contract. type ERC721MetadataApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_ERC721Metadata *ERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721MetadataApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &ERC721MetadataApprovalIterator{contract: _ERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_ERC721Metadata *ERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721MetadataApproval) if err := _ERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721MetadataApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721Metadata contract. type ERC721MetadataApprovalForAllIterator struct { Event *ERC721MetadataApprovalForAll // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721MetadataApprovalForAllIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721MetadataApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721MetadataApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721MetadataApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721MetadataApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the ERC721Metadata contract. type ERC721MetadataApprovalForAll struct { Owner common.Address Operator common.Address Approved bool Raw types.Log // Blockchain specific contextual infos } // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_ERC721Metadata *ERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721MetadataApprovalForAllIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &ERC721MetadataApprovalForAllIterator{contract: _ERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil } // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_ERC721Metadata *ERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721MetadataApprovalForAll) if err := _ERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721MetadataTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721Metadata contract. type ERC721MetadataTransferIterator struct { Event *ERC721MetadataTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721MetadataTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721MetadataTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721MetadataTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721MetadataTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721MetadataTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721MetadataTransfer represents a Transfer event raised by the ERC721Metadata contract. type ERC721MetadataTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_ERC721Metadata *ERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721MetadataTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &ERC721MetadataTransferIterator{contract: _ERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_ERC721Metadata *ERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721MetadataTransfer) if err := _ERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721MetadataMintableABI is the input ABI used to generate the binding from. const ERC721MetadataMintableABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"tokenURI\",\"type\":\"string\"}],\"name\":\"mintWithTokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"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\":\"to\",\"type\":\"address\"},{\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"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\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" // ERC721MetadataMintableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const ERC721MetadataMintableBinRuntime = `0x` // ERC721MetadataMintableBin is the compiled bytecode used for deploying new contracts. const ERC721MetadataMintableBin = `0x` // DeployERC721MetadataMintable deploys a new Klaytn contract, binding an instance of ERC721MetadataMintable to it. func DeployERC721MetadataMintable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *ERC721MetadataMintable, error) { parsed, err := abi.JSON(strings.NewReader(ERC721MetadataMintableABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(ERC721MetadataMintableBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &ERC721MetadataMintable{ERC721MetadataMintableCaller: ERC721MetadataMintableCaller{contract: contract}, ERC721MetadataMintableTransactor: ERC721MetadataMintableTransactor{contract: contract}, ERC721MetadataMintableFilterer: ERC721MetadataMintableFilterer{contract: contract}}, nil } // ERC721MetadataMintable is an auto generated Go binding around a Klaytn contract. type ERC721MetadataMintable struct { ERC721MetadataMintableCaller // Read-only binding to the contract ERC721MetadataMintableTransactor // Write-only binding to the contract ERC721MetadataMintableFilterer // Log filterer for contract events } // ERC721MetadataMintableCaller is an auto generated read-only Go binding around a Klaytn contract. type ERC721MetadataMintableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721MetadataMintableTransactor is an auto generated write-only Go binding around a Klaytn contract. type ERC721MetadataMintableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721MetadataMintableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type ERC721MetadataMintableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // ERC721MetadataMintableSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type ERC721MetadataMintableSession struct { Contract *ERC721MetadataMintable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721MetadataMintableCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type ERC721MetadataMintableCallerSession struct { Contract *ERC721MetadataMintableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // ERC721MetadataMintableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type ERC721MetadataMintableTransactorSession struct { Contract *ERC721MetadataMintableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // ERC721MetadataMintableRaw is an auto generated low-level Go binding around a Klaytn contract. type ERC721MetadataMintableRaw struct { Contract *ERC721MetadataMintable // Generic contract binding to access the raw methods on } // ERC721MetadataMintableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type ERC721MetadataMintableCallerRaw struct { Contract *ERC721MetadataMintableCaller // Generic read-only contract binding to access the raw methods on } // ERC721MetadataMintableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type ERC721MetadataMintableTransactorRaw struct { Contract *ERC721MetadataMintableTransactor // Generic write-only contract binding to access the raw methods on } // NewERC721MetadataMintable creates a new instance of ERC721MetadataMintable, bound to a specific deployed contract. func NewERC721MetadataMintable(address common.Address, backend bind.ContractBackend) (*ERC721MetadataMintable, error) { contract, err := bindERC721MetadataMintable(address, backend, backend, backend) if err != nil { return nil, err } return &ERC721MetadataMintable{ERC721MetadataMintableCaller: ERC721MetadataMintableCaller{contract: contract}, ERC721MetadataMintableTransactor: ERC721MetadataMintableTransactor{contract: contract}, ERC721MetadataMintableFilterer: ERC721MetadataMintableFilterer{contract: contract}}, nil } // NewERC721MetadataMintableCaller creates a new read-only instance of ERC721MetadataMintable, bound to a specific deployed contract. func NewERC721MetadataMintableCaller(address common.Address, caller bind.ContractCaller) (*ERC721MetadataMintableCaller, error) { contract, err := bindERC721MetadataMintable(address, caller, nil, nil) if err != nil { return nil, err } return &ERC721MetadataMintableCaller{contract: contract}, nil } // NewERC721MetadataMintableTransactor creates a new write-only instance of ERC721MetadataMintable, bound to a specific deployed contract. func NewERC721MetadataMintableTransactor(address common.Address, transactor bind.ContractTransactor) (*ERC721MetadataMintableTransactor, error) { contract, err := bindERC721MetadataMintable(address, nil, transactor, nil) if err != nil { return nil, err } return &ERC721MetadataMintableTransactor{contract: contract}, nil } // NewERC721MetadataMintableFilterer creates a new log filterer instance of ERC721MetadataMintable, bound to a specific deployed contract. func NewERC721MetadataMintableFilterer(address common.Address, filterer bind.ContractFilterer) (*ERC721MetadataMintableFilterer, error) { contract, err := bindERC721MetadataMintable(address, nil, nil, filterer) if err != nil { return nil, err } return &ERC721MetadataMintableFilterer{contract: contract}, nil } // bindERC721MetadataMintable binds a generic wrapper to an already deployed contract. func bindERC721MetadataMintable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(ERC721MetadataMintableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC721MetadataMintable.Contract.ERC721MetadataMintableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.ERC721MetadataMintableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721MetadataMintable *ERC721MetadataMintableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.ERC721MetadataMintableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_ERC721MetadataMintable *ERC721MetadataMintableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _ERC721MetadataMintable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "balanceOf", owner) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721MetadataMintable.Contract.BalanceOf(&_ERC721MetadataMintable.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(uint256) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _ERC721MetadataMintable.Contract.BalanceOf(&_ERC721MetadataMintable.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "getApproved", tokenId) return *ret0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721MetadataMintable.Contract.GetApproved(&_ERC721MetadataMintable.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(address) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _ERC721MetadataMintable.Contract.GetApproved(&_ERC721MetadataMintable.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "isApprovedForAll", owner, operator) return *ret0, err } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721MetadataMintable.Contract.IsApprovedForAll(&_ERC721MetadataMintable.CallOpts, owner, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _ERC721MetadataMintable.Contract.IsApprovedForAll(&_ERC721MetadataMintable.CallOpts, owner, operator) } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "isMinter", account) return *ret0, err } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) IsMinter(account common.Address) (bool, error) { return _ERC721MetadataMintable.Contract.IsMinter(&_ERC721MetadataMintable.CallOpts, account) } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) IsMinter(account common.Address) (bool, error) { return _ERC721MetadataMintable.Contract.IsMinter(&_ERC721MetadataMintable.CallOpts, account) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) Name(opts *bind.CallOpts) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "name") return *ret0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Name() (string, error) { return _ERC721MetadataMintable.Contract.Name(&_ERC721MetadataMintable.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) Name() (string, error) { return _ERC721MetadataMintable.Contract.Name(&_ERC721MetadataMintable.CallOpts) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "ownerOf", tokenId) return *ret0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721MetadataMintable.Contract.OwnerOf(&_ERC721MetadataMintable.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(address) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _ERC721MetadataMintable.Contract.OwnerOf(&_ERC721MetadataMintable.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "supportsInterface", interfaceId) return *ret0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721MetadataMintable.Contract.SupportsInterface(&_ERC721MetadataMintable.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _ERC721MetadataMintable.Contract.SupportsInterface(&_ERC721MetadataMintable.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) Symbol(opts *bind.CallOpts) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "symbol") return *ret0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Symbol() (string, error) { return _ERC721MetadataMintable.Contract.Symbol(&_ERC721MetadataMintable.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) Symbol() (string, error) { return _ERC721MetadataMintable.Contract.Symbol(&_ERC721MetadataMintable.CallOpts) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _ERC721MetadataMintable.contract.Call(opts, out, "tokenURI", tokenId) return *ret0, err } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721MetadataMintable.Contract.TokenURI(&_ERC721MetadataMintable.CallOpts, tokenId) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_ERC721MetadataMintable *ERC721MetadataMintableCallerSession) TokenURI(tokenId *big.Int) (string, error) { return _ERC721MetadataMintable.Contract.TokenURI(&_ERC721MetadataMintable.CallOpts, tokenId) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { return _ERC721MetadataMintable.contract.Transact(opts, "addMinter", account) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableSession) AddMinter(account common.Address) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.AddMinter(&_ERC721MetadataMintable.TransactOpts, account) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.AddMinter(&_ERC721MetadataMintable.TransactOpts, account) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721MetadataMintable.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.Approve(&_ERC721MetadataMintable.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.Approve(&_ERC721MetadataMintable.TransactOpts, to, tokenId) } // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. // // Solidity: function mintWithTokenURI(to address, tokenId uint256, tokenURI string) returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) MintWithTokenURI(opts *bind.TransactOpts, to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { return _ERC721MetadataMintable.contract.Transact(opts, "mintWithTokenURI", to, tokenId, tokenURI) } // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. // // Solidity: function mintWithTokenURI(to address, tokenId uint256, tokenURI string) returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.MintWithTokenURI(&_ERC721MetadataMintable.TransactOpts, to, tokenId, tokenURI) } // MintWithTokenURI is a paid mutator transaction binding the contract method 0x50bb4e7f. // // Solidity: function mintWithTokenURI(to address, tokenId uint256, tokenURI string) returns(bool) func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) MintWithTokenURI(to common.Address, tokenId *big.Int, tokenURI string) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.MintWithTokenURI(&_ERC721MetadataMintable.TransactOpts, to, tokenId, tokenURI) } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { return _ERC721MetadataMintable.contract.Transact(opts, "renounceMinter") } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_ERC721MetadataMintable *ERC721MetadataMintableSession) RenounceMinter() (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.RenounceMinter(&_ERC721MetadataMintable.TransactOpts) } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) RenounceMinter() (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.RenounceMinter(&_ERC721MetadataMintable.TransactOpts) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721MetadataMintable.contract.Transact(opts, "safeTransferFrom", from, to, tokenId, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.SafeTransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId, _data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, _data bytes) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, _data []byte) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.SafeTransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId, _data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) SetApprovalForAll(opts *bind.TransactOpts, to common.Address, approved bool) (*types.Transaction, error) { return _ERC721MetadataMintable.contract.Transact(opts, "setApprovalForAll", to, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.SetApprovalForAll(&_ERC721MetadataMintable.TransactOpts, to, approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(to address, approved bool) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) SetApprovalForAll(to common.Address, approved bool) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.SetApprovalForAll(&_ERC721MetadataMintable.TransactOpts, to, approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721MetadataMintable.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.TransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_ERC721MetadataMintable *ERC721MetadataMintableTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _ERC721MetadataMintable.Contract.TransferFrom(&_ERC721MetadataMintable.TransactOpts, from, to, tokenId) } // ERC721MetadataMintableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableApprovalIterator struct { Event *ERC721MetadataMintableApproval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721MetadataMintableApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721MetadataMintableApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721MetadataMintableApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721MetadataMintableApproval represents a Approval event raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*ERC721MetadataMintableApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &ERC721MetadataMintableApprovalIterator{contract: _ERC721MetadataMintable.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721MetadataMintableApproval) if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721MetadataMintableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableApprovalForAllIterator struct { Event *ERC721MetadataMintableApprovalForAll // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721MetadataMintableApprovalForAllIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721MetadataMintableApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721MetadataMintableApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721MetadataMintableApprovalForAll represents a ApprovalForAll event raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableApprovalForAll struct { Owner common.Address Operator common.Address Approved bool Raw types.Log // Blockchain specific contextual infos } // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*ERC721MetadataMintableApprovalForAllIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &ERC721MetadataMintableApprovalForAllIterator{contract: _ERC721MetadataMintable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil } // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721MetadataMintableApprovalForAll) if err := _ERC721MetadataMintable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721MetadataMintableMinterAddedIterator is returned from FilterMinterAdded and is used to iterate over the raw logs and unpacked data for MinterAdded events raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableMinterAddedIterator struct { Event *ERC721MetadataMintableMinterAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721MetadataMintableMinterAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableMinterAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableMinterAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721MetadataMintableMinterAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721MetadataMintableMinterAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721MetadataMintableMinterAdded represents a MinterAdded event raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableMinterAdded struct { Account common.Address Raw types.Log // Blockchain specific contextual infos } // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. // // Solidity: e MinterAdded(account indexed address) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*ERC721MetadataMintableMinterAddedIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "MinterAdded", accountRule) if err != nil { return nil, err } return &ERC721MetadataMintableMinterAddedIterator{contract: _ERC721MetadataMintable.contract, event: "MinterAdded", logs: logs, sub: sub}, nil } // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. // // Solidity: e MinterAdded(account indexed address) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableMinterAdded, account []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "MinterAdded", accountRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721MetadataMintableMinterAdded) if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721MetadataMintableMinterRemovedIterator is returned from FilterMinterRemoved and is used to iterate over the raw logs and unpacked data for MinterRemoved events raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableMinterRemovedIterator struct { Event *ERC721MetadataMintableMinterRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721MetadataMintableMinterRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableMinterRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableMinterRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721MetadataMintableMinterRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721MetadataMintableMinterRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721MetadataMintableMinterRemoved represents a MinterRemoved event raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableMinterRemoved struct { Account common.Address Raw types.Log // Blockchain specific contextual infos } // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. // // Solidity: e MinterRemoved(account indexed address) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*ERC721MetadataMintableMinterRemovedIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "MinterRemoved", accountRule) if err != nil { return nil, err } return &ERC721MetadataMintableMinterRemovedIterator{contract: _ERC721MetadataMintable.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil } // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. // // Solidity: e MinterRemoved(account indexed address) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableMinterRemoved, account []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "MinterRemoved", accountRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721MetadataMintableMinterRemoved) if err := _ERC721MetadataMintable.contract.UnpackLog(event, "MinterRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // ERC721MetadataMintableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableTransferIterator struct { Event *ERC721MetadataMintableTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *ERC721MetadataMintableTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(ERC721MetadataMintableTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *ERC721MetadataMintableTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *ERC721MetadataMintableTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // ERC721MetadataMintableTransfer represents a Transfer event raised by the ERC721MetadataMintable contract. type ERC721MetadataMintableTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*ERC721MetadataMintableTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721MetadataMintable.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &ERC721MetadataMintableTransferIterator{contract: _ERC721MetadataMintable.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_ERC721MetadataMintable *ERC721MetadataMintableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *ERC721MetadataMintableTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _ERC721MetadataMintable.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(ERC721MetadataMintableTransfer) if err := _ERC721MetadataMintable.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // IERC165ABI is the input ABI used to generate the binding from. const IERC165ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" // IERC165BinRuntime is the compiled bytecode used for adding genesis block without deploying code. const IERC165BinRuntime = `0x` // IERC165Bin is the compiled bytecode used for deploying new contracts. const IERC165Bin = `0x` // DeployIERC165 deploys a new Klaytn contract, binding an instance of IERC165 to it. func DeployIERC165(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *IERC165, error) { parsed, err := abi.JSON(strings.NewReader(IERC165ABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(IERC165Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil } // IERC165 is an auto generated Go binding around a Klaytn contract. type IERC165 struct { IERC165Caller // Read-only binding to the contract IERC165Transactor // Write-only binding to the contract IERC165Filterer // Log filterer for contract events } // IERC165Caller is an auto generated read-only Go binding around a Klaytn contract. type IERC165Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Transactor is an auto generated write-only Go binding around a Klaytn contract. type IERC165Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Filterer is an auto generated log filtering Go binding around a Klaytn contract events. type IERC165Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC165Session is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type IERC165Session struct { Contract *IERC165 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC165CallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type IERC165CallerSession struct { Contract *IERC165Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC165TransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type IERC165TransactorSession struct { Contract *IERC165Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC165Raw is an auto generated low-level Go binding around a Klaytn contract. type IERC165Raw struct { Contract *IERC165 // Generic contract binding to access the raw methods on } // IERC165CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type IERC165CallerRaw struct { Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on } // IERC165TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type IERC165TransactorRaw struct { Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on } // NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { contract, err := bindIERC165(address, backend, backend, backend) if err != nil { return nil, err } return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil } // NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { contract, err := bindIERC165(address, caller, nil, nil) if err != nil { return nil, err } return &IERC165Caller{contract: contract}, nil } // NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { contract, err := bindIERC165(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC165Transactor{contract: contract}, nil } // NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { contract, err := bindIERC165(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC165Filterer{contract: contract}, nil } // bindIERC165 binds a generic wrapper to an already deployed contract. func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC165ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC165.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC165.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC165.Contract.contract.Transact(opts, method, params...) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _IERC165.contract.Call(opts, out, "supportsInterface", interfaceId) return *ret0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC165 *IERC165Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceId) } // IERC20ABI is the input ABI used to generate the binding from. const IERC20ABI = "[{\"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\"}]" // IERC20BinRuntime is the compiled bytecode used for adding genesis block without deploying code. const IERC20BinRuntime = `0x` // IERC20Bin is the compiled bytecode used for deploying new contracts. const IERC20Bin = `0x` // DeployIERC20 deploys a new Klaytn contract, binding an instance of IERC20 to it. func DeployIERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *IERC20, error) { parsed, err := abi.JSON(strings.NewReader(IERC20ABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(IERC20Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &IERC20{IERC20Caller: IERC20Caller{contract: contract}, IERC20Transactor: IERC20Transactor{contract: contract}, IERC20Filterer: IERC20Filterer{contract: contract}}, nil } // IERC20 is an auto generated Go binding around a Klaytn contract. type IERC20 struct { IERC20Caller // Read-only binding to the contract IERC20Transactor // Write-only binding to the contract IERC20Filterer // Log filterer for contract events } // IERC20Caller is an auto generated read-only Go binding around a Klaytn contract. type IERC20Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20Transactor is an auto generated write-only Go binding around a Klaytn contract. type IERC20Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20Filterer is an auto generated log filtering Go binding around a Klaytn contract events. type IERC20Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20Session is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type IERC20Session struct { Contract *IERC20 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC20CallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type IERC20CallerSession struct { Contract *IERC20Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC20TransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type IERC20TransactorSession struct { Contract *IERC20Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC20Raw is an auto generated low-level Go binding around a Klaytn contract. type IERC20Raw struct { Contract *IERC20 // Generic contract binding to access the raw methods on } // IERC20CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type IERC20CallerRaw struct { Contract *IERC20Caller // Generic read-only contract binding to access the raw methods on } // IERC20TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type IERC20TransactorRaw struct { Contract *IERC20Transactor // Generic write-only contract binding to access the raw methods on } // NewIERC20 creates a new instance of IERC20, bound to a specific deployed contract. func NewIERC20(address common.Address, backend bind.ContractBackend) (*IERC20, error) { contract, err := bindIERC20(address, backend, backend, backend) if err != nil { return nil, err } return &IERC20{IERC20Caller: IERC20Caller{contract: contract}, IERC20Transactor: IERC20Transactor{contract: contract}, IERC20Filterer: IERC20Filterer{contract: contract}}, nil } // NewIERC20Caller creates a new read-only instance of IERC20, bound to a specific deployed contract. func NewIERC20Caller(address common.Address, caller bind.ContractCaller) (*IERC20Caller, error) { contract, err := bindIERC20(address, caller, nil, nil) if err != nil { return nil, err } return &IERC20Caller{contract: contract}, nil } // NewIERC20Transactor creates a new write-only instance of IERC20, bound to a specific deployed contract. func NewIERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC20Transactor, error) { contract, err := bindIERC20(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC20Transactor{contract: contract}, nil } // NewIERC20Filterer creates a new log filterer instance of IERC20, bound to a specific deployed contract. func NewIERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC20Filterer, error) { contract, err := bindIERC20(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC20Filterer{contract: contract}, nil } // bindIERC20 binds a generic wrapper to an already deployed contract. func bindIERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC20ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC20 *IERC20Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC20.Contract.IERC20Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC20 *IERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20.Contract.IERC20Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20 *IERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20.Contract.IERC20Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC20 *IERC20CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC20.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC20 *IERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20 *IERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20.Contract.contract.Transact(opts, method, params...) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_IERC20 *IERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _IERC20.contract.Call(opts, out, "allowance", owner, spender) return *ret0, err } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_IERC20 *IERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) } // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. // // Solidity: function allowance(owner address, spender address) constant returns(uint256) func (_IERC20 *IERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_IERC20 *IERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _IERC20.contract.Call(opts, out, "balanceOf", account) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_IERC20 *IERC20Session) BalanceOf(account common.Address) (*big.Int, error) { return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(account address) constant returns(uint256) func (_IERC20 *IERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error) { return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_IERC20 *IERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _IERC20.contract.Call(opts, out, "totalSupply") return *ret0, err } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_IERC20 *IERC20Session) TotalSupply() (*big.Int, error) { return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) } // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. // // Solidity: function totalSupply() constant returns(uint256) func (_IERC20 *IERC20CallerSession) TotalSupply() (*big.Int, error) { return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, amount uint256) returns(bool) func (_IERC20 *IERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.contract.Transact(opts, "approve", spender, amount) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, amount uint256) returns(bool) func (_IERC20 *IERC20Session) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, amount) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(spender address, amount uint256) returns(bool) func (_IERC20 *IERC20TransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_IERC20 *IERC20Transactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.contract.Transact(opts, "transfer", recipient, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_IERC20 *IERC20Session) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, recipient, amount) } // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. // // Solidity: function transfer(recipient address, amount uint256) returns(bool) func (_IERC20 *IERC20TransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_IERC20 *IERC20Transactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.contract.Transact(opts, "transferFrom", sender, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_IERC20 *IERC20Session) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, sender, recipient, amount) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(sender address, recipient address, amount uint256) returns(bool) func (_IERC20 *IERC20TransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) { return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, sender, recipient, amount) } // 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. type IERC20ApprovalIterator struct { Event *IERC20Approval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *IERC20ApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(IERC20Approval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(IERC20Approval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *IERC20ApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC20ApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC20Approval represents a Approval event raised by the IERC20 contract. type IERC20Approval struct { Owner common.Address Spender common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, spender indexed address, value uint256) func (_IERC20 *IERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20ApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _IERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return &IERC20ApprovalIterator{contract: _IERC20.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, spender indexed address, value uint256) func (_IERC20 *IERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var spenderRule []interface{} for _, spenderItem := range spender { spenderRule = append(spenderRule, spenderItem) } logs, sub, err := _IERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(IERC20Approval) if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // 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. type IERC20TransferIterator struct { Event *IERC20Transfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *IERC20TransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(IERC20Transfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(IERC20Transfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *IERC20TransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC20TransferIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC20Transfer represents a Transfer event raised by the IERC20 contract. type IERC20Transfer struct { From common.Address To common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, value uint256) func (_IERC20 *IERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20TransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return &IERC20TransferIterator{contract: _IERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, value uint256) func (_IERC20 *IERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } logs, sub, err := _IERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(IERC20Transfer) if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // IERC20BridgeReceiverABI is the input ABI used to generate the binding from. const IERC20BridgeReceiverABI = "[{\"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\"}]" // IERC20BridgeReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const IERC20BridgeReceiverBinRuntime = `0x` // IERC20BridgeReceiverBin is the compiled bytecode used for deploying new contracts. const IERC20BridgeReceiverBin = `0x` // DeployIERC20BridgeReceiver deploys a new Klaytn contract, binding an instance of IERC20BridgeReceiver to it. func DeployIERC20BridgeReceiver(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *IERC20BridgeReceiver, error) { parsed, err := abi.JSON(strings.NewReader(IERC20BridgeReceiverABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(IERC20BridgeReceiverBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &IERC20BridgeReceiver{IERC20BridgeReceiverCaller: IERC20BridgeReceiverCaller{contract: contract}, IERC20BridgeReceiverTransactor: IERC20BridgeReceiverTransactor{contract: contract}, IERC20BridgeReceiverFilterer: IERC20BridgeReceiverFilterer{contract: contract}}, nil } // IERC20BridgeReceiver is an auto generated Go binding around a Klaytn contract. type IERC20BridgeReceiver struct { IERC20BridgeReceiverCaller // Read-only binding to the contract IERC20BridgeReceiverTransactor // Write-only binding to the contract IERC20BridgeReceiverFilterer // Log filterer for contract events } // IERC20BridgeReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. type IERC20BridgeReceiverCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20BridgeReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. type IERC20BridgeReceiverTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20BridgeReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type IERC20BridgeReceiverFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC20BridgeReceiverSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type IERC20BridgeReceiverSession struct { Contract *IERC20BridgeReceiver // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC20BridgeReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type IERC20BridgeReceiverCallerSession struct { Contract *IERC20BridgeReceiverCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC20BridgeReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type IERC20BridgeReceiverTransactorSession struct { Contract *IERC20BridgeReceiverTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC20BridgeReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. type IERC20BridgeReceiverRaw struct { Contract *IERC20BridgeReceiver // Generic contract binding to access the raw methods on } // IERC20BridgeReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type IERC20BridgeReceiverCallerRaw struct { Contract *IERC20BridgeReceiverCaller // Generic read-only contract binding to access the raw methods on } // IERC20BridgeReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type IERC20BridgeReceiverTransactorRaw struct { Contract *IERC20BridgeReceiverTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC20BridgeReceiver creates a new instance of IERC20BridgeReceiver, bound to a specific deployed contract. func NewIERC20BridgeReceiver(address common.Address, backend bind.ContractBackend) (*IERC20BridgeReceiver, error) { contract, err := bindIERC20BridgeReceiver(address, backend, backend, backend) if err != nil { return nil, err } return &IERC20BridgeReceiver{IERC20BridgeReceiverCaller: IERC20BridgeReceiverCaller{contract: contract}, IERC20BridgeReceiverTransactor: IERC20BridgeReceiverTransactor{contract: contract}, IERC20BridgeReceiverFilterer: IERC20BridgeReceiverFilterer{contract: contract}}, nil } // NewIERC20BridgeReceiverCaller creates a new read-only instance of IERC20BridgeReceiver, bound to a specific deployed contract. func NewIERC20BridgeReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC20BridgeReceiverCaller, error) { contract, err := bindIERC20BridgeReceiver(address, caller, nil, nil) if err != nil { return nil, err } return &IERC20BridgeReceiverCaller{contract: contract}, nil } // NewIERC20BridgeReceiverTransactor creates a new write-only instance of IERC20BridgeReceiver, bound to a specific deployed contract. func NewIERC20BridgeReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC20BridgeReceiverTransactor, error) { contract, err := bindIERC20BridgeReceiver(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC20BridgeReceiverTransactor{contract: contract}, nil } // NewIERC20BridgeReceiverFilterer creates a new log filterer instance of IERC20BridgeReceiver, bound to a specific deployed contract. func NewIERC20BridgeReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC20BridgeReceiverFilterer, error) { contract, err := bindIERC20BridgeReceiver(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC20BridgeReceiverFilterer{contract: contract}, nil } // bindIERC20BridgeReceiver binds a generic wrapper to an already deployed contract. func bindIERC20BridgeReceiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC20BridgeReceiverABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC20BridgeReceiver *IERC20BridgeReceiverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC20BridgeReceiver.Contract.IERC20BridgeReceiverCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC20BridgeReceiver *IERC20BridgeReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20BridgeReceiver.Contract.IERC20BridgeReceiverTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20BridgeReceiver *IERC20BridgeReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20BridgeReceiver.Contract.IERC20BridgeReceiverTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC20BridgeReceiver *IERC20BridgeReceiverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC20BridgeReceiver.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC20BridgeReceiver *IERC20BridgeReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC20BridgeReceiver.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC20BridgeReceiver *IERC20BridgeReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC20BridgeReceiver.Contract.contract.Transact(opts, method, params...) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _amount uint256, _feeLimit uint256, _extraData bytes) returns() func (_IERC20BridgeReceiver *IERC20BridgeReceiverTransactor) OnERC20Received(opts *bind.TransactOpts, _from common.Address, _to common.Address, _amount *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _IERC20BridgeReceiver.contract.Transact(opts, "onERC20Received", _from, _to, _amount, _feeLimit, _extraData) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _amount uint256, _feeLimit uint256, _extraData bytes) returns() func (_IERC20BridgeReceiver *IERC20BridgeReceiverSession) OnERC20Received(_from common.Address, _to common.Address, _amount *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _IERC20BridgeReceiver.Contract.OnERC20Received(&_IERC20BridgeReceiver.TransactOpts, _from, _to, _amount, _feeLimit, _extraData) } // OnERC20Received is a paid mutator transaction binding the contract method 0xf1656e53. // // Solidity: function onERC20Received(_from address, _to address, _amount uint256, _feeLimit uint256, _extraData bytes) returns() func (_IERC20BridgeReceiver *IERC20BridgeReceiverTransactorSession) OnERC20Received(_from common.Address, _to common.Address, _amount *big.Int, _feeLimit *big.Int, _extraData []byte) (*types.Transaction, error) { return _IERC20BridgeReceiver.Contract.OnERC20Received(&_IERC20BridgeReceiver.TransactOpts, _from, _to, _amount, _feeLimit, _extraData) } // IERC721ABI is the input ABI used to generate the binding from. const IERC721ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" // IERC721BinRuntime is the compiled bytecode used for adding genesis block without deploying code. const IERC721BinRuntime = `0x` // IERC721Bin is the compiled bytecode used for deploying new contracts. const IERC721Bin = `0x` // DeployIERC721 deploys a new Klaytn contract, binding an instance of IERC721 to it. func DeployIERC721(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *IERC721, error) { parsed, err := abi.JSON(strings.NewReader(IERC721ABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(IERC721Bin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil } // IERC721 is an auto generated Go binding around a Klaytn contract. type IERC721 struct { IERC721Caller // Read-only binding to the contract IERC721Transactor // Write-only binding to the contract IERC721Filterer // Log filterer for contract events } // IERC721Caller is an auto generated read-only Go binding around a Klaytn contract. type IERC721Caller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721Transactor is an auto generated write-only Go binding around a Klaytn contract. type IERC721Transactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721Filterer is an auto generated log filtering Go binding around a Klaytn contract events. type IERC721Filterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721Session is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type IERC721Session struct { Contract *IERC721 // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721CallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type IERC721CallerSession struct { Contract *IERC721Caller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC721TransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type IERC721TransactorSession struct { Contract *IERC721Transactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721Raw is an auto generated low-level Go binding around a Klaytn contract. type IERC721Raw struct { Contract *IERC721 // Generic contract binding to access the raw methods on } // IERC721CallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type IERC721CallerRaw struct { Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on } // IERC721TransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type IERC721TransactorRaw struct { Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on } // NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract. func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) { contract, err := bindIERC721(address, backend, backend, backend) if err != nil { return nil, err } return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil } // NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract. func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) { contract, err := bindIERC721(address, caller, nil, nil) if err != nil { return nil, err } return &IERC721Caller{contract: contract}, nil } // NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract. func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) { contract, err := bindIERC721(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC721Transactor{contract: contract}, nil } // NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract. func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) { contract, err := bindIERC721(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC721Filterer{contract: contract}, nil } // bindIERC721 binds a generic wrapper to an already deployed contract. func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC721ABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC721.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(balance uint256) func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _IERC721.contract.Call(opts, out, "balanceOf", owner) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(balance uint256) func (_IERC721 *IERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(balance uint256) func (_IERC721 *IERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(operator address) func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _IERC721.contract.Call(opts, out, "getApproved", tokenId) return *ret0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(operator address) func (_IERC721 *IERC721Session) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(operator address) func (_IERC721 *IERC721CallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _IERC721.contract.Call(opts, out, "isApprovedForAll", owner, operator) return *ret0, err } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_IERC721 *IERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_IERC721 *IERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, owner, operator) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(owner address) func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _IERC721.contract.Call(opts, out, "ownerOf", tokenId) return *ret0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(owner address) func (_IERC721 *IERC721Session) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(owner address) func (_IERC721 *IERC721CallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _IERC721.contract.Call(opts, out, "supportsInterface", interfaceId) return *ret0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC721 *IERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_IERC721 *IERC721Session) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_IERC721 *IERC721TransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.Approve(&_IERC721.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, data bytes) returns() func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721.contract.Transact(opts, "safeTransferFrom", from, to, tokenId, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, data bytes) returns() func (_IERC721 *IERC721Session) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, data bytes) returns() func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, from, to, tokenId, data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(operator address, _approved bool) returns() func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721.contract.Transact(opts, "setApprovalForAll", operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(operator address, _approved bool) returns() func (_IERC721 *IERC721Session) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(operator address, _approved bool) returns() func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, operator, _approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_IERC721 *IERC721Session) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_IERC721 *IERC721TransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, from, to, tokenId) } // IERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721 contract. type IERC721ApprovalIterator struct { Event *IERC721Approval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *IERC721ApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(IERC721Approval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(IERC721Approval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *IERC721ApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721ApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721Approval represents a Approval event raised by the IERC721 contract. type IERC721Approval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721ApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(IERC721Approval) if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // IERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721 contract. type IERC721ApprovalForAllIterator struct { Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *IERC721ApprovalForAllIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(IERC721ApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(IERC721ApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *IERC721ApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721ApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract. type IERC721ApprovalForAll struct { Owner common.Address Operator common.Address Approved bool Raw types.Log // Blockchain specific contextual infos } // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721ApprovalForAllIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil } // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(IERC721ApprovalForAll) if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // IERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721 contract. type IERC721TransferIterator struct { Event *IERC721Transfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *IERC721TransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(IERC721Transfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(IERC721Transfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *IERC721TransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721TransferIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721Transfer represents a Transfer event raised by the IERC721 contract. type IERC721Transfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721TransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(IERC721Transfer) if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // IERC721BridgeReceiverABI is the input ABI used to generate the binding from. const IERC721BridgeReceiverABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // IERC721BridgeReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const IERC721BridgeReceiverBinRuntime = `0x` // IERC721BridgeReceiverBin is the compiled bytecode used for deploying new contracts. const IERC721BridgeReceiverBin = `0x` // DeployIERC721BridgeReceiver deploys a new Klaytn contract, binding an instance of IERC721BridgeReceiver to it. func DeployIERC721BridgeReceiver(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *IERC721BridgeReceiver, error) { parsed, err := abi.JSON(strings.NewReader(IERC721BridgeReceiverABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(IERC721BridgeReceiverBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &IERC721BridgeReceiver{IERC721BridgeReceiverCaller: IERC721BridgeReceiverCaller{contract: contract}, IERC721BridgeReceiverTransactor: IERC721BridgeReceiverTransactor{contract: contract}, IERC721BridgeReceiverFilterer: IERC721BridgeReceiverFilterer{contract: contract}}, nil } // IERC721BridgeReceiver is an auto generated Go binding around a Klaytn contract. type IERC721BridgeReceiver struct { IERC721BridgeReceiverCaller // Read-only binding to the contract IERC721BridgeReceiverTransactor // Write-only binding to the contract IERC721BridgeReceiverFilterer // Log filterer for contract events } // IERC721BridgeReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. type IERC721BridgeReceiverCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721BridgeReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. type IERC721BridgeReceiverTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721BridgeReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type IERC721BridgeReceiverFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721BridgeReceiverSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type IERC721BridgeReceiverSession struct { Contract *IERC721BridgeReceiver // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721BridgeReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type IERC721BridgeReceiverCallerSession struct { Contract *IERC721BridgeReceiverCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC721BridgeReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type IERC721BridgeReceiverTransactorSession struct { Contract *IERC721BridgeReceiverTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721BridgeReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. type IERC721BridgeReceiverRaw struct { Contract *IERC721BridgeReceiver // Generic contract binding to access the raw methods on } // IERC721BridgeReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type IERC721BridgeReceiverCallerRaw struct { Contract *IERC721BridgeReceiverCaller // Generic read-only contract binding to access the raw methods on } // IERC721BridgeReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type IERC721BridgeReceiverTransactorRaw struct { Contract *IERC721BridgeReceiverTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC721BridgeReceiver creates a new instance of IERC721BridgeReceiver, bound to a specific deployed contract. func NewIERC721BridgeReceiver(address common.Address, backend bind.ContractBackend) (*IERC721BridgeReceiver, error) { contract, err := bindIERC721BridgeReceiver(address, backend, backend, backend) if err != nil { return nil, err } return &IERC721BridgeReceiver{IERC721BridgeReceiverCaller: IERC721BridgeReceiverCaller{contract: contract}, IERC721BridgeReceiverTransactor: IERC721BridgeReceiverTransactor{contract: contract}, IERC721BridgeReceiverFilterer: IERC721BridgeReceiverFilterer{contract: contract}}, nil } // NewIERC721BridgeReceiverCaller creates a new read-only instance of IERC721BridgeReceiver, bound to a specific deployed contract. func NewIERC721BridgeReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721BridgeReceiverCaller, error) { contract, err := bindIERC721BridgeReceiver(address, caller, nil, nil) if err != nil { return nil, err } return &IERC721BridgeReceiverCaller{contract: contract}, nil } // NewIERC721BridgeReceiverTransactor creates a new write-only instance of IERC721BridgeReceiver, bound to a specific deployed contract. func NewIERC721BridgeReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721BridgeReceiverTransactor, error) { contract, err := bindIERC721BridgeReceiver(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC721BridgeReceiverTransactor{contract: contract}, nil } // NewIERC721BridgeReceiverFilterer creates a new log filterer instance of IERC721BridgeReceiver, bound to a specific deployed contract. func NewIERC721BridgeReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721BridgeReceiverFilterer, error) { contract, err := bindIERC721BridgeReceiver(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC721BridgeReceiverFilterer{contract: contract}, nil } // bindIERC721BridgeReceiver binds a generic wrapper to an already deployed contract. func bindIERC721BridgeReceiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC721BridgeReceiverABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721BridgeReceiver *IERC721BridgeReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721BridgeReceiver.Contract.IERC721BridgeReceiverTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC721BridgeReceiver *IERC721BridgeReceiverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC721BridgeReceiver.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721BridgeReceiver.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721BridgeReceiver.Contract.contract.Transact(opts, method, params...) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, _from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _IERC721BridgeReceiver.contract.Transact(opts, "onERC721Received", _from, _tokenId, _to, _extraData) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_IERC721BridgeReceiver *IERC721BridgeReceiverSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _IERC721BridgeReceiver.Contract.OnERC721Received(&_IERC721BridgeReceiver.TransactOpts, _from, _tokenId, _to, _extraData) } // OnERC721Received is a paid mutator transaction binding the contract method 0xcf0da290. // // Solidity: function onERC721Received(_from address, _tokenId uint256, _to address, _extraData bytes) returns() func (_IERC721BridgeReceiver *IERC721BridgeReceiverTransactorSession) OnERC721Received(_from common.Address, _tokenId *big.Int, _to common.Address, _extraData []byte) (*types.Transaction, error) { return _IERC721BridgeReceiver.Contract.OnERC721Received(&_IERC721BridgeReceiver.TransactOpts, _from, _tokenId, _to, _extraData) } // IERC721MetadataABI is the input ABI used to generate the binding from. const IERC721MetadataABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" // IERC721MetadataBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const IERC721MetadataBinRuntime = `0x` // IERC721MetadataBin is the compiled bytecode used for deploying new contracts. const IERC721MetadataBin = `0x` // DeployIERC721Metadata deploys a new Klaytn contract, binding an instance of IERC721Metadata to it. func DeployIERC721Metadata(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *IERC721Metadata, error) { parsed, err := abi.JSON(strings.NewReader(IERC721MetadataABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(IERC721MetadataBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil } // IERC721Metadata is an auto generated Go binding around a Klaytn contract. type IERC721Metadata struct { IERC721MetadataCaller // Read-only binding to the contract IERC721MetadataTransactor // Write-only binding to the contract IERC721MetadataFilterer // Log filterer for contract events } // IERC721MetadataCaller is an auto generated read-only Go binding around a Klaytn contract. type IERC721MetadataCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721MetadataTransactor is an auto generated write-only Go binding around a Klaytn contract. type IERC721MetadataTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721MetadataFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type IERC721MetadataFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721MetadataSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type IERC721MetadataSession struct { Contract *IERC721Metadata // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721MetadataCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type IERC721MetadataCallerSession struct { Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC721MetadataTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type IERC721MetadataTransactorSession struct { Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721MetadataRaw is an auto generated low-level Go binding around a Klaytn contract. type IERC721MetadataRaw struct { Contract *IERC721Metadata // Generic contract binding to access the raw methods on } // IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type IERC721MetadataCallerRaw struct { Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on } // IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type IERC721MetadataTransactorRaw struct { Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract. func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) { contract, err := bindIERC721Metadata(address, backend, backend, backend) if err != nil { return nil, err } return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil } // NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract. func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) { contract, err := bindIERC721Metadata(address, caller, nil, nil) if err != nil { return nil, err } return &IERC721MetadataCaller{contract: contract}, nil } // NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract. func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) { contract, err := bindIERC721Metadata(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC721MetadataTransactor{contract: contract}, nil } // NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract. func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) { contract, err := bindIERC721Metadata(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC721MetadataFilterer{contract: contract}, nil } // bindIERC721Metadata binds a generic wrapper to an already deployed contract. func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC721MetadataABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC721Metadata.Contract.IERC721MetadataCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC721Metadata.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Metadata.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Metadata.Contract.contract.Transact(opts, method, params...) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(balance uint256) func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _IERC721Metadata.contract.Call(opts, out, "balanceOf", owner) return *ret0, err } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(balance uint256) func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) } // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. // // Solidity: function balanceOf(owner address) constant returns(balance uint256) func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, owner) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(operator address) func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _IERC721Metadata.contract.Call(opts, out, "getApproved", tokenId) return *ret0, err } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(operator address) func (_IERC721Metadata *IERC721MetadataSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) } // GetApproved is a free data retrieval call binding the contract method 0x081812fc. // // Solidity: function getApproved(tokenId uint256) constant returns(operator address) func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(tokenId *big.Int) (common.Address, error) { return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, tokenId) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _IERC721Metadata.contract.Call(opts, out, "isApprovedForAll", owner, operator) return *ret0, err } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) } // IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. // // Solidity: function isApprovedForAll(owner address, operator address) constant returns(bool) func (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, owner, operator) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _IERC721Metadata.contract.Call(opts, out, "name") return *ret0, err } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) { return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) } // Name is a free data retrieval call binding the contract method 0x06fdde03. // // Solidity: function name() constant returns(string) func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) { return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(owner address) func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, tokenId *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _IERC721Metadata.contract.Call(opts, out, "ownerOf", tokenId) return *ret0, err } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(owner address) func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) } // OwnerOf is a free data retrieval call binding the contract method 0x6352211e. // // Solidity: function ownerOf(tokenId uint256) constant returns(owner address) func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(tokenId *big.Int) (common.Address, error) { return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, tokenId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _IERC721Metadata.contract.Call(opts, out, "supportsInterface", interfaceId) return *ret0, err } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) } // SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. // // Solidity: function supportsInterface(interfaceId bytes4) constant returns(bool) func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceId) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _IERC721Metadata.contract.Call(opts, out, "symbol") return *ret0, err } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) { return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) } // Symbol is a free data retrieval call binding the contract method 0x95d89b41. // // Solidity: function symbol() constant returns(string) func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) { return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, tokenId *big.Int) (string, error) { var ( ret0 = new(string) ) out := ret0 err := _IERC721Metadata.contract.Call(opts, out, "tokenURI", tokenId) return *ret0, err } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_IERC721Metadata *IERC721MetadataSession) TokenURI(tokenId *big.Int) (string, error) { return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) } // TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. // // Solidity: function tokenURI(tokenId uint256) constant returns(string) func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(tokenId *big.Int) (string, error) { return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.contract.Transact(opts, "approve", to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_IERC721Metadata *IERC721MetadataSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) } // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. // // Solidity: function approve(to address, tokenId uint256) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, to, tokenId) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, data bytes) returns() func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", from, to, tokenId, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, data bytes) returns() func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) } // SafeTransferFrom is a paid mutator transaction binding the contract method 0xb88d4fde. // // Solidity: function safeTransferFrom(from address, to address, tokenId uint256, data bytes) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(from common.Address, to common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId, data) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(operator address, _approved bool) returns() func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Metadata.contract.Transact(opts, "setApprovalForAll", operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(operator address, _approved bool) returns() func (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) } // SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. // // Solidity: function setApprovalForAll(operator address, _approved bool) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(operator common.Address, _approved bool) (*types.Transaction, error) { return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, operator, _approved) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.contract.Transact(opts, "transferFrom", from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) } // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. // // Solidity: function transferFrom(from address, to address, tokenId uint256) returns() func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(from common.Address, to common.Address, tokenId *big.Int) (*types.Transaction, error) { return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, from, to, tokenId) } // IERC721MetadataApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721Metadata contract. type IERC721MetadataApprovalIterator struct { Event *IERC721MetadataApproval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *IERC721MetadataApprovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(IERC721MetadataApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(IERC721MetadataApproval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *IERC721MetadataApprovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721MetadataApprovalIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract. type IERC721MetadataApproval struct { Owner common.Address Approved common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, approved []common.Address, tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil } // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. // // Solidity: e Approval(owner indexed address, approved indexed address, tokenId indexed uint256) func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, owner []common.Address, approved []common.Address, tokenId []*big.Int) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var approvedRule []interface{} for _, approvedItem := range approved { approvedRule = append(approvedRule, approvedItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", ownerRule, approvedRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(IERC721MetadataApproval) if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // IERC721MetadataApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721Metadata contract. type IERC721MetadataApprovalForAllIterator struct { Event *IERC721MetadataApprovalForAll // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *IERC721MetadataApprovalForAllIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(IERC721MetadataApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(IERC721MetadataApprovalForAll) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *IERC721MetadataApprovalForAllIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721MetadataApprovalForAllIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract. type IERC721MetadataApprovalForAll struct { Owner common.Address Operator common.Address Approved bool Raw types.Log // Blockchain specific contextual infos } // FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, owner []common.Address, operator []common.Address) (*IERC721MetadataApprovalForAllIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil } // WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. // // Solidity: e ApprovalForAll(owner indexed address, operator indexed address, approved bool) func (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, owner []common.Address, operator []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } var operatorRule []interface{} for _, operatorItem := range operator { operatorRule = append(operatorRule, operatorItem) } logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", ownerRule, operatorRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(IERC721MetadataApprovalForAll) if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // IERC721MetadataTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721Metadata contract. type IERC721MetadataTransferIterator struct { Event *IERC721MetadataTransfer // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *IERC721MetadataTransferIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(IERC721MetadataTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(IERC721MetadataTransfer) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *IERC721MetadataTransferIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *IERC721MetadataTransferIterator) Close() error { it.sub.Unsubscribe() return nil } // IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract. type IERC721MetadataTransfer struct { From common.Address To common.Address TokenId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address, tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil } // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. // // Solidity: e Transfer(from indexed address, to indexed address, tokenId indexed uint256) func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, from []common.Address, to []common.Address, tokenId []*big.Int) (event.Subscription, error) { var fromRule []interface{} for _, fromItem := range from { fromRule = append(fromRule, fromItem) } var toRule []interface{} for _, toItem := range to { toRule = append(toRule, toItem) } var tokenIdRule []interface{} for _, tokenIdItem := range tokenId { tokenIdRule = append(tokenIdRule, tokenIdItem) } logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", fromRule, toRule, tokenIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(IERC721MetadataTransfer) if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // IERC721ReceiverABI is the input ABI used to generate the binding from. const IERC721ReceiverABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"operator\",\"type\":\"address\"},{\"name\":\"from\",\"type\":\"address\"},{\"name\":\"tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" // IERC721ReceiverBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const IERC721ReceiverBinRuntime = `0x` // IERC721ReceiverBin is the compiled bytecode used for deploying new contracts. const IERC721ReceiverBin = `0x` // DeployIERC721Receiver deploys a new Klaytn contract, binding an instance of IERC721Receiver to it. func DeployIERC721Receiver(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *IERC721Receiver, error) { parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(IERC721ReceiverBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil } // IERC721Receiver is an auto generated Go binding around a Klaytn contract. type IERC721Receiver struct { IERC721ReceiverCaller // Read-only binding to the contract IERC721ReceiverTransactor // Write-only binding to the contract IERC721ReceiverFilterer // Log filterer for contract events } // IERC721ReceiverCaller is an auto generated read-only Go binding around a Klaytn contract. type IERC721ReceiverCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721ReceiverTransactor is an auto generated write-only Go binding around a Klaytn contract. type IERC721ReceiverTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721ReceiverFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type IERC721ReceiverFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // IERC721ReceiverSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type IERC721ReceiverSession struct { Contract *IERC721Receiver // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721ReceiverCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type IERC721ReceiverCallerSession struct { Contract *IERC721ReceiverCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // IERC721ReceiverTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type IERC721ReceiverTransactorSession struct { Contract *IERC721ReceiverTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // IERC721ReceiverRaw is an auto generated low-level Go binding around a Klaytn contract. type IERC721ReceiverRaw struct { Contract *IERC721Receiver // Generic contract binding to access the raw methods on } // IERC721ReceiverCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type IERC721ReceiverCallerRaw struct { Contract *IERC721ReceiverCaller // Generic read-only contract binding to access the raw methods on } // IERC721ReceiverTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type IERC721ReceiverTransactorRaw struct { Contract *IERC721ReceiverTransactor // Generic write-only contract binding to access the raw methods on } // NewIERC721Receiver creates a new instance of IERC721Receiver, bound to a specific deployed contract. func NewIERC721Receiver(address common.Address, backend bind.ContractBackend) (*IERC721Receiver, error) { contract, err := bindIERC721Receiver(address, backend, backend, backend) if err != nil { return nil, err } return &IERC721Receiver{IERC721ReceiverCaller: IERC721ReceiverCaller{contract: contract}, IERC721ReceiverTransactor: IERC721ReceiverTransactor{contract: contract}, IERC721ReceiverFilterer: IERC721ReceiverFilterer{contract: contract}}, nil } // NewIERC721ReceiverCaller creates a new read-only instance of IERC721Receiver, bound to a specific deployed contract. func NewIERC721ReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721ReceiverCaller, error) { contract, err := bindIERC721Receiver(address, caller, nil, nil) if err != nil { return nil, err } return &IERC721ReceiverCaller{contract: contract}, nil } // NewIERC721ReceiverTransactor creates a new write-only instance of IERC721Receiver, bound to a specific deployed contract. func NewIERC721ReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721ReceiverTransactor, error) { contract, err := bindIERC721Receiver(address, nil, transactor, nil) if err != nil { return nil, err } return &IERC721ReceiverTransactor{contract: contract}, nil } // NewIERC721ReceiverFilterer creates a new log filterer instance of IERC721Receiver, bound to a specific deployed contract. func NewIERC721ReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721ReceiverFilterer, error) { contract, err := bindIERC721Receiver(address, nil, nil, filterer) if err != nil { return nil, err } return &IERC721ReceiverFilterer{contract: contract}, nil } // bindIERC721Receiver binds a generic wrapper to an already deployed contract. func bindIERC721Receiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(IERC721ReceiverABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC721Receiver *IERC721ReceiverRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC721Receiver.Contract.IERC721ReceiverCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC721Receiver *IERC721ReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Receiver *IERC721ReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Receiver.Contract.IERC721ReceiverTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_IERC721Receiver *IERC721ReceiverCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _IERC721Receiver.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _IERC721Receiver.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_IERC721Receiver *IERC721ReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _IERC721Receiver.Contract.contract.Transact(opts, method, params...) } // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. // // Solidity: function onERC721Received(operator address, from address, tokenId uint256, data bytes) returns(bytes4) func (_IERC721Receiver *IERC721ReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Receiver.contract.Transact(opts, "onERC721Received", operator, from, tokenId, data) } // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. // // Solidity: function onERC721Received(operator address, from address, tokenId uint256, data bytes) returns(bytes4) func (_IERC721Receiver *IERC721ReceiverSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) } // OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. // // Solidity: function onERC721Received(operator address, from address, tokenId uint256, data bytes) returns(bytes4) func (_IERC721Receiver *IERC721ReceiverTransactorSession) OnERC721Received(operator common.Address, from common.Address, tokenId *big.Int, data []byte) (*types.Transaction, error) { return _IERC721Receiver.Contract.OnERC721Received(&_IERC721Receiver.TransactOpts, operator, from, tokenId, data) } // MinterRoleABI is the input ABI used to generate the binding from. const MinterRoleABI = "[{\"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\"}]" // MinterRoleBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const MinterRoleBinRuntime = `0x` // MinterRoleBin is the compiled bytecode used for deploying new contracts. const MinterRoleBin = `0x` // DeployMinterRole deploys a new Klaytn contract, binding an instance of MinterRole to it. func DeployMinterRole(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MinterRole, error) { parsed, err := abi.JSON(strings.NewReader(MinterRoleABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(MinterRoleBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &MinterRole{MinterRoleCaller: MinterRoleCaller{contract: contract}, MinterRoleTransactor: MinterRoleTransactor{contract: contract}, MinterRoleFilterer: MinterRoleFilterer{contract: contract}}, nil } // MinterRole is an auto generated Go binding around a Klaytn contract. type MinterRole struct { MinterRoleCaller // Read-only binding to the contract MinterRoleTransactor // Write-only binding to the contract MinterRoleFilterer // Log filterer for contract events } // MinterRoleCaller is an auto generated read-only Go binding around a Klaytn contract. type MinterRoleCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MinterRoleTransactor is an auto generated write-only Go binding around a Klaytn contract. type MinterRoleTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MinterRoleFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type MinterRoleFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MinterRoleSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type MinterRoleSession struct { Contract *MinterRole // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MinterRoleCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type MinterRoleCallerSession struct { Contract *MinterRoleCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // MinterRoleTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type MinterRoleTransactorSession struct { Contract *MinterRoleTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MinterRoleRaw is an auto generated low-level Go binding around a Klaytn contract. type MinterRoleRaw struct { Contract *MinterRole // Generic contract binding to access the raw methods on } // MinterRoleCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type MinterRoleCallerRaw struct { Contract *MinterRoleCaller // Generic read-only contract binding to access the raw methods on } // MinterRoleTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type MinterRoleTransactorRaw struct { Contract *MinterRoleTransactor // Generic write-only contract binding to access the raw methods on } // NewMinterRole creates a new instance of MinterRole, bound to a specific deployed contract. func NewMinterRole(address common.Address, backend bind.ContractBackend) (*MinterRole, error) { contract, err := bindMinterRole(address, backend, backend, backend) if err != nil { return nil, err } return &MinterRole{MinterRoleCaller: MinterRoleCaller{contract: contract}, MinterRoleTransactor: MinterRoleTransactor{contract: contract}, MinterRoleFilterer: MinterRoleFilterer{contract: contract}}, nil } // NewMinterRoleCaller creates a new read-only instance of MinterRole, bound to a specific deployed contract. func NewMinterRoleCaller(address common.Address, caller bind.ContractCaller) (*MinterRoleCaller, error) { contract, err := bindMinterRole(address, caller, nil, nil) if err != nil { return nil, err } return &MinterRoleCaller{contract: contract}, nil } // NewMinterRoleTransactor creates a new write-only instance of MinterRole, bound to a specific deployed contract. func NewMinterRoleTransactor(address common.Address, transactor bind.ContractTransactor) (*MinterRoleTransactor, error) { contract, err := bindMinterRole(address, nil, transactor, nil) if err != nil { return nil, err } return &MinterRoleTransactor{contract: contract}, nil } // NewMinterRoleFilterer creates a new log filterer instance of MinterRole, bound to a specific deployed contract. func NewMinterRoleFilterer(address common.Address, filterer bind.ContractFilterer) (*MinterRoleFilterer, error) { contract, err := bindMinterRole(address, nil, nil, filterer) if err != nil { return nil, err } return &MinterRoleFilterer{contract: contract}, nil } // bindMinterRole binds a generic wrapper to an already deployed contract. func bindMinterRole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(MinterRoleABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_MinterRole *MinterRoleRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _MinterRole.Contract.MinterRoleCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_MinterRole *MinterRoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MinterRole.Contract.MinterRoleTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MinterRole *MinterRoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MinterRole.Contract.MinterRoleTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_MinterRole *MinterRoleCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _MinterRole.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_MinterRole *MinterRoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MinterRole.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MinterRole *MinterRoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MinterRole.Contract.contract.Transact(opts, method, params...) } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_MinterRole *MinterRoleCaller) IsMinter(opts *bind.CallOpts, account common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _MinterRole.contract.Call(opts, out, "isMinter", account) return *ret0, err } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_MinterRole *MinterRoleSession) IsMinter(account common.Address) (bool, error) { return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) } // IsMinter is a free data retrieval call binding the contract method 0xaa271e1a. // // Solidity: function isMinter(account address) constant returns(bool) func (_MinterRole *MinterRoleCallerSession) IsMinter(account common.Address) (bool, error) { return _MinterRole.Contract.IsMinter(&_MinterRole.CallOpts, account) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_MinterRole *MinterRoleTransactor) AddMinter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { return _MinterRole.contract.Transact(opts, "addMinter", account) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_MinterRole *MinterRoleSession) AddMinter(account common.Address) (*types.Transaction, error) { return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) } // AddMinter is a paid mutator transaction binding the contract method 0x983b2d56. // // Solidity: function addMinter(account address) returns() func (_MinterRole *MinterRoleTransactorSession) AddMinter(account common.Address) (*types.Transaction, error) { return _MinterRole.Contract.AddMinter(&_MinterRole.TransactOpts, account) } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_MinterRole *MinterRoleTransactor) RenounceMinter(opts *bind.TransactOpts) (*types.Transaction, error) { return _MinterRole.contract.Transact(opts, "renounceMinter") } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_MinterRole *MinterRoleSession) RenounceMinter() (*types.Transaction, error) { return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) } // RenounceMinter is a paid mutator transaction binding the contract method 0x98650275. // // Solidity: function renounceMinter() returns() func (_MinterRole *MinterRoleTransactorSession) RenounceMinter() (*types.Transaction, error) { return _MinterRole.Contract.RenounceMinter(&_MinterRole.TransactOpts) } // 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. type MinterRoleMinterAddedIterator struct { Event *MinterRoleMinterAdded // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MinterRoleMinterAddedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MinterRoleMinterAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MinterRoleMinterAdded) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MinterRoleMinterAddedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MinterRoleMinterAddedIterator) Close() error { it.sub.Unsubscribe() return nil } // MinterRoleMinterAdded represents a MinterAdded event raised by the MinterRole contract. type MinterRoleMinterAdded struct { Account common.Address Raw types.Log // Blockchain specific contextual infos } // FilterMinterAdded is a free log retrieval operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. // // Solidity: e MinterAdded(account indexed address) func (_MinterRole *MinterRoleFilterer) FilterMinterAdded(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterAddedIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterAdded", accountRule) if err != nil { return nil, err } return &MinterRoleMinterAddedIterator{contract: _MinterRole.contract, event: "MinterAdded", logs: logs, sub: sub}, nil } // WatchMinterAdded is a free log subscription operation binding the contract event 0x6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6. // // Solidity: e MinterAdded(account indexed address) func (_MinterRole *MinterRoleFilterer) WatchMinterAdded(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterAdded, account []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterAdded", accountRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MinterRoleMinterAdded) if err := _MinterRole.contract.UnpackLog(event, "MinterAdded", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // 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. type MinterRoleMinterRemovedIterator struct { Event *MinterRoleMinterRemoved // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MinterRoleMinterRemovedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MinterRoleMinterRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MinterRoleMinterRemoved) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MinterRoleMinterRemovedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MinterRoleMinterRemovedIterator) Close() error { it.sub.Unsubscribe() return nil } // MinterRoleMinterRemoved represents a MinterRemoved event raised by the MinterRole contract. type MinterRoleMinterRemoved struct { Account common.Address Raw types.Log // Blockchain specific contextual infos } // FilterMinterRemoved is a free log retrieval operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. // // Solidity: e MinterRemoved(account indexed address) func (_MinterRole *MinterRoleFilterer) FilterMinterRemoved(opts *bind.FilterOpts, account []common.Address) (*MinterRoleMinterRemovedIterator, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _MinterRole.contract.FilterLogs(opts, "MinterRemoved", accountRule) if err != nil { return nil, err } return &MinterRoleMinterRemovedIterator{contract: _MinterRole.contract, event: "MinterRemoved", logs: logs, sub: sub}, nil } // WatchMinterRemoved is a free log subscription operation binding the contract event 0xe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692. // // Solidity: e MinterRemoved(account indexed address) func (_MinterRole *MinterRoleFilterer) WatchMinterRemoved(opts *bind.WatchOpts, sink chan<- *MinterRoleMinterRemoved, account []common.Address) (event.Subscription, error) { var accountRule []interface{} for _, accountItem := range account { accountRule = append(accountRule, accountItem) } logs, sub, err := _MinterRole.contract.WatchLogs(opts, "MinterRemoved", accountRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MinterRoleMinterRemoved) if err := _MinterRole.contract.UnpackLog(event, "MinterRemoved", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // OwnableABI is the input ABI used to generate the binding from. const OwnableABI = "[{\"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\"}]" // OwnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const OwnableBinRuntime = `0x` // OwnableBin is the compiled bytecode used for deploying new contracts. const OwnableBin = `0x` // DeployOwnable deploys a new Klaytn contract, binding an instance of Ownable to it. func DeployOwnable(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Ownable, error) { parsed, err := abi.JSON(strings.NewReader(OwnableABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(OwnableBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil } // Ownable is an auto generated Go binding around a Klaytn contract. type Ownable struct { OwnableCaller // Read-only binding to the contract OwnableTransactor // Write-only binding to the contract OwnableFilterer // Log filterer for contract events } // OwnableCaller is an auto generated read-only Go binding around a Klaytn contract. type OwnableCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableTransactor is an auto generated write-only Go binding around a Klaytn contract. type OwnableTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type OwnableFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // OwnableSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type OwnableSession struct { Contract *Ownable // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OwnableCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type OwnableCallerSession struct { Contract *OwnableCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // OwnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type OwnableTransactorSession struct { Contract *OwnableTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // OwnableRaw is an auto generated low-level Go binding around a Klaytn contract. type OwnableRaw struct { Contract *Ownable // Generic contract binding to access the raw methods on } // OwnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type OwnableCallerRaw struct { Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on } // OwnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type OwnableTransactorRaw struct { Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on } // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract. func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) { contract, err := bindOwnable(address, backend, backend, backend) if err != nil { return nil, err } return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil } // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract. func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) { contract, err := bindOwnable(address, caller, nil, nil) if err != nil { return nil, err } return &OwnableCaller{contract: contract}, nil } // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract. func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) { contract, err := bindOwnable(address, nil, transactor, nil) if err != nil { return nil, err } return &OwnableTransactor{contract: contract}, nil } // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract. func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) { contract, err := bindOwnable(address, nil, nil, filterer) if err != nil { return nil, err } return &OwnableFilterer{contract: contract}, nil } // bindOwnable binds a generic wrapper to an already deployed contract. func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(OwnableABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Ownable.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Ownable.Contract.contract.Transact(opts, method, params...) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_Ownable *OwnableCaller) IsOwner(opts *bind.CallOpts) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _Ownable.contract.Call(opts, out, "isOwner") return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_Ownable *OwnableSession) IsOwner() (bool, error) { return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) } // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. // // Solidity: function isOwner() constant returns(bool) func (_Ownable *OwnableCallerSession) IsOwner() (bool, error) { return _Ownable.Contract.IsOwner(&_Ownable.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _Ownable.contract.Call(opts, out, "owner") return *ret0, err } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_Ownable *OwnableSession) Owner() (common.Address, error) { return _Ownable.Contract.Owner(&_Ownable.CallOpts) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() constant returns(address) func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) { return _Ownable.Contract.Owner(&_Ownable.CallOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { return _Ownable.contract.Transact(opts, "renounceOwnership") } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) { return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) { return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { return _Ownable.contract.Transact(opts, "transferOwnership", newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) } // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(newOwner address) returns() func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner) } // 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. type OwnableOwnershipTransferredIterator struct { Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub klaytn.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *OwnableOwnershipTransferredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(OwnableOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(OwnableOwnershipTransferred) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *OwnableOwnershipTransferredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *OwnableOwnershipTransferredIterator) Close() error { it.sub.Unsubscribe() return nil } // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract. type OwnableOwnershipTransferred struct { PreviousOwner common.Address NewOwner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // // Solidity: e OwnershipTransferred(previousOwner indexed address, newOwner indexed address) func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { var previousOwnerRule []interface{} for _, previousOwnerItem := range previousOwner { previousOwnerRule = append(previousOwnerRule, previousOwnerItem) } var newOwnerRule []interface{} for _, newOwnerItem := range newOwner { newOwnerRule = append(newOwnerRule, newOwnerItem) } logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(OwnableOwnershipTransferred) if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // RolesABI is the input ABI used to generate the binding from. const RolesABI = "[]" // RolesBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const RolesBinRuntime = `0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582026429ed555f83236ac076363d644804ff5b0baa4e098f1d4ef783a49049f7df70029` // RolesBin is the compiled bytecode used for deploying new contracts. const RolesBin = `0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582026429ed555f83236ac076363d644804ff5b0baa4e098f1d4ef783a49049f7df70029` // DeployRoles deploys a new Klaytn contract, binding an instance of Roles to it. func DeployRoles(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Roles, error) { parsed, err := abi.JSON(strings.NewReader(RolesABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RolesBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil } // Roles is an auto generated Go binding around a Klaytn contract. type Roles struct { RolesCaller // Read-only binding to the contract RolesTransactor // Write-only binding to the contract RolesFilterer // Log filterer for contract events } // RolesCaller is an auto generated read-only Go binding around a Klaytn contract. type RolesCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // RolesTransactor is an auto generated write-only Go binding around a Klaytn contract. type RolesTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // RolesFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type RolesFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // RolesSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type RolesSession struct { Contract *Roles // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // RolesCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type RolesCallerSession struct { Contract *RolesCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // RolesTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type RolesTransactorSession struct { Contract *RolesTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // RolesRaw is an auto generated low-level Go binding around a Klaytn contract. type RolesRaw struct { Contract *Roles // Generic contract binding to access the raw methods on } // RolesCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type RolesCallerRaw struct { Contract *RolesCaller // Generic read-only contract binding to access the raw methods on } // RolesTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type RolesTransactorRaw struct { Contract *RolesTransactor // Generic write-only contract binding to access the raw methods on } // NewRoles creates a new instance of Roles, bound to a specific deployed contract. func NewRoles(address common.Address, backend bind.ContractBackend) (*Roles, error) { contract, err := bindRoles(address, backend, backend, backend) if err != nil { return nil, err } return &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil } // NewRolesCaller creates a new read-only instance of Roles, bound to a specific deployed contract. func NewRolesCaller(address common.Address, caller bind.ContractCaller) (*RolesCaller, error) { contract, err := bindRoles(address, caller, nil, nil) if err != nil { return nil, err } return &RolesCaller{contract: contract}, nil } // NewRolesTransactor creates a new write-only instance of Roles, bound to a specific deployed contract. func NewRolesTransactor(address common.Address, transactor bind.ContractTransactor) (*RolesTransactor, error) { contract, err := bindRoles(address, nil, transactor, nil) if err != nil { return nil, err } return &RolesTransactor{contract: contract}, nil } // NewRolesFilterer creates a new log filterer instance of Roles, bound to a specific deployed contract. func NewRolesFilterer(address common.Address, filterer bind.ContractFilterer) (*RolesFilterer, error) { contract, err := bindRoles(address, nil, nil, filterer) if err != nil { return nil, err } return &RolesFilterer{contract: contract}, nil } // bindRoles binds a generic wrapper to an already deployed contract. func bindRoles(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(RolesABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Roles *RolesRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Roles.Contract.RolesCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Roles *RolesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Roles.Contract.RolesTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Roles *RolesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Roles.Contract.RolesTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_Roles *RolesCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _Roles.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_Roles *RolesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _Roles.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_Roles *RolesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _Roles.Contract.contract.Transact(opts, method, params...) } // SafeMathABI is the input ABI used to generate the binding from. const SafeMathABI = "[]" // SafeMathBinRuntime is the compiled bytecode used for adding genesis block without deploying code. const SafeMathBinRuntime = `0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058201aa360e6241ae1bc829140fb38ae5ca1672181b2a5c529c4ca3a045ed2896feb0029` // SafeMathBin is the compiled bytecode used for deploying new contracts. const SafeMathBin = `0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a723058201aa360e6241ae1bc829140fb38ae5ca1672181b2a5c529c4ca3a045ed2896feb0029` // DeploySafeMath deploys a new Klaytn contract, binding an instance of SafeMath to it. func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SafeMathBin), backend) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil } // SafeMath is an auto generated Go binding around a Klaytn contract. type SafeMath struct { SafeMathCaller // Read-only binding to the contract SafeMathTransactor // Write-only binding to the contract SafeMathFilterer // Log filterer for contract events } // SafeMathCaller is an auto generated read-only Go binding around a Klaytn contract. type SafeMathCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeMathTransactor is an auto generated write-only Go binding around a Klaytn contract. type SafeMathTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeMathFilterer is an auto generated log filtering Go binding around a Klaytn contract events. type SafeMathFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // SafeMathSession is an auto generated Go binding around a Klaytn contract, // with pre-set call and transact options. type SafeMathSession struct { Contract *SafeMath // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SafeMathCallerSession is an auto generated read-only Go binding around a Klaytn contract, // with pre-set call options. type SafeMathCallerSession struct { Contract *SafeMathCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // SafeMathTransactorSession is an auto generated write-only Go binding around a Klaytn contract, // with pre-set transact options. type SafeMathTransactorSession struct { Contract *SafeMathTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // SafeMathRaw is an auto generated low-level Go binding around a Klaytn contract. type SafeMathRaw struct { Contract *SafeMath // Generic contract binding to access the raw methods on } // SafeMathCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract. type SafeMathCallerRaw struct { Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on } // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract. type SafeMathTransactorRaw struct { Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on } // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { contract, err := bindSafeMath(address, backend, backend, backend) if err != nil { return nil, err } return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil } // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { contract, err := bindSafeMath(address, caller, nil, nil) if err != nil { return nil, err } return &SafeMathCaller{contract: contract}, nil } // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { contract, err := bindSafeMath(address, nil, transactor, nil) if err != nil { return nil, err } return &SafeMathTransactor{contract: contract}, nil } // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { contract, err := bindSafeMath(address, nil, nil, filterer) if err != nil { return nil, err } return &SafeMathFilterer{contract: contract}, nil } // bindSafeMath binds a generic wrapper to an already deployed contract. func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _SafeMath.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _SafeMath.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _SafeMath.Contract.contract.Transact(opts, method, params...) }