OK thanks you. I will check it Le mar. 5 mars 2024 à 19:57, kolapo goodness <[email protected]> a écrit :
> here is an article on managing the* *stack too deep* *error > https://soliditydeveloper.com/stacktoodeep > > here is also a stackexchange conversation related to it > > https://ethereum.stackexchange.com/questions/19587/how-to-fix-stack-too-deep-error > > On Tue, Mar 5, 2024 at 6:22 PM Yao Marius SODOKIN < > [email protected]> wrote: > >> ok thanks you sir, >> As far as storage variables concerned, I want create many instances of a >> contrat in my web API, then I use Structs for most of variables, That why I >> use really locals variables in my functions. if you have resources on it, >> you recommend to me >> >> Le mar. 5 mars 2024 à 18:08, kolapo goodness <[email protected]> >> a écrit : >> >>> evm (ethereum virtual machine) uses the stack data structure and the >>> depth is 1024 so if you get a stack too deep error you should check your >>> solidity code and can also implement some slot packing techniques. the main >>> issue comes from one or more of your functions where you're using a lot of >>> variables if you can reduce it by loading directly from storage instead of >>> local variables that can also solve the problem >>> >>> On Mon, Mar 4, 2024 at 11:46 PM Yao Marius SODOKIN < >>> [email protected]> wrote: >>> >>>> Hello dear all, >>>> I am developing a decentralized application; >>>> >>>> It implements smart contracts with solidity. each object represents a >>>> smart contract. So I wrote the Transaction, Project, User contracts. I want >>>> to deploy these contracts to a single address; and interact with them from >>>> my REST API developed in Django Rest Framework, using the web3.py library >>>> >>>> The problem I have is: >>>> 1-I wrote the code of the three contracts in a single contract, this >>>> contract is heavy and cannot be compiled >>>> 2- I finally wrote the contracts differently, deployed them to >>>> different addresses, and from another contract I want to interact with >>>> these contracts. This allows me to interact with a single contract from my >>>> API in order to call on others. The size of this contract is also too much >>>> and cannot be compiled. >>>> here is the error message: >>>> >>>> CompilerError: Stack too deep. Try compiling with `--via-ir` (cli) or >>>> the equivalent `viaIR: true` (standard JSON) while enabling the optimizer. >>>> Otherwise, try removing local variables. When compiling inline assembly: >>>> Variable headStart is 1 slot(s) too deep inside the stack. Stack too deep. >>>> Try compiling with `--via-ir` (cli) or the equivalent `viaIR: true` >>>> (standard JSON) while enabling the optimizer. Otherwise, try removing local >>>> variables. >>>> >>>> How to do ? or what alternative or means used? The objective is to >>>> interact with smart contracts deployed from my API in Django Rest Framework >>>> >>>> Thanks >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Django users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/django-users/CACiPtiLzQnM9nH%3DiCYaggX4yM9i2kv2-i1dByZGwvDmE1RbkZw%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/django-users/CACiPtiLzQnM9nH%3DiCYaggX4yM9i2kv2-i1dByZGwvDmE1RbkZw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Django users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/django-users/CAEtv5e%2B%3Dcksv83F8b_RbgT8kfruGdN%2B6KiLz4JOLyP%3DeMKVVzg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/django-users/CAEtv5e%2B%3Dcksv83F8b_RbgT8kfruGdN%2B6KiLz4JOLyP%3DeMKVVzg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/CACiPtiLZFyDEBTGiRmXkDQeM8xf_u_OqavSFwYXSKcg4X0%3DwDw%40mail.gmail.com >> <https://groups.google.com/d/msgid/django-users/CACiPtiLZFyDEBTGiRmXkDQeM8xf_u_OqavSFwYXSKcg4X0%3DwDw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAEtv5eLAv-q-gdXF58Zfu0TBGSzqo2KMHBVh3AKO0n%3DpAqVpHg%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAEtv5eLAv-q-gdXF58Zfu0TBGSzqo2KMHBVh3AKO0n%3DpAqVpHg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CACiPtiJ2%3D6EbzMaYKkzZLcNU2O7C2BqESnnWLUbnNKGTsYYjqg%40mail.gmail.com.

