I have a contract that all of the functions either change the state or return data from storage. I have tried the techniques to reduce the size and it helped a bit. However, I need to add a couple more functions but I have reached the limit. I am using remix and I have not enabled the optimizer.
- If I enable optimizer does it increase the cost of calling the functions too much or is it not too much of a difference since my current size is also very close to max limit.
- Is it possible to split the contract? I am a bit confused about splitting contracts. I am using mappings and updating the data in these functions or directly returning data from these mappings and arrays, is it possible to put some functions to another contract and reach the storage from that contract?