https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/66f77178-95b6-46b3-90fa-66d55f096855.jpg

jnrlouis

Security Researcher

weeb3 ☺ Secure the Chain!

Contact Me

High

7

Total

Medium

5

Total

$421.00

Total Earnings

#1565 All Time

4x

Payouts

regular

2x

Top 50

All

Code4rena

CodeHawks

Jul '23

Beedle - Oracle free perpetual lending

Beedle - Oracle free perpetual lending

124.00 USDC • 9 total findings • CodeHawks • jnrlouis

#34

high

Sandwich attack to steal all ERC-20 tokens in the Fees contract

high

Borrower can bypass maxLoanRatio's configuration of a pool via buyLoan()

high

[H-04] Lender#buyLoan - Malicious user could take over a loan for free without having a pool because of wrong access control

high

Using forged/fake lending pools to steal any loan opening for auction

high

Attacker can steal a loan's collateral and break the protocol

medium

No expiration deadline leads to losing a lot of funds

medium

Single-step process for critical ownership transfer is risky

gas

Multiple accesses of a mapping/array should use a local variable cache.

gas

Initialize variables outside the loop

Foundry DeFi Stablecoin CodeHawks Audit Contest

Foundry DeFi Stablecoin CodeHawks Audit Contest

3.26 USDC • 6 total findings • CodeHawks • jnrlouis

#103

high

Theft of collateral tokens with fewer than 18 decimals

medium

All of the USD pair price feeds doesn't have 8 decimals

low

Precision loss when calculating the health factor

gas

Double checks

gas

Use `==` instead for `<=` for `uints` when comparing for `zero` values

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

CodeHawks Escrow Contract - Competition Details

CodeHawks Escrow Contract - Competition Details

11.27 USDC • 3 total findings • CodeHawks • jnrlouis

#72

medium

[H-01] Lack of emergency withdraw function when no arbiter is set

gas

Use nested `if` statements instead of logical AND (`&&`)

gas

Use predefined address instead of `address(this)`

Jun '23

Lybra Finance

Lybra Finance

282.51 USDC • 2 total findings • Code4rena • jnrlouis

#35

high

EUSD.mint function wrong assumption of cases when calculated sharesAmount = 0

medium

Incorrect function call in LybraRETHVault's getAssetPrice