Currently the contract kit requires passing in a session, but we want to also be able to use the contract kit instances without requiring a session (like to access table data for an unauthenticated user). The contract kit is going to need to somehow request an APIClient from the Session Kit (or other global state?), understand which chain is in use, and then utilize that APIClient to make requests for things like table data.
If the Contract Kit wants to perform an action, it'll still need a session.
Currently the contract kit requires passing in a session, but we want to also be able to use the contract kit instances without requiring a session (like to access table data for an unauthenticated user). The contract kit is going to need to somehow request an APIClient from the Session Kit (or other global state?), understand which chain is in use, and then utilize that APIClient to make requests for things like table data.
If the Contract Kit wants to perform an action, it'll still need a session.