docs/fpi-bug: Miden Bank tutorial's "get_balance" and "deposit" method names collide with core library on v0.15.3
- 主要言語
- Rust
- スター
- 18
- フォーク
- 34
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
### Documentation Issue / Namespace Collision
While building the official **Miden Bank** tutorial using the latest `mainnet` toolchain (`v0.15.3` and `miden-base v0.13.1`), I encountered a namespace collision and linker errors when compiling the `deposit-note` (or other cross-component FPI notes).
The original tutorial uses:
1. `deposit` method on the Bank account.
2. `get_balance` method on the Bank account.
### The Conflict
On v0.15.3, the `#[account(bank_account::BankAccount)]` macro expands into FPI bindings. However:
1. The `deposit` function name collides with the built-in standard library's `BasicWallet` `deposit` method.
2. The `get_balance` function name collides with the built-in `ActiveAccount`'s `get_balance` method, throwing the following error during `wasm-component-ld` linking:
`error: dependency function get-balance collides with the built-in ActiveAccount method get_balance; the generated wrapper method would shadow it. Rename the dependency function`
### The Solution
To successfully compile the Miden Bank tutorial on the new mainnet toolchain:
- Rename the `deposit` method to **`bank_deposit`** (or another unique name) in both the contract and the notes.
- Rename the `get_balance` method to **`check_balance`** in both the contract and the notes.
I suggest updating the official tutorial repository and documentation to reflect these v0.15.3 namespace rules.
### Reproduction Repo
I have compiled, tested, and resolved this in my local workspace here:
🔗 https://github.com/anaraydinli55/miden-testnet-project
コントリビューションガイド
調査の方向性
The issue is about a namespace collision in the Miden Bank tutorial. The user has already identified the problematic method names (`deposit` and `get_balance`) and suggested new names (`bank_deposit` and `check_balance`). To resolve this, locate the tutorial files (likely in the repository's docs or examples directory) that define the Bank account contract and the associated notes. Update the method names in the contract source and any note definitions, then verify the changes compile without the linker error. The user's reproduction repo (https://github.com/anaraydinli55/miden-testnet-project) can be referenced for the exact changes needed.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- documentation
- issue の種類
- ドキュメント
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 静か
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 75/100