From 6a3a70150d7e4b420d0064a3fba4f730d130e36b Mon Sep 17 00:00:00 2001 From: mkflow27 Date: Tue, 18 Aug 2026 19:36:51 +0000 Subject: [PATCH] [create-pull-request] automated change --- ...-3M T-Bill aStockRateProviderReview0a9a.md | 35 +++++++++++++++++++ rate-providers/registry.json | 16 +++++++++ 2 files changed, 51 insertions(+) create mode 100644 rate-providers/SPDRBloomberg1-3M T-Bill aStockRateProviderReview0a9a.md diff --git a/rate-providers/SPDRBloomberg1-3M T-Bill aStockRateProviderReview0a9a.md b/rate-providers/SPDRBloomberg1-3M T-Bill aStockRateProviderReview0a9a.md new file mode 100644 index 0000000..c6392de --- /dev/null +++ b/rate-providers/SPDRBloomberg1-3M T-Bill aStockRateProviderReview0a9a.md @@ -0,0 +1,35 @@ + +# Rate Provider: SPDRBloomberg 1-3M T-Bill aStock rate provider + +## Details +This report was autogenerated on 18/08/2026. + +- Deployed at: + - [Monad:0x3ADD1546a0236a84512DCb9f17d2D346aba7402f](https://monadvision.com/address/0x3ADD1546a0236a84512DCb9f17d2D346aba7402f) +- Audit report(s): + - [Audits](https://docs.anchored.finance/general/smart-contract-audits) + +## Context +https://docs.anchored.finance/ + +aBIL is Anchored's tokenized SPDR Bloomberg 1-3 Month T-Bill ETF (BIL). + +Rate provider source: https://github.com/zekraken-bot/custom-rate-provider (`src/StockOracleRateProvider.sol`), adapted from Balancer's `ChainlinkRateProvider` for Anchored's StockOracle, which exposes `latestPrice(bytes32)` instead of `latestRoundData()`. `getRate()` returns `latestPrice(priceId).price * 10**(18 - feed.decimals())`, with `price > 0` as the only check. `pricefeed` and `priceId` are immutable. + +## Review Checklist: Bare Minimum Compatibility +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. + +- [x] Implements the [`IRateProvider`](https://github.com/balancer/balancer-v2-monorepo/blob/bc3b3fee6e13e01d2efe610ed8118fdb74dfc1f2/pkg/interfaces/contracts/pool-utils/IRateProvider.sol) interface. +- [ ] `getRate` returns an 18-decimal fixed point number (i.e., 1 == 1e18) regardless of underlying token decimals. + +### Administrative Privileges +- [ ] The Rate Provider is upgradeable** (e.g., via a proxy architecture). +- [x] Other contracts which are part of the `getRate` callchain are upgradeable**. You can find more information + about the involved contracts in this [tenderly simulation](https://www.tdly.co/shared/simulation/8fc50147-f0e4-4b5b-81cf-a8008feb6619) + +## Conclusion +**Summary judgment: UNUSABLE** + +** upgradeable in this context means that: +- The contract is a proxy contract with an implementation sourced from Etherscan and the proxy emitted an "Upgraded" event. + diff --git a/rate-providers/registry.json b/rate-providers/registry.json index f65fc06..256548b 100644 --- a/rate-providers/registry.json +++ b/rate-providers/registry.json @@ -5424,6 +5424,22 @@ "implementationReviewed": "0xbd940fc427878eaa998f0713a16fed1cb5e892b1" } ] + }, + "0x3ADD1546a0236a84512DCb9f17d2D346aba7402f": { + "asset": "0x4FC5B9f8933597D3ecf84d0611687E1Dc8DD576f", + "name": "SPDRBloomberg1-3M T-Bill aStockRateProvider.md", + "summary": "unsafe", + "review": "./SPDRBloomberg1-3M T-Bill aStockRateProviderReview0a9a.md", + "warnings": [ + "market-rate" + ], + "factory": "", + "upgradeableComponents": [ + { + "entrypoint": "0x037848af338c38e1e0ab722be80bf4c2e612a1f7", + "implementationReviewed": "0x8745912828473e9bef9d843ce8629bee3dcb9fec" + } + ] } } } \ No newline at end of file