code: def constructor(cls, *args, **kwargs):
          
          if cls.bytecode is None:
              raise ValueError(
                  "Cannot call constructor on a contract that does not have 'bytecode' associated "
                  "with it"
              )
  
          return ContractConstructor(cls.web3,
                                     cls.abi,
                                     cls.bytecode,
                                     *args,
                                     **kwargs)
docs: :param args: The contract constructor arguments as positional arguments
          :param kwargs: The contract constructor arguments as keyword arguments
          :return: a contract constructor object