Security Researcher
Rust/Solana Auditoor. Rust-Based ecosystems 🦀: Solana , CosmWasm ,Polkadot | +30 Rust Audits | +20 Solana Audits | +120 criticals/highs found.
High
Total
Medium
Total
Total Earnings
#275 All Time
Payouts
2nd Places
Top 10
Top 25
All
Sherlock
Code4rena
Cantina
CodeHawks
Aug '24
high
medium
medium
medium
medium
Jul '24
Feb '24
high
An attacker possesses the capability to exhaust the entirety of liquidity within the stable swap pools by manipulating the buy function, specifically by setting the asset_in parameter equal to the asset_out parameter
medium
a huge loss of funds for all the users who try to remove liquidity after swapping got disabled at manipulated price .
medium
complete liquidity removal will result in permanent disable of the liquidity addition and prevent minting shares for the liquidity providers .
Oct '23
Sep '23
Aug '23
high
allowing the transfer of ownership of the loans , which the callback is activated , to an EOA (externally owned account) will force the loan become default
medium
malicious lender can force the borrower to pay a much more debt amount to take his collateral , otherwise the Lender force Loan become default
medium
calling `claimDefault` function from the cooler contract of the clearingHouse loans will cause the `gOHM` tokens to be locked forever .
medium
Blacklisted STADIUM_ADDRESS address cause fund stuck in the contract forever
low
If a winner is blacklisted on any of the tokens they can't receive their funds
low
Owner can incorrectly pull funds from contests not yet expired
low
Lack of checking the existence of the Proxy contract
low
Precision loss/Rounding to Zero in `_distribute()`
low
DAI Tokens at Risk Due to Lack of address(0) Check in distribute
low
Using basis points for percentage is not precise enough for realistic use-cases
Jul '23
40.36 USDC • 15 total findings • CodeHawks • castleChain
#80
high
Sandwich attack to steal all ERC-20 tokens in the Fees contract
medium
No expiration deadline leads to losing a lot of funds
medium
Single-step process for critical ownership transfer is risky
low
Zero address leads to transaction reverts
low
Lender fails to giveLoan because of inconsistent length between `loadIds` and `poolIds`
gas
Multiple accesses of a mapping/array should use a local variable cache.
gas
+= and -= are more expensive
gas
The `for loops` inside the borrow(), repay(), giveLoan() & startAuction() functions in Lender contract are probably gas-guzzlers
gas
Uncheck Arithmetic where overflow/underflow impossible
gas
Using Private Rather Than Public For Constants,Saves Gas
gas
Use of magic numbers
gas
For the borrow(), repay() & startAuction() functions in Lender.sol the public visibility modifiers should be changed to external, to help optimize gas usage
gas
caching variable of struct in one slot
gas
save storage slot
gas
an important value does not been returned
3.24 USDC • 5 total findings • CodeHawks • castleChain
#105
low
Lack of events for critical actions
low
Precision loss when calculating the health factor
gas
using x=x+y /x=x-y is more gas efficient than x+=y / x-=y
gas
`++i`/`i++` should be `unchecked{++i}`/`unchecked{i++}` when it is not possible for them to overflow, as is the case when used in `for`- and `while`-loops
gas
Constants should be be used for hardcoded values
8.15 USDC • 3 total findings • CodeHawks • castleChain
#73