In Sui 1.45, we are changing how dependencies work to streamline development practices and remove pain points in the build system by introducing implicit framework dependencies. From now on, the packages MoveStdlib, Sui, System, Deepbook, and Bridge will be added automatically to your Move package’s dependencies. If your Move.toml has these entries present, you will see an error message telling you that these are no longer needed:
[note] Dependencies on Bridge, DeepBook, MoveStdlib, Sui, and SuiSystem are automatically added, but this feature is disabled for your package because you have explicitly included dependencies on Sui. Consider removing these dependencies from Move.toml.
If you are using a version of the Sui toolchain that is prior to 1.45, your package builds may break if your package dependencies remove explicit dependencies on framework packages. The error in this case will look similar to this:
BUILDING A
error[E03001]: address with no value
┌─ ./../B/sources/b.move:4:5
│
4 │ use sui::sui::transfer;
│ ^ address 'sui' is not assigned a value
error[E03002]: unbound module
┌─ ./../B/sources/b.move:4:5
│
4 │ use sui::sui::transfer;
│ ^^^^ Invalid 'use'. Unbound module: 'sui::sui'
error[E03005]: unbound unscoped name
┌─ ./../B/sources/b.move:6:23
│
6 │ public fun f(): u64 { transfer(...) }
│ ^ Unbound function 'transfer' in current scope
Failed to build Move modules: Compilation error.
If you see this message, you should upgrade your Sui toolchain to v1.45.