Deploying More Efficient Upgradeable Contracts

Поділитися
Вставка
  • Опубліковано 27 вер 2024

КОМЕНТАРІ • 43

  • @TjSpoonManJacques
    @TjSpoonManJacques 3 роки тому +29

    BRUH!!!!! I learned more from your crew than hundreds of tutorial videos!!! I thought I was going crazy trying to figure out the proxy feature then I watched this video! THANK YOU FOR THE THEORY - IT PROVIDED SO MUCH VALUE!!!

  • @gonzaotc
    @gonzaotc 3 місяці тому

    beast of beasts, the one and only frangio.

  • @StyleTrick
    @StyleTrick 2 роки тому +1

    Amazing content as always. Used the UUPS pattern to upgrade contracts and it's great to have the implementations verified on Etherscan..

  • @rafaelquintero8090
    @rafaelquintero8090 2 роки тому

    Came here for the theory, it was what made it all clicked. Thanks.

  • @constructionbrix
    @constructionbrix 2 роки тому

    This was really good y'all. Thanks for the insight.

  • @josephnoott3804
    @josephnoott3804 3 роки тому

    Great video thanks Francisco!

  • @baatar
    @baatar 2 роки тому +1

    What if you use a Clones factory to deploy the upgradeable ERC20 contract? Will UUPS still be enabled on that deployed ERC20Upgradeable contract even though I didn't use the {kind: 'UUPS'} option when using the deployProxy helper?

  • @JohnSmith-mf2de
    @JohnSmith-mf2de 3 роки тому +1

    It was fantastic , thank you!

  • @aaronpszell2303
    @aaronpszell2303 2 роки тому +1

    Does it work for BSC token too?

  • @zachz6620
    @zachz6620 2 роки тому +2

    Great job explaining a complicated setup. Only person so far i have come across that was able to explain this well. Thanks!

  • @jagadishk5827
    @jagadishk5827 2 роки тому

    _authorizeUpgrade() is internal function. So there should be corresponding public or external function which calls _authorizeUpgrade ?

  • @mayassalman
    @mayassalman 3 роки тому +1

    Great video

  • @fialkovod
    @fialkovod 2 роки тому

    Why should transparent proxy check for admin privs on every call? If we place upgradeTo function on proxy, we have to check privs on this function call only. And we can forward all other function calls to implementation without check. So the only problem is that implementation can't have function named upgradeTo.

    • @renshawdrives
      @renshawdrives 2 роки тому

      I am just learning this so this is a guess - I think the actual reason might be that the transparent proxy doesn't check for admin privs, but needs to check if the function being called is defined before using the fallback and delegating. If the only function in the proxy is the fallback I guess this check is cheaper.

  • @Nick-yf6oo
    @Nick-yf6oo 2 роки тому

    Amazing! Thx a ton!

  • @DevrajSinghRawat
    @DevrajSinghRawat 2 роки тому

    Wonderful video

  • @leeren_
    @leeren_ Рік тому

    With UUPS does the proxy itself half to redundantly inherit most of the admin / upgrade features now passed to the implementation, or does it suffice to just include the simple fallback (and impl slot)?

  • @Karega
    @Karega 3 роки тому

    Is there no scaffolding for this project?

  • @AdityaKumar-jj9cq
    @AdityaKumar-jj9cq 2 роки тому

    Hey, can you share the slides?

  • @JohnDoe-ch7bo
    @JohnDoe-ch7bo 2 роки тому

    So if I were wanting to add a proxy to Mars V1 before you upgraded into V2 would I have to deploy the proxy first and then change the ownership of Mars V1 to the proxy using the ownable package? From there all other forms of interacting with Mars Vx would be through the proxy as it would inherit the functions of Mars Vx or would the proxy have its own separate set of functions set up to give it that interaction ?

  • @abdulhamitkumru
    @abdulhamitkumru 2 роки тому

    thank you for sharing

  • @SahilRajput03
    @SahilRajput03 Рік тому

    This is amazing..! I love this video, content and the author.!! 🥰 ❣ 💓 ❥ 💑 💜

  • @mxxnwolf
    @mxxnwolf 2 роки тому

    where can i find this code?

  • @modestas2890
    @modestas2890 2 роки тому

    brilliant

  • @a.i.n6570
    @a.i.n6570 3 роки тому

    i want have your source code, please

  • @zikzik7691
    @zikzik7691 10 місяців тому

    37:56

  • @opionetics
    @opionetics 3 роки тому

    Awesome

  • @sylvaincormier6823
    @sylvaincormier6823 3 роки тому +1

    wow

  • @devjeanayala
    @devjeanayala 6 місяців тому

    the question now is how to remove the uups to have the final inmutable contract

  • @byteZorvin
    @byteZorvin 7 місяців тому

    hey please share your editor setup, it looks so clean and elegant

  • @crocodilearms2093
    @crocodilearms2093 2 роки тому

    How do you do this in remix?

  • @tritiumwu6700
    @tritiumwu6700 2 роки тому

    How can I use paymentsplitterUpgradeable?
    Could you show me?

  • @keithlim5403
    @keithlim5403 3 роки тому

    May i know is __UUPSUpgradeable_init() required in smart contract initialize()?

  • @Pasko70
    @Pasko70 3 роки тому +1

    Great video. I love the openzeppelin libraries. Im learning solidity for a couple of month now and im still having problems understanding when reading from storage costs gas? I build a web3 dapp and im reading state variables constantly and it doesnt cost eth. Also i deployed some training contracts via remix and reading never costs gas. But i saw some other videos on omptimzing gas cost and the example was for reading state variables. So maybe some one can clarify this topic for me.

    • @hck1bloodday
      @hck1bloodday 3 роки тому +1

      if your function alters the state, calling other functions taht only read the state (view) or that only operates over its parameters (pure), cost gas, the gas is billed based on the amount of code that is executed in functions that alter state
      I hope I was clear enough, explaining is not my best skill jajaja

    • @modestas2890
      @modestas2890 2 роки тому +1

      it doesnt cost eth if you ONLY read smart contracts (without triggering a transaction), however if you create a transaction, every read (and write) that happens as PART OF that transaction will cost gas.

  • @keeylanhume5714
    @keeylanhume5714 2 роки тому

    Could you change the variable storage via assembly and place it in the next storage slot, probably not ideal and easier to just not change the storage slots? But curious.

  • @blockchain_101
    @blockchain_101 3 роки тому

    Great tutorial, but how to verify the contract on etherscan?

  • @morganjpage
    @morganjpage 2 роки тому

    Awesome, thank you!

  • @zzzlll443
    @zzzlll443 2 роки тому

    You are the best. Regards

  • @opionetics
    @opionetics 3 роки тому

    Awesome