code: def handle_tokennetwork_new(raiden: 'RaidenService', event: Event):
      
      data = event.event_data
      args = data['args']
      block_number = data['block_number']
      token_network_address = args['token_network_address']
      token_address = typing.TokenAddress(args['token_address'])
      block_hash = data['block_hash']
  
      token_network_proxy = raiden.chain.token_network(token_network_address)
      raiden.blockchain_events.add_token_network_listener(
          token_network_proxy=token_network_proxy,
          contract_manager=raiden.contract_manager,
          from_block=block_number,
      )
  
      token_network_state = TokenNetworkState(
          token_network_address,
          token_address,
      )
  
      transaction_hash = event.event_data['transaction_hash']
  
      new_token_network = ContractReceiveNewTokenNetwork(
          transaction_hash=transaction_hash,
          payment_network_identifier=event.originating_contract,
          token_network=token_network_state,
          block_number=block_number,
          block_hash=block_hash,
      )
      raiden.handle_and_track_state_change(new_token_network)
docs: Handles a `TokenNetworkCreated` event.