Towards a linear contract logic