docs/fpi-bug: Miden Bank tutorial's "get_balance" and "deposit" method names collide with core library on v0.15.3
- Linguagem predominante
- Rust
- Estrelas
- 18
- Forks
- 34
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
### 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
Guia de contribuição
Avaliação
Esta issue ainda não foi avaliada.