Skip to content

Commit c0c5552

Browse files
authored
Merge pull request #483 from balancer/review/issue-482
Review: Rate Provider from Issue #482
2 parents 97b261f + 6592a7a commit c0c5552

4 files changed

Lines changed: 111 additions & 4 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
2+
# Rate Provider: StaticUSD₮0 Hypurr rate provider
3+
4+
## Details
5+
This report was autogenerated on 22/08/2025.
6+
7+
- Deployed at:
8+
- [HyperEVM:0xDC6F4239C1D8D3b955C06CB8f1A6cF18EFfc5BFe](https://hyperevmscan.io/address/0xDC6F4239C1D8D3b955C06CB8f1A6cF18EFfc5BFe)
9+
- Audit report(s):
10+
- [Audits](https://docs.hypurr.fi/introduction/security)
11+
12+
## Context
13+
HypurrFi is a leveraged lending marketplace for clean leverage loops on Hyperliquid. Earn on HypurrFi by depositing HYPE,stHYPE,stables,and other assets to a lending market. Borrowers pay a rate to access these assets.
14+
15+
## Review Checklist: Bare Minimum Compatibility
16+
Each of the items below represents an absolute requirement for the Rate Provider. If any of these is unchecked, the Rate Provider is unfit to use.
17+
18+
- [x] Tests based on the [balancer-v3-monorepo](https://github.com/balancer/balancer-v3-monorepo/tree/main/pkg/vault/test/foundry/fork) pass for the given ERC4626 vaults, which can be found [here](https://github.com/balancer/balancer-v3-erc4626-tests/tree/main/test).
19+
- [x] The required Vault implements the required operational ERC4626 Interface
20+
21+
### Administrative Privileges
22+
- [ ] The ERC4626 Vault is upgradeable** (e.g., via a proxy architecture).
23+
- [x] Other contracts which are part of the `mint` callchain are upgradeable**. You can find more information
24+
about the involved contracts in this [tenderly simulation](simulating failed.)
25+
26+
## Conclusion
27+
**Summary judgment: USABLE**
28+
Passing fork tests can be found at https://github.com/balancer/balancer-v3-erc4626-tests/pull/82.
29+
30+
** upgradeable in this context means that:
31+
- The contract is a proxy contract with an implementation sourced from Etherscan.
32+

erc4626/registry.json

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,9 @@
147147
"name": "Superform USDC",
148148
"summary": "safe",
149149
"review": "./SuperformSuperVaultReview.md",
150-
"warnings": ["buffer"],
150+
"warnings": [
151+
"buffer"
152+
],
151153
"canUseBufferForSwaps": false,
152154
"useUnderlyingForAddRemove": false,
153155
"useWrappedForAddRemove": true
@@ -349,7 +351,9 @@
349351
"name": "Superform USDC",
350352
"summary": "safe",
351353
"review": "./SuperformSuperVaultReview.md",
352-
"warnings": ["buffer"],
354+
"warnings": [
355+
"buffer"
356+
],
353357
"canUseBufferForSwaps": false,
354358
"useUnderlyingForAddRemove": false,
355359
"useWrappedForAddRemove": true
@@ -633,7 +637,9 @@
633637
"name": "sDAI",
634638
"summary": "safe",
635639
"review": "./sDaiReview.md",
636-
"warnings": ["buffer"],
640+
"warnings": [
641+
"buffer"
642+
],
637643
"canUseBufferForSwaps": true,
638644
"useUnderlyingForAddRemove": false,
639645
"useWrappedForAddRemove": true
@@ -2005,6 +2011,26 @@
20052011
"canUseBufferForSwaps": true,
20062012
"useUnderlyingForAddRemove": true,
20072013
"useWrappedForAddRemove": true
2014+
},
2015+
"0xDC6F4239C1D8D3b955C06CB8f1A6cF18EFfc5BFe": {
2016+
"asset": "0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb",
2017+
"name": "StaticUSD₮0HypurrErc4626Vault.md",
2018+
"summary": "safe",
2019+
"review": "./StaticUSD₮0HypurrErc4626VaultReview4f04.md",
2020+
"warnings": [],
2021+
"upgradeableComponents": [
2022+
{
2023+
"entrypoint": "0xdc6f4239c1d8d3b955c06cb8f1a6cf18effc5bfe",
2024+
"implementationReviewed": "0x9889684ac7b2c2219fc086d46e232b4f0a7f34a8"
2025+
},
2026+
{
2027+
"entrypoint": "0xcecce0eb9dd2ef7996e01e25dd70e461f918a14b",
2028+
"implementationReviewed": "0x980bdd9cf1346800f6307e3b2301ffd3ce8c7523"
2029+
}
2030+
],
2031+
"canUseBufferForSwaps": true,
2032+
"useUnderlyingForAddRemove": true,
2033+
"useWrappedForAddRemove": true
20082034
}
20092035
}
2010-
}
2036+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
# Rate Provider: StaticUSD₮0 Hypurr rate provider
3+
4+
## Details
5+
This report was autogenerated on 22/08/2025.
6+
7+
- Deployed at:
8+
- [HyperEVM:0x1d3c598d889e9b7063fbb4532095078ace62df64](https://hyperevmscan.io/address/0x1d3c598d889e9b7063fbb4532095078ace62df64)
9+
- Audit report(s):
10+
- [Audits](https://docs.hypurr.fi/introduction/security)
11+
12+
## Context
13+
HypurrFi is a leveraged lending marketplace for clean leverage loops on Hyperliquid. Earn on HypurrFi by depositing HYPE,stHYPE,stables,and other assets to a lending market. Borrowers pay a rate to access these assets.
14+
15+
## Review Checklist: Bare Minimum Compatibility
16+
Each of the items below represents an absolute requirement for the Rate Provider. If any of these is unchecked, the Rate Provider is unfit to use.
17+
18+
- [x] Implements the [`IRateProvider`](https://github.com/balancer/balancer-v2-monorepo/blob/bc3b3fee6e13e01d2efe610ed8118fdb74dfc1f2/pkg/interfaces/contracts/pool-utils/IRateProvider.sol) interface.
19+
- [x] `getRate` returns an 18-decimal fixed point number (i.e., 1 == 1e18) regardless of underlying token decimals.
20+
21+
### Administrative Privileges
22+
- [ ] The Rate Provider is upgradeable** (e.g., via a proxy architecture).
23+
- [x] Other contracts which are part of the `getRate` callchain are upgradeable**. You can find more information
24+
about the involved contracts in this [tenderly simulation](simulating getRate failed.)
25+
26+
## Conclusion
27+
**Summary judgment: USABLE**
28+
29+
** upgradeable in this context means that:
30+
- The contract is a proxy contract with an implementation sourced from Etherscan and the proxy emitted an "Upgraded" event.
31+

rate-providers/registry.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5907,6 +5907,24 @@
59075907
"warnings": [],
59085908
"factory": "",
59095909
"upgradeableComponents": []
5910+
},
5911+
"0x1d3c598d889e9b7063fbb4532095078ace62df64": {
5912+
"asset": "0xDC6F4239C1D8D3b955C06CB8f1A6cF18EFfc5BFe",
5913+
"name": "StaticUSD₮0HypurrRateProvider.md",
5914+
"summary": "safe",
5915+
"review": "./StaticUSD₮0HypurrRateProviderReviewd7a9.md",
5916+
"warnings": [],
5917+
"factory": "",
5918+
"upgradeableComponents": [
5919+
{
5920+
"entrypoint": "0xdc6f4239c1d8d3b955c06cb8f1a6cf18effc5bfe",
5921+
"implementationReviewed": "0x9889684ac7b2c2219fc086d46e232b4f0a7f34a8"
5922+
},
5923+
{
5924+
"entrypoint": "0xcecce0eb9dd2ef7996e01e25dd70e461f918a14b",
5925+
"implementationReviewed": "0x980bdd9cf1346800f6307e3b2301ffd3ce8c7523"
5926+
}
5927+
]
59105928
}
59115929
}
59125930
}

0 commit comments

Comments
 (0)