More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,491 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Send Rewards | 21221784 | 31 days ago | IN | 0 ETH | 0.00063215 | ||||
Send Rewards | 21217358 | 32 days ago | IN | 0 ETH | 0.00103444 | ||||
Send Rewards | 21212937 | 32 days ago | IN | 0 ETH | 0.00063215 | ||||
Send Rewards | 21208509 | 33 days ago | IN | 0 ETH | 0.00074709 | ||||
Send Rewards | 21204089 | 34 days ago | IN | 0 ETH | 0.00063215 | ||||
Send Rewards | 21199666 | 34 days ago | IN | 0 ETH | 0.00074709 | ||||
Send Rewards | 21195246 | 35 days ago | IN | 0 ETH | 0.00103444 | ||||
Send Rewards | 21190835 | 36 days ago | IN | 0 ETH | 0.00137925 | ||||
Send Rewards | 21186417 | 36 days ago | IN | 0 ETH | 0.00195394 | ||||
Send Rewards | 21182001 | 37 days ago | IN | 0 ETH | 0.00201141 | ||||
Send Rewards | 21177582 | 37 days ago | IN | 0 ETH | 0.00097697 | ||||
Send Rewards | 21173161 | 38 days ago | IN | 0 ETH | 0.00247116 | ||||
Send Rewards | 21168747 | 39 days ago | IN | 0 ETH | 0.0016666 | ||||
Send Rewards | 21164330 | 39 days ago | IN | 0 ETH | 0.00103444 | ||||
Send Rewards | 21159905 | 40 days ago | IN | 0 ETH | 0.00270104 | ||||
Send Rewards | 21155480 | 40 days ago | IN | 0 ETH | 0.0009195 | ||||
Send Rewards | 21151058 | 41 days ago | IN | 0 ETH | 0.00063215 | ||||
Send Rewards | 21146635 | 42 days ago | IN | 0 ETH | 0.00074709 | ||||
Send Rewards | 21142211 | 42 days ago | IN | 0 ETH | 0.00063215 | ||||
Send Rewards | 21137805 | 43 days ago | IN | 0 ETH | 0.00126431 | ||||
Send Rewards | 21133392 | 44 days ago | IN | 0 ETH | 0.00063215 | ||||
Send Rewards | 21128971 | 44 days ago | IN | 0 ETH | 0.00103444 | ||||
Send Rewards | 21124556 | 45 days ago | IN | 0 ETH | 0.00040228 | ||||
Send Rewards | 21120140 | 45 days ago | IN | 0 ETH | 0.00028734 | ||||
Send Rewards | 21115724 | 46 days ago | IN | 0 ETH | 0.00068962 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
RewardsForwarder
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 10000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.10; import { SafeTransferLib } from "../lib/SafeTransferLib.sol"; import { ReentrancyGuard } from "../lib/ReentrancyGuard.sol"; import { Owners } from "./Owners.sol"; contract RewardsForwarder is Owners, ReentrancyGuard { using SafeTransferLib for address; event LastBlockSet(uint256 lastBlock); event RewardPerBlockSet(uint256 rewardPerBlock); event AddressesSet(address token, address target, address operator); uint256 public lastBlock; uint256 public rewardPerBlock; address public token; address public target; address public operator; constructor(uint256 _rewardPerBlock, address _token, address _target, address _operator, address _initialOwner) { _setOwner(_initialOwner, true); lastBlock = block.number; rewardPerBlock = _rewardPerBlock; token = _token; target = _target; operator = _operator; } modifier isOperator() { require(operator == msg.sender, "Not operator"); _; } function sendRewards() external isOperator nonReentrant { uint256 amount = (block.number - lastBlock) * rewardPerBlock; lastBlock = block.number; token.safeTransfer(target, amount); } function setLastBlock(uint256 _lastBlock) external isOwner { lastBlock = _lastBlock; emit LastBlockSet(_lastBlock); } function setRewardPerBlock(uint256 _rewardPerBlock) external isOwner { rewardPerBlock = _rewardPerBlock; emit RewardPerBlockSet(_rewardPerBlock); } function setAddresses(address _token, address _target, address _operator) external isOwner { token = _token; target = _target; operator = _operator; emit AddressesSet(_token, _target, _operator); } function withdrawTokens(uint256 amount) external isOwner nonReentrant { token.safeTransfer(msg.sender, amount); } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Safe ETH and ERC20 transfer library that gracefully handles missing return values. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/SafeTransferLib.sol) /// @author Modified from Gnosis (https://github.com/gnosis/gp-v2-contracts/blob/main/src/contracts/libraries/GPv2SafeERC20.sol) /// @dev Use with caution! Some functions in this library knowingly create dirty bits at the destination of the free memory pointer. library SafeTransferLib { /*/////////////////////////////////////////////////////////////// ETH OPERATIONS //////////////////////////////////////////////////////////////*/ function safeTransferETH(address to, uint256 amount) internal { bool callStatus; assembly { // Transfer the ETH and store if it succeeded or not. callStatus := call(gas(), to, amount, 0, 0, 0, 0) } require(callStatus, "ETH_TRANSFER_FAILED"); } /*/////////////////////////////////////////////////////////////// ERC20 OPERATIONS //////////////////////////////////////////////////////////////*/ function safeTransferFrom( address token, address from, address to, uint256 amount ) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore(freeMemoryPointer, 0x23b872dd00000000000000000000000000000000000000000000000000000000) // Begin with the function selector. mstore(add(freeMemoryPointer, 4), and(from, 0xffffffffffffffffffffffffffffffffffffffff)) // Mask and append the "from" argument. mstore(add(freeMemoryPointer, 36), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 68), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 100 because the calldata length is 4 + 32 * 3. callStatus := call(gas(), token, 0, freeMemoryPointer, 100, 0, 0) } require(didLastOptionalReturnCallSucceed(callStatus), "TRANSFER_FROM_FAILED"); } function safeTransfer( address token, address to, uint256 amount ) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore(freeMemoryPointer, 0xa9059cbb00000000000000000000000000000000000000000000000000000000) // Begin with the function selector. mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 36), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 68 because the calldata length is 4 + 32 * 2. callStatus := call(gas(), token, 0, freeMemoryPointer, 68, 0, 0) } require(didLastOptionalReturnCallSucceed(callStatus), "TRANSFER_FAILED"); } function safeApprove( address token, address to, uint256 amount ) internal { bool callStatus; assembly { // Get a pointer to some free memory. let freeMemoryPointer := mload(0x40) // Write the abi-encoded calldata to memory piece by piece: mstore(freeMemoryPointer, 0x095ea7b300000000000000000000000000000000000000000000000000000000) // Begin with the function selector. mstore(add(freeMemoryPointer, 4), and(to, 0xffffffffffffffffffffffffffffffffffffffff)) // Mask and append the "to" argument. mstore(add(freeMemoryPointer, 36), amount) // Finally append the "amount" argument. No mask as it's a full 32 byte value. // Call the token and store if it succeeded or not. // We use 68 because the calldata length is 4 + 32 * 2. callStatus := call(gas(), token, 0, freeMemoryPointer, 68, 0, 0) } require(didLastOptionalReturnCallSucceed(callStatus), "APPROVE_FAILED"); } /*/////////////////////////////////////////////////////////////// INTERNAL HELPER LOGIC //////////////////////////////////////////////////////////////*/ function didLastOptionalReturnCallSucceed(bool callStatus) private pure returns (bool success) { assembly { // Get how many bytes the call returned. let returnDataSize := returndatasize() // If the call reverted: if iszero(callStatus) { // Copy the revert message into memory. returndatacopy(0, 0, returnDataSize) // Revert with the same message. revert(0, returnDataSize) } switch returnDataSize case 32 { // Copy the return data into memory. returndatacopy(0, 0, returnDataSize) // Set success to whether it returned true. success := iszero(iszero(mload(0))) } case 0 { // There was no return data. success := 1 } default { // It returned some malformed input. success := 0 } } } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.8.0; /// @notice Gas optimized reentrancy protection for smart contracts. /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/ReentrancyGuard.sol) /// @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol) abstract contract ReentrancyGuard { uint256 private locked = 1; modifier nonReentrant() { require(locked == 1, "REENTRANCY"); locked = 2; _; locked = 1; } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.10; abstract contract Owners { event OwnerSet(address indexed owner, bool active); mapping(address => bool) public owners; modifier isOwner() { require(owners[msg.sender], "Unauthorized"); _; } function _setOwner(address owner, bool active) internal virtual { owners[owner] = active; emit OwnerSet(owner, active); } function setOwner(address owner, bool active) external virtual isOwner { _setOwner(owner, active); } }
{ "optimizer": { "enabled": true, "runs": 10000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"_rewardPerBlock","type":"uint256"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"address","name":"operator","type":"address"}],"name":"AddressesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"lastBlock","type":"uint256"}],"name":"LastBlockSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"bool","name":"active","type":"bool"}],"name":"OwnerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"rewardPerBlock","type":"uint256"}],"name":"RewardPerBlockSet","type":"event"},{"inputs":[],"name":"lastBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"owners","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sendRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_target","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_lastBlock","type":"uint256"}],"name":"setLastBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"bool","name":"active","type":"bool"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardPerBlock","type":"uint256"}],"name":"setRewardPerBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"target","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526001805534801561001457600080fd5b50604051610c31380380610c3183398101604081905261003391610104565b61003e81600161008b565b5043600255600393909355600480546001600160a01b03199081166001600160a01b0394851617909155600580548216928416929092179091556006805490911691909216179055610162565b6001600160a01b03821660008181526020818152604091829020805460ff191685151590811790915591519182527ff74826f11048fa8ecf33e91132bf280f6582ed97548a84e426b56e98526b9316910160405180910390a25050565b80516001600160a01b03811681146100ff57600080fd5b919050565b600080600080600060a0868803121561011c57600080fd5b8551945061012c602087016100e8565b935061013a604087016100e8565b9250610148606087016100e8565b9150610156608087016100e8565b90509295509295909350565b610ac0806101716000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063806b984f11610081578063bb872b4a1161005b578063bb872b4a146101cc578063d4b83992146101df578063fc0c546a146101ff57600080fd5b8063806b984f146101a45780638ae39cac146101bb57806395cb1b1e146101c457600080fd5b8063516c731c116100b2578063516c731c14610139578063570ca7351461014c5780635d974a661461019157600080fd5b8063022914a7146100d9578063315a095d14610111578063363bf96414610126575b600080fd5b6100fc6100e736600461094d565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61012461011f36600461096f565b61021f565b005b610124610134366004610988565b610339565b6101246101473660046109cb565b61045b565b60065461016c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b61012461019f36600461096f565b6104e2565b6101ad60025481565b604051908152602001610108565b6101ad60035481565b610124610597565b6101246101da36600461096f565b6106da565b60055461016c9073ffffffffffffffffffffffffffffffffffffffff1681565b60045461016c9073ffffffffffffffffffffffffffffffffffffffff1681565b3360009081526020819052604090205460ff1661029d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a6564000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600154600114610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610294565b60026001556004546103329073ffffffffffffffffffffffffffffffffffffffff163383610788565b5060018055565b3360009081526020819052604090205460ff166103b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152606401610294565b6004805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790935560058054868316908416811790915560068054928616929093168217909255604080519384526020840192909252908201527ffa46f045092280873921fe7e8bd94f64c996911a0bae60b09d487935b9117e7a9060600160405180910390a1505050565b3360009081526020819052604090205460ff166104d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152606401610294565b6104de8282610855565b5050565b3360009081526020819052604090205460ff1661055b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152606401610294565b60028190556040518181527fd3ab7acf24237c1ece32247e1b00396c66a7c05d8e6328d5844b5c6f71825ce7906020015b60405180910390a150565b60065473ffffffffffffffffffffffffffffffffffffffff163314610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e6f74206f70657261746f7200000000000000000000000000000000000000006044820152606401610294565b600154600114610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610294565b600260018190555060006003546002544361069f9190610a36565b6106a99190610a4d565b436002556005546004549192506103329173ffffffffffffffffffffffffffffffffffffffff908116911683610788565b3360009081526020819052604090205460ff16610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152606401610294565b60038190556040518181527f5d7c78d0ee3ce6196f90e74ed58c0ada9ac7ccc47d3aca0547ac893776f038269060200161058c565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af19150506107e9816108dd565b61084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152606401610294565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527ff74826f11048fa8ecf33e91132bf280f6582ed97548a84e426b56e98526b9316910160405180910390a25050565b60003d826108ef57806000803e806000fd5b8060208114610907578015610918576000925061091d565b816000803e6000511515925061091d565b600192505b5050919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461094857600080fd5b919050565b60006020828403121561095f57600080fd5b61096882610924565b9392505050565b60006020828403121561098157600080fd5b5035919050565b60008060006060848603121561099d57600080fd5b6109a684610924565b92506109b460208501610924565b91506109c260408501610924565b90509250925092565b600080604083850312156109de57600080fd5b6109e783610924565b9150602083013580151581146109fc57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015610a4857610a48610a07565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a8557610a85610a07565b50029056fea2646970667358221220f4694276d3d985451da5951f0f65986c14a95489b432b40f63f089c08a8d74e964736f6c634300080a00330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a5f2211b9b8170f694421f2046281775e8468044000000000000000000000000815c23eca83261b6ec689b60cc4a58b54bc24d8d0000000000000000000000005c48a72787987536065cd776dc92a756e271f5120000000000000000000000008f692d7abc6cdf567571276f76112ec9a01de309
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063806b984f11610081578063bb872b4a1161005b578063bb872b4a146101cc578063d4b83992146101df578063fc0c546a146101ff57600080fd5b8063806b984f146101a45780638ae39cac146101bb57806395cb1b1e146101c457600080fd5b8063516c731c116100b2578063516c731c14610139578063570ca7351461014c5780635d974a661461019157600080fd5b8063022914a7146100d9578063315a095d14610111578063363bf96414610126575b600080fd5b6100fc6100e736600461094d565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61012461011f36600461096f565b61021f565b005b610124610134366004610988565b610339565b6101246101473660046109cb565b61045b565b60065461016c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b61012461019f36600461096f565b6104e2565b6101ad60025481565b604051908152602001610108565b6101ad60035481565b610124610597565b6101246101da36600461096f565b6106da565b60055461016c9073ffffffffffffffffffffffffffffffffffffffff1681565b60045461016c9073ffffffffffffffffffffffffffffffffffffffff1681565b3360009081526020819052604090205460ff1661029d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a6564000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600154600114610309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610294565b60026001556004546103329073ffffffffffffffffffffffffffffffffffffffff163383610788565b5060018055565b3360009081526020819052604090205460ff166103b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152606401610294565b6004805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790935560058054868316908416811790915560068054928616929093168217909255604080519384526020840192909252908201527ffa46f045092280873921fe7e8bd94f64c996911a0bae60b09d487935b9117e7a9060600160405180910390a1505050565b3360009081526020819052604090205460ff166104d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152606401610294565b6104de8282610855565b5050565b3360009081526020819052604090205460ff1661055b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152606401610294565b60028190556040518181527fd3ab7acf24237c1ece32247e1b00396c66a7c05d8e6328d5844b5c6f71825ce7906020015b60405180910390a150565b60065473ffffffffffffffffffffffffffffffffffffffff163314610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e6f74206f70657261746f7200000000000000000000000000000000000000006044820152606401610294565b600154600114610684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e4359000000000000000000000000000000000000000000006044820152606401610294565b600260018190555060006003546002544361069f9190610a36565b6106a99190610a4d565b436002556005546004549192506103329173ffffffffffffffffffffffffffffffffffffffff908116911683610788565b3360009081526020819052604090205460ff16610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e617574686f72697a656400000000000000000000000000000000000000006044820152606401610294565b60038190556040518181527f5d7c78d0ee3ce6196f90e74ed58c0ada9ac7ccc47d3aca0547ac893776f038269060200161058c565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201528260248201526000806044836000895af19150506107e9816108dd565b61084f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152606401610294565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527ff74826f11048fa8ecf33e91132bf280f6582ed97548a84e426b56e98526b9316910160405180910390a25050565b60003d826108ef57806000803e806000fd5b8060208114610907578015610918576000925061091d565b816000803e6000511515925061091d565b600192505b5050919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461094857600080fd5b919050565b60006020828403121561095f57600080fd5b61096882610924565b9392505050565b60006020828403121561098157600080fd5b5035919050565b60008060006060848603121561099d57600080fd5b6109a684610924565b92506109b460208501610924565b91506109c260408501610924565b90509250925092565b600080604083850312156109de57600080fd5b6109e783610924565b9150602083013580151581146109fc57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015610a4857610a48610a07565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610a8557610a85610a07565b50029056fea2646970667358221220f4694276d3d985451da5951f0f65986c14a95489b432b40f63f089c08a8d74e964736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a5f2211b9b8170f694421f2046281775e8468044000000000000000000000000815c23eca83261b6ec689b60cc4a58b54bc24d8d0000000000000000000000005c48a72787987536065cd776dc92a756e271f5120000000000000000000000008f692d7abc6cdf567571276f76112ec9a01de309
-----Decoded View---------------
Arg [0] : _rewardPerBlock (uint256): 0
Arg [1] : _token (address): 0xa5f2211B9b8170F694421f2046281775E8468044
Arg [2] : _target (address): 0x815C23eCA83261b6Ec689b60Cc4a58b54BC24D8D
Arg [3] : _operator (address): 0x5c48A72787987536065CD776Dc92A756E271F512
Arg [4] : _initialOwner (address): 0x8F692D7abC6cDf567571276f76112Ec9A01DE309
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 000000000000000000000000a5f2211b9b8170f694421f2046281775e8468044
Arg [2] : 000000000000000000000000815c23eca83261b6ec689b60cc4a58b54bc24d8d
Arg [3] : 0000000000000000000000005c48a72787987536065cd776dc92a756e271f512
Arg [4] : 0000000000000000000000008f692d7abc6cdf567571276f76112ec9a01de309
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $0.161882 | 905 | $146.5 |
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.