erigon-pulse/core/state/contracts/selfdestruct.sol
ledgerwatch f0dd8f407e Merge pull request #125 from ledgerwatch/broken_snapshot
Not to wrap storage values into RLP during reorgs
2019-11-04 14:15:26 +01:00

31 lines
833 B
Solidity

pragma solidity ^0.5.0;
// solc --allow-paths ., --abi --bin --overwrite --optimize -o core/state/contracts/build core/state/contracts/selfdestruct.sol
// ./build/bin/abigen -abi core/state/contracts/build/Selfdestruct.abi -bin core/state/contracts/build/Selfdestruct.bin -pkg contracts -type selfdestruct -out core/state/contracts/gen_selfdestruct.go
contract Selfdestruct {
uint256 x;
uint256 y;
uint256 z;
constructor() public {
// Fill some storage positions
x = 1 << 32; // Large number to make sure encoding has multiple bytes
y = 2;
z = 3;
}
function change() external {
x += 1;
y += 1;
z += 1;
}
function () external payable {}
/* Self-destructs */
function destruct() public {
selfdestruct(address(this));
}
}