More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 653 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Migrate | 16797446 | 539 days ago | IN | 0 ETH | 0.00227843 | ||||
Migrate | 16039852 | 645 days ago | IN | 0 ETH | 0.00103079 | ||||
Migrate | 15812046 | 677 days ago | IN | 0 ETH | 0.00194861 | ||||
Migrate | 15737801 | 687 days ago | IN | 0 ETH | 0.00114374 | ||||
Migrate | 15490361 | 723 days ago | IN | 0 ETH | 0.00089084 | ||||
Migrate | 15464327 | 727 days ago | IN | 0 ETH | 0.00048438 | ||||
Migrate | 15389847 | 739 days ago | IN | 0 ETH | 0.00076693 | ||||
Migrate | 15370474 | 742 days ago | IN | 0 ETH | 0.00076509 | ||||
Migrate | 15363577 | 743 days ago | IN | 0 ETH | 0.00104986 | ||||
Migrate | 15300977 | 753 days ago | IN | 0 ETH | 0.00020341 | ||||
Migrate | 15300973 | 753 days ago | IN | 0 ETH | 0.00048138 | ||||
Migrate | 15295571 | 754 days ago | IN | 0 ETH | 0.00117339 | ||||
Migrate | 15249063 | 761 days ago | IN | 0 ETH | 0.00050703 | ||||
Migrate | 15245845 | 761 days ago | IN | 0 ETH | 0.00129629 | ||||
Migrate | 15244108 | 762 days ago | IN | 0 ETH | 0.0008506 | ||||
Migrate | 15243633 | 762 days ago | IN | 0 ETH | 0.00032156 | ||||
Migrate | 15238322 | 763 days ago | IN | 0 ETH | 0.0006439 | ||||
Migrate | 15231650 | 764 days ago | IN | 0 ETH | 0.00117671 | ||||
Migrate | 15230680 | 764 days ago | IN | 0 ETH | 0.00056816 | ||||
Migrate | 15218550 | 766 days ago | IN | 0 ETH | 0.00281853 | ||||
Migrate | 15218530 | 766 days ago | IN | 0 ETH | 0.00339196 | ||||
Migrate | 15205115 | 768 days ago | IN | 0 ETH | 0.00082843 | ||||
Migrate | 15203686 | 768 days ago | IN | 0 ETH | 0.00041455 | ||||
Migrate | 15202853 | 768 days ago | IN | 0 ETH | 0.00051528 | ||||
Migrate | 15197146 | 769 days ago | IN | 0 ETH | 0.00052195 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
MigrationHelper
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract MigrationHelper is Ownable { IERC20 public sylToken; IERC20 public oSylToken; event Migrate(address indexed _address, uint256 _amount); constructor(address _sylTokenAddr, address _oSylTokenAddr) { sylToken = IERC20(_sylTokenAddr); oSylToken = IERC20(_oSylTokenAddr); } fallback() external payable { } receive() external payable { } function migrate() external { uint256 balance = oSylToken.balanceOf(msg.sender); require(balance != 0, "MigrationHelper: Empty balance of MockSYL"); oSylToken.transferFrom(msg.sender, address(this), balance); sylToken.transfer(msg.sender, balance); emit Migrate(msg.sender, balance); } function withdrawSyl() external onlyOwner { sylToken.transfer(owner(), sylToken.balanceOf(address(this))); } function setSylToken(address _sylTokenAddr) external onlyOwner { sylToken = IERC20(_sylTokenAddr); } function setOSylToken(address _oSylTokenAddr) external onlyOwner { oSylToken = IERC20(_oSylTokenAddr); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } }
{ "evmVersion": "london", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_sylTokenAddr","type":"address"},{"internalType":"address","name":"_oSylTokenAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"Migrate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"migrate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"oSylToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_oSylTokenAddr","type":"address"}],"name":"setOSylToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sylTokenAddr","type":"address"}],"name":"setSylToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sylToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawSyl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516108bc3803806108bc83398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b6107a5806101176000396000f3fe6080604052600436106100845760003560e01c80638da5cb5b116100565780638da5cb5b146101135780638fd3ab8014610131578063a884d9ce14610146578063bf7eef6014610166578063f2fde38b1461018657005b80632f4207ee1461008d578063715018a6146100c957806380753e05146100de5780638824a97d146100fe57005b3661008b57005b005b34801561009957600080fd5b506001546100ad906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061008b6101a6565b3480156100ea57600080fd5b5061008b6100f93660046106cf565b6101e5565b34801561010a57600080fd5b5061008b610231565b34801561011f57600080fd5b506000546001600160a01b03166100ad565b34801561013d57600080fd5b5061008b61037a565b34801561015257600080fd5b5061008b6101613660046106cf565b61059f565b34801561017257600080fd5b506002546100ad906001600160a01b031681565b34801561019257600080fd5b5061008b6101a13660046106cf565b6105eb565b6000546001600160a01b031633146101d95760405162461bcd60e51b81526004016101d0906106ff565b60405180910390fd5b6101e3600061067f565b565b6000546001600160a01b0316331461020f5760405162461bcd60e51b81526004016101d0906106ff565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461025b5760405162461bcd60e51b81526004016101d0906106ff565b6001546001600160a01b031663a9059cbb61027e6000546001600160a01b031690565b6001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a082319060240160206040518083038186803b1580156102c157600080fd5b505afa1580156102d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f99190610734565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561033f57600080fd5b505af1158015610353573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610377919061074d565b50565b6002546040516370a0823160e01b81523360048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156103be57600080fd5b505afa1580156103d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f69190610734565b9050806104575760405162461bcd60e51b815260206004820152602960248201527f4d6967726174696f6e48656c7065723a20456d7074792062616c616e6365206f6044820152681988135bd8dad4d65360ba1b60648201526084016101d0565b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b1580156104a957600080fd5b505af11580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e1919061074d565b5060015460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b15801561052e57600080fd5b505af1158015610542573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610566919061074d565b5060405181815233907fa59785389b00cbd19745afbe8d59b28e3161395c6b1e3525861a2b0dede0b90d9060200160405180910390a250565b6000546001600160a01b031633146105c95760405162461bcd60e51b81526004016101d0906106ff565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106155760405162461bcd60e51b81526004016101d0906106ff565b6001600160a01b03811661067a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d0565b610377815b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156106e157600080fd5b81356001600160a01b03811681146106f857600080fd5b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561074657600080fd5b5051919050565b60006020828403121561075f57600080fd5b815180151581146106f857600080fdfea26469706673582212202113050625636b4a88be1aac39169bb5839231aba106297ac91a3de0a1fda43164736f6c6343000809003300000000000000000000000043a4a1f262eebe93e4762bd5d547d3638fb5c345000000000000000000000000106a446908760b4df318fc51ec97b7dc7a33de01
Deployed Bytecode
0x6080604052600436106100845760003560e01c80638da5cb5b116100565780638da5cb5b146101135780638fd3ab8014610131578063a884d9ce14610146578063bf7eef6014610166578063f2fde38b1461018657005b80632f4207ee1461008d578063715018a6146100c957806380753e05146100de5780638824a97d146100fe57005b3661008b57005b005b34801561009957600080fd5b506001546100ad906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061008b6101a6565b3480156100ea57600080fd5b5061008b6100f93660046106cf565b6101e5565b34801561010a57600080fd5b5061008b610231565b34801561011f57600080fd5b506000546001600160a01b03166100ad565b34801561013d57600080fd5b5061008b61037a565b34801561015257600080fd5b5061008b6101613660046106cf565b61059f565b34801561017257600080fd5b506002546100ad906001600160a01b031681565b34801561019257600080fd5b5061008b6101a13660046106cf565b6105eb565b6000546001600160a01b031633146101d95760405162461bcd60e51b81526004016101d0906106ff565b60405180910390fd5b6101e3600061067f565b565b6000546001600160a01b0316331461020f5760405162461bcd60e51b81526004016101d0906106ff565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461025b5760405162461bcd60e51b81526004016101d0906106ff565b6001546001600160a01b031663a9059cbb61027e6000546001600160a01b031690565b6001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a082319060240160206040518083038186803b1580156102c157600080fd5b505afa1580156102d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f99190610734565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561033f57600080fd5b505af1158015610353573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610377919061074d565b50565b6002546040516370a0823160e01b81523360048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156103be57600080fd5b505afa1580156103d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f69190610734565b9050806104575760405162461bcd60e51b815260206004820152602960248201527f4d6967726174696f6e48656c7065723a20456d7074792062616c616e6365206f6044820152681988135bd8dad4d65360ba1b60648201526084016101d0565b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b1580156104a957600080fd5b505af11580156104bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e1919061074d565b5060015460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b15801561052e57600080fd5b505af1158015610542573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610566919061074d565b5060405181815233907fa59785389b00cbd19745afbe8d59b28e3161395c6b1e3525861a2b0dede0b90d9060200160405180910390a250565b6000546001600160a01b031633146105c95760405162461bcd60e51b81526004016101d0906106ff565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106155760405162461bcd60e51b81526004016101d0906106ff565b6001600160a01b03811661067a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101d0565b610377815b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156106e157600080fd5b81356001600160a01b03811681146106f857600080fd5b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561074657600080fd5b5051919050565b60006020828403121561075f57600080fd5b815180151581146106f857600080fdfea26469706673582212202113050625636b4a88be1aac39169bb5839231aba106297ac91a3de0a1fda43164736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000043a4a1f262eebe93e4762bd5d547d3638fb5c345000000000000000000000000106a446908760b4df318fc51ec97b7dc7a33de01
-----Decoded View---------------
Arg [0] : _sylTokenAddr (address): 0x43a4a1F262Eebe93e4762BD5D547d3638fB5C345
Arg [1] : _oSylTokenAddr (address): 0x106a446908760B4Df318Fc51ec97B7dc7a33de01
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000043a4a1f262eebe93e4762bd5d547d3638fb5c345
Arg [1] : 000000000000000000000000106a446908760b4df318fc51ec97b7dc7a33de01
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,460.23 | 0.006 | $14.76 |
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.