Add Bankcoin kUSD (Base + Arbitrum) pegged asset adapter#846
Add Bankcoin kUSD (Base + Arbitrum) pegged asset adapter#846bankcoincapital wants to merge 1 commit into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR adds a DeFiLlama pegged-assets adapter for Bankcoin kUSD, defining issued and unreleased address mappings for Base and Arbitrum, and registers the asset metadata with the ChangesBankcoin kUSD Adapter
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/adapters/peggedAssets/kusd/index.ts (1)
1-11: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winPlaceholder folder name may cause a breaking rename later.
The header notes the folder should eventually be renamed to the actual CoinGecko asset id once assigned, but
peggedData.tsreferences this module viamodule: "kusd". If the folder is renamed without a synchronized update topeggedData.ts,importAdapterwill fail to resolve the module path.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/adapters/peggedAssets/kusd/index.ts` around lines 1 - 11, The adapter module is currently referenced by a placeholder folder name, so a future rename could break resolution in peggedData.ts. Update the kUSD adapter and any module references together by making sure the value used in peggedData.ts for importAdapter matches the final CoinGecko asset-id folder name, and keep the module identifier in sync with the adapter entry point (such as the kusd index.ts export) whenever the rename happens.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@src/adapters/peggedAssets/kusd/index.ts`:
- Around line 1-11: The adapter module is currently referenced by a placeholder
folder name, so a future rename could break resolution in peggedData.ts. Update
the kUSD adapter and any module references together by making sure the value
used in peggedData.ts for importAdapter matches the final CoinGecko asset-id
folder name, and keep the module identifier in sync with the adapter entry point
(such as the kusd index.ts export) whenever the rename happens.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 21b1abfa-7087-44de-8898-34e0b84013f9
📒 Files selected for processing (2)
src/adapters/peggedAssets/kusd/index.tssrc/peggedData/peggedData.ts
|
Acknowledged — "kusd" is expected to be the final CoinGecko slug for this asset. If CoinGecko assigns a different id, we will rename the adapter folder and update the |
|
Thanks very much for the review, and thanks to CodeRabbit for the walkthrough and the maintainability catch. On the CodeRabbit nitpick (placeholder folder name vs. the For confidence on the numbers: the adapter's per-chain reads (issued supply minus the market-maker wallet and the auto-convert vaults, on Base 8453 and Arbitrum One 42161) are validated against our live circulating-supply API, which is reproducible from public RPC reads alone — e.g. Is there anything else you'd like us to adjust for merge? Happy to tweak naming, split per-chain, or add detail wherever it helps. No rush on our end. |
|
hey @bankcoincapital thanks for the PR, will you have adapters for each of the coins in the vaults? Also are there any attestations that can help prove the fiat backing? |
c2fd8bb to
b62248a
Compare
|
Thanks for the questions — answering both directly, and flagging what we don't yet have rather than overstating it. 1. Rebase / housekeeping just pushed: this branch was 85 commits behind master and had a genuine conflict — our Cross-checked against independent 2. Will there be adapters for each coin in the vaults? Yes, intent is to cover the full 38-currency kStable family (kEUR, kJPY, kGBP, kAUD, kCAD, kCHF, kSGD, and 31 more), same Base+Arbitrum deployment, same 3. Attestations for the fiat backing: being direct — we do not yet have an independent third-party audited attestation report (no signed accounting-firm letter, Circle/Tether-style). What exists today:
No independent audit yet is a real gap, not a hidden one — flagging it plainly rather than working around the question. |
1 similar comment
|
Thanks for the questions — answering both directly, and flagging what we don't yet have rather than overstating it. 1. Rebase / housekeeping just pushed: this branch was 85 commits behind master and had a genuine conflict — our Cross-checked against independent 2. Will there be adapters for each coin in the vaults? Yes, intent is to cover the full 38-currency kStable family (kEUR, kJPY, kGBP, kAUD, kCAD, kCHF, kSGD, and 31 more), same Base+Arbitrum deployment, same 3. Attestations for the fiat backing: being direct — we do not yet have an independent third-party audited attestation report (no signed accounting-firm letter, Circle/Tether-style). What exists today:
No independent audit yet is a real gap, not a hidden one — flagging it plainly rather than working around the question. |
NOTE
"Allow edits by maintainers" is enabled on this PR.
(new listing form)
Name (to be shown on DefiLlama):
Bankcoin kUSD
Website Link:
https://bankcoin.capital
Logo (High resolution, will be shown with rounded borders):
https://assets.bankcoin.capital/icons/kstables/kUSD.png
Chain:
Base, Arbitrum One (natively issued on both — no bridged double counting)
Coingecko ID (leave empty if not listed):
(not yet listed — adapter folder
kusdis a placeholder; will backfill the geckoId once assigned)Coinmarketcap ID (leave empty if not listed):
(not yet listed)
Short Description:
kUSD is a fiat-referenced USD stablecoin issued by Bankcoin Capital, part of a 38-currency kStable family natively issued on Base and Arbitrum One. Every on-chain mint declares the collateral backing it, and the issuer publishes a machine-readable circulating-supply API and exclusion registry.
mintRedeemDescription:
kUSD is minted by the issuer against declared collateral (each on-chain mint carries its fiat/crypto backing declaration) and burned on redemption, releasing backing at the oracle FX rate. The issuer publishes a public solvency/redemption-waterfall view.
Token address and ticker:
0x6FB09847417e33A1CE75d3B324015D4C0AeF4D61(kUSD, 6 decimals)0x4653092872bE819CdFf244db8a474BBaeAA2B024(kUSD, 6 decimals)pegType:
peggedUSD
pegMechanism:
fiat-backed
priceSource:
(none yet — will follow up once a USD-anchor DEX pool is indexed / CoinGecko listing lands)
wiki:
(none)
Twitter Link:
https://x.com/bankcoincapital
List of audit links if any:
(none yet)
Add Bankcoin kUSD (Base + Arbitrum) pegged asset adapter
kUSD is a fiat-referenced USD stablecoin issued by Bankcoin Capital (https://bankcoin.capital),
live on Base (
0x6FB09847417e33A1CE75d3B324015D4C0AeF4D61) and Arbitrum One(
0x4653092872bE819CdFf244db8a474BBaeAA2B024), 6 decimals, natively issued on both chains(no bridged double counting).
vaults per chain. This list is identical, by construction, to the issuer's public
machine-readable exclusion registry, so this adapter's circulating figure equals the number the
issuer publishes:
npx ts-node --transpile-only test.ts kusd peggedUSD— passes with real-time data on both chains: Base circulating 842.37M, Arbitrum 317.81M, matching the issuer's published/supply/circulatingnumbers.This is the first of a 38-currency family (kEUR, kJPY, kGBP, …) — we will extend with per-coin
adapters (peggedEUR/peggedJPY/… and peggedVAR for currencies without a dedicated pegType) once
this entry is established, per maintainer guidance.
Contact: admin@bankcoin.capital
Summary by CodeRabbit