0xMiden / 0xMiden/tutorials

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

Đang mở
#237 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Rust
Star
18
Fork
34
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.