0xMiden / 0xMiden/tutorials

docs/fpi-bug: Miden Bank tutorial's "get_balance" and "deposit" method names collide with core library on v0.15.3

オープン 初心者向け
#237 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。