📖

Beanstalk University Class #34

Date
July 12, 2022
Timestamps

0:00 Intro • 0:23 Withdrawal freeze • 6:47 Potential price oracle attack discussion • 20:40 What is the role of Beanstalk Farms? • 24:59 Audit update • 26:02 Mitigating exposure to 3CRV • 28:35 The role of Bean Sprout • 32:52 How does the Bean price perform with a BEAN:ETH pool? • 34:30 How can the community make sure contributors are compensated?

Type
Beanstalk University

Recordings

Notes

Withdrawal freeze

  • The withdrawal freeze started at 24 hours, and was reduced to 4 hours over time with BIP-9.
  • The idea came from ESD (Empty Set Dollar).
  • The idea was somewhat misguided. It was an attempt to reduce inorganic demand, but it exacerbates inefficiencies in the market because there is a supply overhang. People know that there is supply coming, that discourages buyers and that can exacerbate sell pressure because of the lack of buyers.
  • Probably a net negative. Should not exist, but can't be zero or people would be able to take advantage of Silo rewards.
  • Lowering it to 1 season upon Replant would make the most sense.

Potential price oracle attack discussion

  • Beanstalk doesn't calculate the price of BEAN. Instead it calculates the deltaB, which is the amount of Beans or Soil that should be minted in order to return to peg.
  • With the Uniswap pool, there was no liquidity weighted average, so Beanstalk looked at the liquidity in the Silo since that couldn't be manipulated by a flash loan.
  • With the Curve pool, there will be a time and liquidity weighted deltaB using the average price over the past hour and weighted by the amount of liquidity.
  • The oracle assumes the price of each stablecoin in the 3CRV pool will be $1, which isn't perfectly accurate.
  • It is manipulation resistant, because in order to impact the oracle price you have to assume Bean exposure over a block, which makes you vulnerable to being sold against. Therefore, there is real price discovery taking place.
  • Flash loans have to be paid back at the end of the transaction, so by the end of a block they will have been resolved.
  • No oracle should factor in the price during a block, and instead look at the price at the end of a block, which is what the Curve TWAP oracle does.
  • A cap on deltaB is not ideal, because then the market can see that there will not be enough BEAN/SOIL minted to return to peg.
  • If the deltaB calculation can be corrupted, it's a question of how much. Changing the calculation by 1% is much different than if you can dramatically change the number of Beans minted. Depends on the nature of the vulnerability.
  • The oracle is one of the weakest parts of Beanstalk as it's currently implemented at scale.
  • If Beanstalk has hundreds of billions or trillions of value, the cost of manipulating the oracle might be small relative to the potential gain.

What is the role of Beanstalk Farms in the future development of Beanstalk?

  • There are potentially infinite improvements that can be made to Beanstalk.
  • Constant change is not aligned with the goal of being a minter of money and primitive across DeFi.
  • Over the short term, contributors can exist under a single umbrella.
  • As long as contributors to BSF are aligned about where to take Beanstalk, it's most efficient to have them coordinate rather than have no communication.
  • Over time there may be disparate goals and people might want to work on totally separate things, in which case it might make sense for other organizations to pop up.
  • At least another 6 months of rapid development at the base layer. For now people are still aligned on a vision.

Audit update

  • Both sets of changes (Trail of Bits and Halborn) have been sent back to auditors. Waiting on final reports.
  • Waiting on their go ahead to proceed.

What is the plan for introducing other pools after Replant?

  • Everyone agrees about the importance of adding a BEAN:ETH pool shortly after replant
  • Circle FUD is ridiculous.

What is the role of Bean Sprout?

  • Root is an exciting idea, and exactly what was imagined as a cool thing to build on top of Beanstalk.
  • Hopefully Bean Sprout can continue to be a place where entrepreneurs and people with ideas to build on Beanstalk can get access to funding.

How does the Bean price perform with a BEAN:ETH pool?

  • If 100% of liquidity was in the BEAN:ETH pool, a 1% increase in the price of ETH would produce a 1% increase in the price of BEAN absent any market activity.
  • ETH volatility results in BEAN volatility, which is good for converters and results in additional minting of both BEAN and SOIL.

How can the community make sure contributors are compensated?

  • Contributors have done amazing work over the past couple months to get Beanstalk ready for Replant.
  • There are Unripe Beans that BSF has and can use to pay contributors, which would also ensure long term alignment
  • Also likely to be BIPs addressing this as well.

