code: def ToJson(self):
          
          name = 'Contract'
  
          try:
              name = self.Name.decode('utf-8')
          except Exception as e:
              pass
  
          jsn = {'version': self.StateVersion}
  
          jsn_code = self.Code.ToJson()
  
          jsn_contract = {
              'name': name,
              'code_version': self.CodeVersion.decode('utf-8'),
              'author': self.Author.decode('utf-8'),
              'email': self.Email.decode('utf-8'),
              'description': self.Description.decode('utf-8'),
              'properties': {
                  'storage': self.HasStorage,
                  'dynamic_invoke': self.HasDynamicInvoke,
                  'payable': self.Payable
              }
          }
  
          jsn.update(jsn_code)
          jsn.update(jsn_contract)
  
          if self._nep_token:
              jsn['token'] = self._nep_token.ToJson()
  
          return jsn
docs: Convert object members to a dictionary that can be parsed as JSON.
  
          Returns:
               dict: