# Event listeners
!!! bug  
    IMPORTANT: web3js listeners doesn't work with Metamask web3 provider.  
    - web3 events/logs don't work properly with Metamask ([GitHub issue](https://github.com/MetaMask/metamask-extension/issues/2978))    
    - web3js v. 1.0 isn't supported yet ([GitHub issue](https://github.com/MetaMask/metamask-extension/issues/2350))

#### Full example of nodeCreated listener usage

```javascript
const gex = require('../src/index');

class Test {

  constructor(){
    this.val = 0;
    let wsAddr = 'ws://51.0.1.99:8546';
    gex.init(wsAddr);
    this.initListener();
  }

  initListener(){
    let self = this;
    let listener = new gex.listener(gex.managerContract().events.NodeCreated(), function (event) {
      console.log(event.returnValues);
      self.val = event.returnValues.nodeID;
      self.checkValue();
    });
  }

  createNode(){
    gex.createNode('255.255.255.255', 6000);
  }

  checkValue(){
    console.log('Check value: ');
    console.log(this.val)
  }

}

let ts = new Test();
ts.createNode();
```

## Available events

Updated for v. 0.0.14  
Usage example:

```javascript
// gex v. 0.0.14
let listener = new gex.listener(gex.manager().events.MchainCreated(), function (event) {
   console.log('EVENT');
   console.log(event.returnValues);
});
```

### Manager contact

- NodeCreated
- MchainCreated
- AggregationMchainCreated
- MchainAdded

### Token contact

// todo
