code: func (_ENS *ENSFilterer) WatchNewOwner(opts *bind.WatchOpts, sink chan<- *ENSNewOwner, node [][32]byte, label [][32]byte) (event.Subscription, error) {
  
  	var nodeRule []interface{}
  	for _, nodeItem := range node {
  		nodeRule = append(nodeRule, nodeItem)
  	}
  	var labelRule []interface{}
  	for _, labelItem := range label {
  		labelRule = append(labelRule, labelItem)
  	}
  
  	logs, sub, err := _ENS.contract.WatchLogs(opts, "NewOwner", nodeRule, labelRule)
  	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(ENSNewOwner)
  				if err := _ENS.contract.UnpackLog(event, "NewOwner", 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
  }
docs: // WatchNewOwner is a free log subscription operation binding the contract event 0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82.
  //
  // Solidity: event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner)