hokugava / testerc

Solidity deep dive 🏊
1 stars 0 forks source link

BigNumber #3

Open maxsiz opened 3 years ago

maxsiz commented 3 years ago

Разверните ваш контракт с initial Supply= 10e28 Попробуйте прогнать ваш тест. Ниченго не сломалосмь? Если сломалось то почему.

Смоделируйте на вашем контратке ситуацию, в которой произойдет переполнение https://docs.soliditylang.org/en/v0.5.11/security-considerations.html#two-s-complement-underflows-overflows

hokugava commented 3 years ago

Сломалось, тк Number может безопасно хранить только до 53 битов

JackBekket commented 3 years ago

Пара пометок:

  1. в solidity 0.8.0 и выше теперь проверки на овер/андер флоу теперь работают из коробки, больше нет нужды использовать safeMath
  2. в uint256 способно влезть число большее чем количество всех атомов в нашей вселенной, поэтому в некоторых случаях проверками можно пренебречь (при условии что мы четко понимаем что происходит)