A light client for receiving and sending transactions

We want to develop a light client that can send and receive transactions, what information needs to be verified by the light client ?(e.g. , accumulator proof) We are trying to separate the code in the libra client for verifying transactions. Any code and specifications can be helpful.