[Technical] Best practice for Layer 2 contract cross-communication

Would appreciate some pointers on the following use case:
I'd like my Layer 2 (Polygon) contract to be able to call a function on my Layer 1 contract. Conversely, I'd like my layer 1 contract to be able to call a function on my layer 2 (Polygon) contract.
What are the best practices/frameworks for this?
Thanks!
submitted by /u/chocozorusRex
[link] [comments]