Transcript

how's it going publius going great man how are you i'm i'm doing well quite well we see people uh coming in but i think we can we can start um publish i wanted to start or dedicate some time to today's class and talk about the withdrawal freeze and um starting off when beanstalk started we had a withdrawal freeze of 24 hours and then in bit9 that got reduced all the way down to four hours and in that dip we we discuss or mention uh that eventually we'll we might want to consider removing the robot freeze completely and we'll briefly discuss this uh uh as well uh you know uh in the past weeks let's see um i wanted you to first of all maybe take us through the rationale behind having the role freeze to begin with uh what what kind of friction is caused by it and then what challenges uh could we face in implementing a zero a zero withdrawal freeze or no withdrawal freeze at all so the original idea for the withdrawal freeze uh was taken from the really taken from esd and like most of the things that were taken directly from esd was was misguided so the thought the misguided thought was that having a freeze to withdraw assets from the dow would prevent inorganic demand which to some extent it may but as we spoke about in another class recently or maybe it was a dow meeting that having a withdrawal freeze exacerbates inefficiencies in the market because you have a supply overhang so if people know that there is supply that's coming in a period of time that uh prevents them from buying or discourages buyers and that can exacerbate uh sell pressure because there's no buyers from the expectation of sellers because those assets are frozen so once you realize the opportunity cost associated with burning growing stock it's reasonable to expect uh you know if there's some negative expected value of demand associated with each frozen withdrawal and so as there are a significant amount of frozen withdrawals accumulating the attractiveness of buying decreases and therefore as much as it having a freeze to withdraw assets may prevent people from depositing them because they don't want to deposit them if they can't get them back over a short period of time and the the reality is the withdrawal freeze is is probably a net negative so that's something that's become apparent over time now uh biff 9 i think you said it was lowered the withdrawal freeze from 24 to 4 over time and did so slowly and steadily uh but re you know the the the question is well what is the purpose of the withdrawal freeze at all at this point and we would make the argument that it probably shouldn't exist now you can't set the withdrawal freeze to zero because the way silo rewards are currently implemented uh somebody could deposit assets call the sunrise function and then with raw assets immediately and collect the senior ridge and therefore in a risk-free capacity uh steel or you know not not really steel but uh take some of the each season and the the concept did that's so at a there's a lot of things that can be done to beanstalk to improve the way that the silo rewards are distributed such that that's not possible uh you know of various levels of sophistication complexity and economic complexity that that are good better best on that front but the concept is i think at replant it probably would make sense to lower the withdrawal freeze further uh you know to us as low as it can go right now as one so that's probably what makes the most amount of sense okay and just cover the last bit uh what you explained which is you know sandwiching the sunrise function and then uh getting uh being seniority without real uh beanstalk exposure some ways to solve that would be for example is to only allow um seniors to be distributed an hour after the deposit another solution would be not to allow deposits um you know at t minus one or an hour before um the current hour could you think of other solutions or these these are probably you know what were we looking at with some of the things that we're looking at to bring it to zero so those are the most basic ones now the probably the the most efficient version of that is that the silo rewards from a season accrue over the course of that season over time such that there is no you can't in a flash loan you have to you have to take exposure to the bean price over a period of blocks and then you accrue the senior edge over the course of the the the full season that's probably the most efficient way to do it it's also probably not the easiest way to do it other things to consider maybe spreading out the accrual of the senior edge instead of over the course of that season over multiple seasons which could potentially make the silo stickier but uh then you you you introduce the problem with people that deposit their assets after the the beans have been minted uh you know you can't have people that deposit after the fact have access to the minting so uh there's there's some uh there's a lot of complexities to do it any any way other than the two ways you suggested which are much simpler okay uh and i agree with you it seems uh more um like the better decision let's say is to lower it down to an hour uh on a replant and then and then think more about bringing it down from an hour to zero um um following that or after that okay um i want i wanted to also talk about price articles um and how how bean stock reads or is going to you know read uh the price um um i guess the price of bean uh in the pool and then the potential of having so so right now beanstalk has no upper maximum on the amount that it can mint uh per season what is the scenario or what's the possibility of having you know a price uh oracle attack or the vector of attack that would you know cause being stock to mint an infinite amount of beans well there's a lot of different things to be said about the the price oracle the first is that beanstalk doesn't calculate a price explicitly instead it calculates a delta b the number of beans that need to be minted or the number of soil that should be minted in order to remove the bean return the bean price to its peg and at the end of the day the the delta b calculation is the way it's it's being done is changing so originally it was based on uniswap uh and compared the being east pool compared to the usdc pool and did so using a time and a time weighted average now uniswap v2 didn't naturally support a liquidity weighted average and so in order to compensate for the ability to flash loan and deposit uh lp tokens in the silo the the the delta b based on the time weighted average was weighted by the liquidity uh in the silo and because of the withdrawal freeze you couldn't deposit things uh in a flash loan so in theory that introduced flash one resistance to the delta b calculation so you have a time weighted average and then you factor in the liquidity such that it's manipulation resistant now going forward there's going to be there is no being eath pool and instead there's a bean 3 curve pool so the delta b calculation is now going to use curve to calculate a time and liquidity weighted average delta b uh which the there's a a couple things to be said about it frankly the the oracle assumes that the price of each stable coin under underneath recurve are each worth a dollar which at the moment as we know tether sitting at a slight discount and the other two two stable coins in the pair are at tag so the the concept is the oracle is probably not perfect now you can make the argument that the between with unit swap fees the delta b calculation on uniswap as it previously existed wasn't perfect either but the you know it's just it's not a perfect oracle as it's currently constructed at least theoretically now the the calculation uses the the time weighted average uh of beans and recurve in the pool over the course of the previous season in order to calculate a a delta b and then it it also weights the liquidity uh i'd have to check actually uh exactly what it's weighted by i'd have to refresh my recollection uh but i i can check on that uh or perhaps publishers can hop up here if uh if either of them recall off the top of the head um the but that that's the concept of of how it currently works and the i think when we talk about generalizing delta b the the main things that need to be factored in as you were talking about mod is that the amount of delta the amount of beans that can be minted is manipulation resistant and the key to that is that there's no way to significantly affect the amount of beans that are that are minted or really affected at all in a perfect world without taking exposure to the bean price over over a block at least right so if you take exposure to the bean price over a block you you expose yourself to being sold against and therefore there's real price discovery there so any effective uh price oracle should not factor in the price during a block but only factor in the price at the end of each block which is the way that the curve t-wat uh works so at the end of the day when you when if the goal is to remove manipulation uh those are the types of things that are necessary now the other thing that you mentioned is potentially putting an account on the delta b and i think assuming that you have a a manipulation resistant delta b calculation it wouldn't make sense to to introduce a a cap on delta b because then you could could run into the scenario where the price is very high and delta b is at its cap and the fact that delta b isn't increasing fast enough means that the market knows that there's not going to be enough beans minted to return the be in price to a dollar and therefore people can front run the minting so one of the things about the delta b calculation is that if it is designed to create an efficient market because the amount of beans that can be sold or can be sown every season is exactly equivalent to the amount of beans that needed to be bought or sold on average over the previous season so that you don't want to you don't want to introduce any inefficiency there if that makes i agreed with you um not not being capping uh the demand or the minting output is an inefficiency uh in itself so if did i understand this correctly what beanstalk looks at is the number of tokens that are in the pools and then it decides you know either a ratio or a certain price that's that's what it is eventually so it looks at what are the the total number of tokens and that can't be manipulated am i understanding that well correctly looks at the total number of tokens over the course of the season uh at the end of each block got it okay so you can't really manipulate well if you want to manipulate it or there's there's a point that needs to be manipulated there's actual number of tokens that are in in that pool well and so that's the question of then how much liquidity there is yes and in the case of uniswap uh what was done in order to to ensure that that was manipulation resistant where people couldn't add liquidity but not deposited into the silo and then just scale the delta b calculation uh is that uh beanstalk only factored in the liquidity in the the lp tokens in the silo so again not sure off the top of my head how the implementation works on the liquidity front for a curve but it's either going to be a sister implementation to that or it could be that uh curve supports some uh liquid uh flacular resistant liquidity calculation which it could be uh if i'm recalling correctly i believe what curve offers is that you can query the last block the balances in the last block and therefore you independent of like the sunrise being called in the current block the balances that are being used are the balances from the end of the last block and therefore uh that could be res i believe that is resistant to flash loans on the liquidity front so that may be uh what is used to calculate liquidity but again if publishes at a mic and wants to hop up and confirm uh or deny what i'm saying that may be helpful because again i don't i don't have it in front of me okay um i i think this bit this bit is clear or the general idea of it is clear let's compare this now to if if beanstalk in the future used you know a price article such as like chain link or one of those supplies articles where someone comes and tells you that this is the price uh of you know whatever the asset is can that open an attack vector to be in stock would would then bing stock fail if that price oracle fails so it depends what the dependency on the price oracle is now the the reality is if the delta b calculation can be corrupted uh it's a question of how much can it be corrupted right so if you can manipulate the mint and effect of the b by one percent that's a fundamentally different thing than if you can manipulate it by uh 10 000 x and you can just change the amount of beans that are minted dramatically so it depends on what the particular vulnerability to the price oracle is and that applies to an on-chain oracle or a an off-chain price oracle through through a centralized party or a semi-decentralized party doesn't really matter uh now the the thing about it's good to talk about the oracle because i think the oracle is one of the weakest parts being stock as it's currently implemented at scale uh because there is there is the question of well if the price let's take the bean eth being three curve uh excuse me the b being b usdc eth uniswap model uh which is a more decentralized model uh or or a more a theoretically more pure model than the current oracle implementation the issue that you run into is at scale there's only so much usdc in that pool and therefore manipulating the price of the usdc eth pool over the course of a season may actually be not that expensive compared to the yield that you can get from beans assuming that beanstalk is significantly larger uh even if you only own a small portion of the stock so that's where at scale i think even even the current implementations of the oracles are weak because because because the the other pools that uh are de facto built on stable coins that are limited in their supply right this is to some extent the problem that bean stump is solving uh the supply of stable coins uh as the supply of beans grows and grows the the the reliance or the the ability to manipulate the prices of these other stable coins and how that affects the pure delta b calculation relative to a dollar you know that's that's that's it's that's one of the things that i think is imperfect about the current oracle situation now if you have a an outside solution like chain link i i don't think that helps you at scale because the value the cost of manipulating those validators is probably going to be pretty cheap compared to the yield you can get from beanstalk assuming beanstalk has you know hundreds of billions or trillions of dollars in value okay understood um jww follows up and asks how how is using if i'm not mistaken to use the last uh block price uh and query it against a flash loan or to be flashing resistant can you maybe elaborate a little bit more on the logic can you repeat that the generator is asking how how does curve or the flash load resistant formula that uses the last blocks price and how does that work what's what's the logic behind it god and i see that in the chat for those who are just listening that uh publish respond confirm meaning that everything i've said so far is correct um so good to know that i'm i'm not uh spouting misinformation uh the the concept is if you're taking out a flash loan the the the dynamics of it of the funds need to be returned at the end of the transaction and so you're borrowing the funds you're manipulating something on chain and then you have to return the funds at the end of the transaction that transaction is getting mined in a block and so that transaction is getting processed in a block and then the concept is at the end of the transaction even if it's the last transaction in the block at the end of the transaction once the flashlight has been repaid and there's no longer any manipulation happening meaning uh someone who's not taking on risk uh but but is having an effect on on the price or something else uh that you know that is avoided by using the values at the end of the block itself because it's not in the middle of a transaction got it got it i think liquidity has uh um but that's that's that's different i guess uh point but they they use a fallback price oracle and then they measure against the price on the previous block and if they see um like whatever they call is like an off or something that is uh like weird and change in price then it compares to the second fallback price oracle um i am okay um austin asks and and that's more like a philosophical question what do you think is the future of being soft farm's role in the development of bean stock do you see beans are being developed by one organization that is you know as decentralized as possible or would it be multiple organizations working on beanstalk that's a great question at the end of the day there's probably infinite improvements that can be made to beanstalk now the goal is for beanstalk become to become an issuer of money and to function as a primitive across defy and therefore changing things constantly is not aligned with that and i think over the short term uh it's it's more likely that you know people can coexist contributors can coexist under a single umbrella uh meaning that there aren't rival factions uh with different uh ideas about where to take beanstalk uh at the moment uh and therefore it doesn't really seem like there's any benefit to having multiple decentralized development organizations now uh one of the i think it's bfp 80 which lays out a new proposed structure for beanstalk farms i think that's a very cool idea and moves things even more in the direction of permissionless uh but organized contribution to beanstalk and it really makes beanstalk farms more of a more of a community than anything else and again as long as people are contributors to beanstalk farms are aligned about where to take beanstalk uh that it doesn't it doesn't really make sense to it it seems inefficient to have like parties that are not talking uh or working on things now at the same time if you look at the development of uh various decentralized or semi-decentralized protocols or foe decentralized at the end of the day having multiple independent parties all working on the protocol that is essential to decentralization so it doesn't it's not good to just have one person doing one one specific thing it's good to have multiple people that know how to do everything and don't think that those are exclusive you know that you need to have multiple separate organizations at this stage of the game but it's also very natural that over time you know there may start to be different opinions and people want to work on totally separate things and other organizations pop up now you know with where beanstalk is currently at i think there's just speaking off the cuff there's probably still another six months to a year of uh you know [Music] rapid development that will happen or should happen to the protocol at the base layer but at some point most of the changes you know should be done and then you know whether it's adding another pool to the to a white list or changing a seed stock and seed ratio those are non-substantive things uh that that don't really necessarily require continuous work so it's hard to it's hard to see that far into the future uh think that in general in the spirit of decentralization there's nothing wrong with separate organizations spinning up that are totally uh independent of beanstalk farms we may even encourage it like it it's great to do but it's like it's it just doesn't seem like it's gonna happen over the next immediate future and it's you know there's there's only so many people working on beanstalk at the moment it's even a hundred so people are people are still pretty aligned at this point had smith asks any latest updates on the audits obviously do you want to answer that sure so the latest is that both uh sets of changes the changes for the hal born audit and the changes for the trail of bits audit have been sent back to the auditors and we are awaiting uh the the fixes uh there was one change to i think we're still waiting for some final confirmations from hal born uh and then and then on trail of bits we're still waiting on the final report there and on the fixed report as well so it's probably i mean there's that that is a pretty substantive update that both audit firms are now reviewing the final changes and we're waiting on their go ahead to proceed okay syncobate shares some concerns about circle and usdc and asks um what's the plan for beanstalk upon replant to consider you know introducing other pools and what would these pools be yeah i think everyone's on the same page about the importance of a beanie's pool and uh adding a beanie pool shortly after replant uh you know just want to comment that i think the circle fud is pretty ridiculous it's pretty it's pretty ridiculous so we'll leave it at that at the end of the day like the structure of things as it currently stands is a company-like circle they need to take counterparty risk meaning uh the only way to hold that much cash in a riskless fashion is if you can hold it with the fed and circle isn't it doesn't have the an account with the fed so circle has to have bank accounts with banks that have accounts at the fed and you know there is some counterparty risk associated with those banks so uh my understanding of the issues that uh were highlighted uh was was around what circle has disclosed on who their banking partners are and where the assets are held in terms of which banking partners hold which assets and i i heard from jeremy alaire personally who's the head of circle that they are working you know as hard as they can to get all of the approvals from their banking partners necessary to publish that stuff but there's all sorts of rules and laws around this stuff that really determine what they can and can't do and there's you know as far as i see it they are acting you know in the best interest of usdc holders and are not they're trying to minimize counterparty risk by diversifying their holdings across a variety of banks and hard to imagine there being significant risk associated with that given that any of the counterparties that they have are presumably uh too big to fail in the eyes of the fed or certainly would have access to uh to some sort of uh blender of last resort services let's call it i just don't think it's a real risk nevertheless and irrespective of the risk the being if pool is probably going to be you know the one worked soon after that jw mentions that beansprout is an accelerator that helps you know um other projects along around being being struck he kind of asks uh maybe that's a follow-up to the the same question on how many people are working beans of farms and how do you see bean sprouts working along insect farms in the next you know six to 12 months so being sprout i think to date in my humble opinion has been a huge success uh root is a very cool idea it's an exciting development on top of being stuck and uh you know mr manifold it's given pretty consistent updates to the dao so won't comment on anything about roots specifically but just think that it's exactly it a protocol like root is exactly what we had in mind even if not actually had mine but what we what we imagined uh in an abstract sense uh at the time bean sprout was created where it's what are the cool what are the cool things that can be done on top of beanstalk well uh prediction markets and decentralized betting markets that's that's one of the most obvious things so building that on top of the silo is awesome so what else can be built on top of being stock who knows but the hope is that bean sprout continues to be a place where uh entrepreneurs and people with ideas that want to do cool things and build cool things on top of beanstalk can can get access to funding for so uh whereas beanstalk farms and again i encourage people to look at the maybe not again but i'd encourage people to look at bfp 80 uh about how beanstalk farms is likely to function going forward assuming that it passes uh it's very clear how how that's not really a grant program in any sense so people that want grants and to work on their own stuff that are being stock related that that will continue to happen through being stock through bean sprouts had smith asks when is the rude public announcement that's planned for next week and mr manifold you know extends the offer to all entrepreneurs come build on top of beanstalk okay i think we're in the end of the questions maybe we'll give it a minute or two if anyone else has you know last questions um whether it's a follow-up on what we spoke about or a question that we didn't address not sure if that was an actual question austin jww reminded me of it when is generalized minting i believe that's that's a joke not an actual question definitely a joke but you know in theory it is worth saying generalized minting similar to generalized convert is a part of beanstalk as it's been audited uh and all that really means is that both convert and the minting or the calculation of delta b uh are now based on a white list so various converts from white listed asset a to white listed asset b can be uh white listed and similarly uh various pools with functions for a a delta b calculation could be added to the total delta b calculation so both of those are now or will be implemented upon replant terabyte asks um when we have a bean eat pool how how does beanstalk perform or bean perform when the price of youth goes up or down so beanstalk was originally launched for the beneath pool so there's a lot of data on this front and apples to apples every every since since assuming that 100 of the liquidity the beans trade against is ethereum if the ethereum price changes one percent then the bean price changes by one percent as well unless there is market activity so the short answer is that each volatility uh results in bean volatility which is very good for converters and does create some uh additional minting of beans and soil uh in practice particularly when the market was smaller it wasn't the most efficient now uh beanstalk it's unfortunate that beanstalk wasn't on during the the the latest eats drawdown but beanstalk has been on during various heath pumps and overall drawdowns like 50 or more top to to bottom uh and i think it was like 2500 or so at the time of the attack maybe a little less so each was down pretty significantly already from the peaks uh but obviously not down at triple digits yet so uh hard to say exactly how how beanstalk would perform given that there are lots of other factors but in general the bean eath pool adds to volatility in the bean preps krabs sends an encouraging message to the contributors of biensock farms and then asks if there's a way for the community to make sure that contributors get compensated in the future yeah i would actually use this as an opportunity to echo this and uh haven't said it in class uh but this is a good chance to just uh say thank you to there there have been a more than a handful of contributors that over the past uh month or two have just done some really incredible work uh to to get beanstalk in a position to to god willing successfully replant and get back up and and running and uh there is it's it's it's unclear what is fair compensation for for all of those people that have been working so hard and tirelessly and i mean the amount of work that's been produced is really gargantuan and impressive uh and and uh frankly most of it isn't even yet on display for the community there's a git book coming and a disclosure statement uh technical document i mean there's there's so much stuff that's going on uh to make beanstalk better an updated website and new functionality and guides it's it's it's it's amazing what people have been been doing so not exactly sure to answer your specific question crabs with that as a preface uh what the best way for the community uh to make sure that those contributors get compensated is uh at the at the time so so beanstalk farms currently has these unripe beans which are currently worthless uh and that replant will be basically worthless now uh i think at replant beanstalk farms or shortly after replan my understanding is that it's the intention of beanstalk farms to propose a q3 uh budget bip to fund contribution to beanstalk farms going forward with newly minted beans uh but there's also these unripe beans which you know to some extent function is like vesting interest because right now they're worthless but over time they'll become worth uh hopefully you know beans and the to me that's that's a great way to offer long-term aligned you know rewards to these contributors and there's a lot of unripe beans to go around so and and not that many contributors that in our opinion have uh are entitled to significant amounts of them so uh you know and we we certainly don't like to get involved in allocating of stuff like that between contributors and don't like to play the middleman in any way so hopefully with the new structure of beanstalk farms members of beanstalk farms will will figure that out and we you know we in our capacity as publishers won't have to get involved at all uh but but one way or another one thing we will get involved in is making sure that those contributors are uh well compensated so hopefully don't have to don't have to you know weigh in there but if if some people that have done really amazing work uh are aren't getting fairly controv compensated by the dow we'll be sure to raise our voice so that's one thing that we can do to make sure that those contributors are are well compensated uh and appreciate you crabs for shouting them out as well a lot of the beanstalk structure and proposal and touches a bit on on on these uh ideas are in the in bfp 80. so they encourage everyone to go um or like read it and you know share your thoughts and opinions about it okay i think we're at the end uh the questions for today's class probably thank you very much for your time and we'll see you next class thanks man