Static Analyzer for Solidity
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
slither/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol

45 lines
1.0 KiB

// pragma solidity ^0.4.24;
library Lib{
struct MyStruct{
mapping(address => uint) maps;
}
function deleteSt(MyStruct[1] storage st) internal {
delete st[0];
}
}
contract Balances {
struct BalancesStruct{
address owner;
mapping(address => uint) balances;
}
mapping(uint => BalancesStruct) public stackBalance;
function createBalance(uint idx) public {
require(stackBalance[idx].owner == address(0));
BalancesStruct storage str = stackBalance[idx];
str.owner = msg.sender;
}
function deleteBalance(uint idx) public {
require(stackBalance[idx].owner == msg.sender);
delete stackBalance[idx];
}
function setBalance(uint idx, address addr, uint val) public {
require(stackBalance[idx].owner == msg.sender);
stackBalance[idx].balances[addr] = val;
}
function getBalance(uint idx, address addr) public view returns(uint){
return stackBalance[idx].balances[addr];
}
}