Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Factorize mul, div, weightedAvg to minimize bytecode size #77

Open
Rubilmax opened this issue Dec 21, 2022 · 8 comments
Open

Factorize mul, div, weightedAvg to minimize bytecode size #77

Rubilmax opened this issue Dec 21, 2022 · 8 comments

Comments

@Rubilmax
Copy link
Contributor

#66 (comment)

@MathisGD
Copy link
Contributor

In favor of this.

Related to #57

@MerlinEgalite
Copy link
Contributor

As long as it improves readability while preserving gas efficiency I'm ok with that

@MathisGD
Copy link
Contributor

By the way, I don't think that it would change the bytecode size, but only the Solidity code size.

@Rubilmax
Copy link
Contributor Author

Rubilmax commented Jan 2, 2023

I won't spend much time for now on this, given that I don't believe the compiler will be smart enough to compile to something as gas-efficient as the current implementation (because we need to abstract a scale input to abstract multiplications, divisions, which is currently a library constant and would be input as a function argument on which operations are performed - operations that I don't believe the compiler will recognize as constant operations)

I believe it requires ethereum/solidity#891 to be addressed first

@Rubilmax Rubilmax assigned Rubilmax and unassigned Rubilmax Jan 2, 2023
@MathisGD
Copy link
Contributor

MathisGD commented Jan 2, 2023

I didn't know that it wasn't possible to import a lib in a lib. So we are stuck with this...

@MerlinEgalite
Copy link
Contributor

Should we close @Rubilmax ?

@MathisGD
Copy link
Contributor

MathisGD commented Apr 26, 2023

I would like to see morpho-utils completely revamped to do general fixed point maths instead of Aave/Compound specific maths. In this case this could be implemented.

Edit: with this naming 👌

@Rubilmax
Copy link
Contributor Author

This is just a random open-source idea that I think would benefit someone in the universe, but is blocked by a Solidity technical limit
Given it's an OS repo, we don't need to have everything sorted out here, we can just let ideas free and see if they are picked up, supported by others

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants