Reworking ledger sharing. Passign user object to make the logic safer.