becrypto/contracts/Migrations.sol
2022-08-18 10:54:42 +08:00

25 lines
589 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;
contract Migrations {
address public owner = msg.sender;
uint256 public last_completed_migration;
modifier restricted() {
require(
msg.sender == owner,
"This function is restricted to the contract's owner"
);
_;
}
function setCompleted(uint256 completed) external restricted {
last_completed_migration = completed;
}
function upgrade(address new_address) external restricted {
Migrations upgraded = Migrations(new_address);
upgraded.setCompleted(last_completed_migration);
}
}