We encourage you to take a look at the Nova Finance tokenomics. Any and all feedback is welcome!
Once our audit is complete we will be releasing our gitbook for you to learn more about our lending protocol!
https://t.co/wuGolpf83S
#Arbitrum#NovaFinance#Defi#AAVE
Audit shopping. Grant applying. Testing. Testing. Testing. Deployment loading.
Are you following Nova Finance into Orbit?
#Arbitrum#ArbitrumOrbit#Ethereum
It’s good to see the $ARB token lifting off again!
Arbitrum has always been a network for builders and that’s why we chose to land here.
Now it’s time to connect with other projects in the Arbitrum Orbits. More to come soon!
Nova Fi takes inspiration from AAVE and other lending protocols to bring a unique tokenomics structure to Arbitrum and its Orbits
Participants from various Orbits will receive $NOVA rewards direct to their Arbitrum wallet.
#Arbitrum#ArbitrumOrbit#Layer3#EthereumEcosystem
Corresponding to yesterday's tweet about precision loss:
Libraries for Fixed-Point Arithmetic:
1. ABDKMath64x64 Library
The ABDKMath64x64 library provides high-precision fixed-point arithmetic operations.
Example using ABDKMath64x64:
2. DSMath Library
DSMath is a comprehensive library used for high-precision arithmetic operations in Solidity. It is especially useful for DeFi
applications where financial calculations require a high degree of accuracy. DSMath provides functions for basic arithmetic, exponentiation, and logarithmic operations with fixed-point arithmetic.
The library includes functions for:
Multiplication and division with scaling (e.g., wmul, wdiv)
Exponentiation and logarithms
Basic arithmetic operations with overflow checks
Best Practices to Avoid Precision Loss
Choose Appropriate Scaling Factors: Use a scaling factor that balances precision and the range of values.
Avoid Intermediate Fractions: Perform scaling before division and revert scaling after operations to minimize precision loss.
Leverage Libraries: Use well-tested libraries for fixed-point arithmetic to reduce errors and improve readability.
Test Thoroughly: Implement extensive tests, including edge cases and large values, to ensure the correctness of arithmetic operations. Additional fuzzing is mandatory.
How an underflow lost Velocore 6.8 million
This technical explanation is simplified and short, so even non-technical people can understand it.
📌 The System
During withdrawals, Velocore charges a fee. Withdrawals are marked as ":" and deposits as "?".
Notice how for deposits, it's just 1e18 - 100% of the value is deposited (no fees). On withdrawals, we get values smaller than 1e18 - less than 100% (a fee is taken).
📌 The Tool
Velocore implements an increasing fee, `effectiveFee1e9`, that increases proportionally to withdrawals and resets every block. Bigger withdrawals in a block equal a higher fee.
📌 The Exploit
By making a few large withdrawals, we can increase the `effectiveFee1e9` above 100%, causing our withdrawals to withdraw more than 100% of the funds.
This was simplified enough to fit in a tweet. If you want to read the full post-mortem (3-minute read), here's the link:
https://t.co/2zaqafPJeL