Right now, we have the security layer implemented for OVM and address fund storage abstraction for the Plasma protocol (unfortunately, with very little documentation at the moment). You can see from this line in our plasma pallet that we also abstract ERC20 contract funds via plapps contract to ERC20 contract hash mapping. In theory, arbitrary data mapping is possible. However, at our current state, this will require additional work on runtime or further abstractions from the chain for application layer developers to use it as a ‘proper database.’
On a side note, we’ll always prioritize the security layer before any application abstraction is made available in terms of chain implementation. We can indeed abstract most of the L2 security layer via the OVM module (which is practically finished at this point). But not all L2 will follow the same instructions. In fact, zk-rollup has a different approach to security from Optimistic Roll-ups. And we have recently started research in implementing zk-rollup for Plasm Network (potentially moving everything to zk rather than OVM, but that’s up in the air right now), which will keep us busy for a while.
Considering our current available human resources, further development for application abstractions to make a fully-functional and readable layer 2 smart contract that goes beyond a simple “send funds to address B” dApp (which every protocol you decide to use) will require a bit more time in my opinion.
I think the materials provided by the Cryptoeconomics lab in their Gazelle project can illustrate more detail regarding L2 application designs (link). We’re trying to make our stuff compatible with theirs (we’re working together).