watcher-ts/packages/solidity-mapper/test/contracts/TestUnsignedIntegers.sol
Ashwin Phatak b243025ca8
Test cases in solidity-mapper for contract, fixed-size byte arrays and enum types (#26)
* Add tests for getStorageInfo and getEventNameTopics.

* Lint solidity-mapper package code.

* Add test for contract type.

* Add test for fixed size byte arrays.

* Add test for Enum types.

* Add tests for variables packed together and using single slot.

* Fix comments in test contracts.

Co-authored-by: nikugogoi <95nikass@gmail.com>
2021-06-02 11:23:33 +05:30

35 lines
920 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;
contract TestUnsignedIntegers {
// Following unsigned integer variables are packed together in a single slot since the combined size is less than 32 bytes.
uint8 uint1;
uint16 uint2;
// Unsigned integer variable is stored in the next slot as it needs 32 bytes of storage.
uint256 uint3;
// Unsigned integer variable is stored in the next slot as there is not enough space for it in the previous slot.
uint32 uint4;
// Set variable uint1.
function setUint1(uint8 value) external {
uint1 = value;
}
// Set variable uint2.
function setUint2(uint16 value) external {
uint2 = value;
}
// Set variable uint3.
function setUint3(uint256 value) external {
uint3 = value;
}
// Set variable uint4.
function setUint4(uint32 value) external {
uint4 = value;
}
}