Я предполагаю, что компилятор дает вам предупреждение в строке MoneyTransfer newTransfer;
о неявном хранении данных в storage
. Если вы явно используете MoneyTransfer storage newTransfer;
, вы получите предупреждение о том, что используете неинициализированную ссылку на хранилище. Это означает, что любые значения, введенные вами в newTransfer
, будут перезаписаны в первых нескольких слотах хранения.
Вместо этого используйте MoneyTransfer memory newTransfer;
.