23 lines
506 B
Solidity
23 lines
506 B
Solidity
|
pragma solidity ^0.5.2;
|
||
|
|
||
|
contract Migrations {
|
||
|
address public owner;
|
||
|
uint public last_completed_migration;
|
||
|
|
||
|
modifier restricted() {
|
||
|
if (msg.sender == owner) _;
|
||
|
}
|
||
|
|
||
|
constructor () public {
|
||
|
owner = msg.sender;
|
||
|
}
|
||
|
|
||
|
function setCompleted(uint completed) public restricted {
|
||
|
last_completed_migration = completed;
|
||
|
}
|
||
|
|
||
|
function upgrade(address new_address) public restricted {
|
||
|
Migrations upgraded = Migrations(new_address);
|
||
|
upgraded.setCompleted(last_completed_migration);
|
||
|
}
|
||
|
}
|