mirror of https://github.com/crytic/slither
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.
54 lines
1.3 KiB
54 lines
1.3 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;
|
|
}
|
|
|
|
struct NestedBalanceStruct {
|
|
BalancesStruct balanceStruct;
|
|
}
|
|
|
|
mapping(uint => BalancesStruct) public stackBalance;
|
|
NestedBalanceStruct internal nestedStackBalance;
|
|
|
|
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 deleteNestedBalance() public {
|
|
delete nestedStackBalance;
|
|
}
|
|
|
|
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];
|
|
}
|
|
|
|
}
|
|
|