[Bug] Inconsistency between `Move.toml` and source code addresses
- Dominant language
- Rust
- Stars
- 378
- Forks
- 137
- PR merge metrics
- No merged PRs in 30d
Description
# 🐛 Bug
Addresses parsing in the `Move.toml` performed by the https://github.com/diem/move/blob/main/language/tools/move-package/src/source_package/manifest_parser.rs#L278 and allows addresses in the form of
```toml
A1 = "0xefff111" # with prefix
A2 = "efffefffefffefffefff" # without prefix
```
On the other hand, in Move source code, parsing is performed by the https://github.com/diem/move/blob/main/language/move-compiler/src/shared/mod.rs#L67 and allows for the
```rust
let a = @0xAAFFEE; // hex with 0x prefix
let b = @111222; // decimal without any prefix
```
It all basically means that
```rust
// Move.toml
HelloBlockchain = "11111111111111111111111111111111"
// main.move
assert!(@HelloBlockchain == @11111111111111111111111111111111, 1);
```
fails with assert, as those address values are of different bases.
Is this intentional?
Contributor guide
Assessment
This issue has not been assessed yet.