More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
1073691 | 20 days ago | Contract Creation | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
RewardsDistribution
Compiler Version
v0.8.24+commit.e11b9ed9
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "./Owned.sol"; import "./interfaces/IRewardsDistribution.sol"; import "./interfaces/IStakingRewards.sol"; // https://docs.synthetix.io/contracts/source/contracts/rewardsdistribution contract RewardsDistribution is Owned, IRewardsDistribution { /** * @notice Authorised address able to call distributeRewards */ address public authority; /** * @notice Address of the Token ERC20 */ address public rewardProxyToken; /** * @notice An array of addresses and amounts to send */ DistributionData[] public distributions; /** * @dev _authority maybe the underlying Token contract. * Remember to set the authority on a Token upgrade */ constructor( address _owner, address _authority, address _rewardProxyToken ) Owned(_owner) { authority = _authority; rewardProxyToken = _rewardProxyToken; } // ========== EXTERNAL SETTERS ========== function setRewardProxyToken(address _rewardProxyToken) external onlyOwner { rewardProxyToken = _rewardProxyToken; } /** * @notice Set the address of the contract authorised to call distributeRewards() * @param _authority Address of the authorised calling contract. */ function setAuthority(address _authority) external onlyOwner { authority = _authority; } // ========== EXTERNAL FUNCTIONS ========== /** * @notice Adds a Rewards DistributionData struct to the distributions * array. Any entries here will be iterated and rewards distributed to * each address when tokens are sent to this contract and distributeRewards() * is called by the autority. * @param destination An address to send rewards tokens too * @param amount The amount of rewards tokens to send */ function addRewardDistribution(address destination, uint amount) external onlyOwner returns (bool) { require(destination != address(0), "Cant add a zero address"); require(amount != 0, "Cant add a zero amount"); DistributionData memory rewardsDistribution = DistributionData(destination, amount); distributions.push(rewardsDistribution); emit RewardDistributionAdded(distributions.length - 1, destination, amount); return true; } /** * @notice Deletes a RewardDistribution from the distributions * so it will no longer be included in the call to distributeRewards() * @param index The index of the DistributionData to delete */ function removeRewardDistribution(uint index) external onlyOwner { require(index <= distributions.length - 1, "index out of bounds"); // shift distributions indexes across for (uint i = index; i < distributions.length - 1; i++) { distributions[i] = distributions[i + 1]; } distributions.pop(); // Since this function must shift all later entries down to fill the // gap from the one it removed, it could in principle consume an // unbounded amount of gas. However, the number of entries will // presumably always be very low. } /** * @notice Edits a RewardDistribution in the distributions array. * @param index The index of the DistributionData to edit * @param destination The destination address. Send the same address to keep or different address to change it. * @param amount The amount of tokens to edit. Send the same number to keep or change the amount of tokens to send. */ function editRewardDistribution( uint index, address destination, uint amount ) external onlyOwner returns (bool) { require(index <= distributions.length - 1, "index out of bounds"); distributions[index].destination = destination; distributions[index].amount = amount; return true; } function distributeRewards(uint amount) external returns (bool) { require(amount > 0, "Nothing to distribute"); require(msg.sender == authority, "Caller is not authorised"); require(rewardProxyToken != address(0), "TokenProxy is not set"); require( IERC20(rewardProxyToken).balanceOf(address(this)) >= amount, "RewardsDistribution contract does not have enough tokens to distribute" ); uint remainder = amount; // Iterate the array of distributions sending the configured amounts for (uint i = 0; i < distributions.length; i++) { if (distributions[i].destination != address(0) || distributions[i].amount != 0) { remainder = remainder - distributions[i].amount; // Transfer the Proxy Token IERC20(rewardProxyToken).transfer(distributions[i].destination, distributions[i].amount); IStakingRewards(distributions[i].destination).notifyRewardAmount(distributions[i].amount); } } uint256 rewardedAmount = amount - remainder; emit RewardsDistributed(rewardedAmount); return true; } /* ========== VIEWS ========== */ /** * @notice Retrieve the length of the distributions array */ function distributionsLength() external view returns (uint) { return distributions.length; } /* ========== Events ========== */ event RewardDistributionAdded(uint index, address destination, uint amount); event RewardsDistributed(uint amount); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; // https://docs.synthetix.io/contracts/Owned // NO NEED TO AUDIT contract Owned { address public owner; address public nominatedOwner; constructor (address _owner) { require(_owner != address(0), "Owner address cannot be 0"); owner = _owner; emit OwnerChanged(address(0), _owner); } function nominateNewOwner(address _owner) external onlyOwner { nominatedOwner = _owner; emit OwnerNominated(_owner); } function acceptOwnership() external { require(msg.sender == nominatedOwner, "You must be nominated before you can accept ownership"); emit OwnerChanged(owner, nominatedOwner); owner = nominatedOwner; nominatedOwner = address(0); } modifier onlyOwner { require(msg.sender == owner, "Only the contract owner may perform this action"); _; } event OwnerNominated(address newOwner); event OwnerChanged(address oldOwner, address newOwner); }
//SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // https://docs.synthetix.io/contracts/source/interfaces/irewardsdistribution interface IRewardsDistribution { // Structs struct DistributionData { address destination; uint amount; } // Views function authority() external view returns (address); function distributions(uint index) external view returns (address destination, uint amount); // DistributionData function distributionsLength() external view returns (uint); // Mutative Functions function distributeRewards(uint amount) external returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // https://docs.synthetix.io/contracts/source/interfaces/istakingrewards interface IStakingRewards { // Views function balanceOf(address account) external view returns (uint256); function earned(address account) external view returns (uint256); function getRewardForDuration() external view returns (uint256); function lastTimeRewardApplicable() external view returns (uint256); function rewardPerToken() external view returns (uint256); function totalSupply() external view returns (uint256); // Mutative function getReward() external; function stake(uint256 amount) external; function withdraw(uint256 amount) external; function notifyRewardAmount(uint256 reward) external; function stakeFor(uint256 amount, address receiver) external; }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @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); /** * @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); }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_authority","type":"address"},{"internalType":"address","name":"_rewardProxyToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"address","name":"destination","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardDistributionAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardsDistributed","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addRewardDistribution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"distributeRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"distributions","outputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributionsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"editRewardDistribution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"removeRewardDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardProxyToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_authority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rewardProxyToken","type":"address"}],"name":"setRewardProxyToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b0000000000000000000000000000000000000000000000000000000000000000010001437b949b885eaa2e30708b5310638c8eb0a34222e591c56ed30d9b8e8500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000948058d07994ad9947a3a258984f32eabade7886000000000000000000000000f481c52e23d8c7b09a8e7e8378314ecd3076bf1100000000000000000000000098aaa8bffe847a6d8c28d26985aedfd55c074001
Deployed Bytecode
0x0002000000000002000600000000000200010000000103550000006003100270000000fc0330019700000001002001900000002a0000c13d0000008002000039000000400020043f000000040030008c000003800000413d000000000201043b000000e002200270000001070020009c000000660000213d000001110020009c000000730000a13d000001120020009c000000cf0000213d000001150020009c000001010000613d000001160020009c000003800000c13d000000240030008c000003800000413d0000000002000416000000000002004b000003800000c13d0000000401100370000000000301043b000000000003004b000001cd0000c13d0000010501000041000000800010043f0000002001000039000000840010043f0000001501000039000000a40010043f0000013a01000041000000c40010043f0000011f01000041000003ec000104300000000002000416000000000002004b000003800000c13d0000001f02300039000000fd022001970000008002200039000000400020043f0000001f0430018f000000fe0530019800000080025000390000003b0000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b000000370000c13d000000000004004b000000480000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000600030008c000003800000413d000000800200043d000000ff0020009c000003800000213d000000a00300043d000000ff0030009c000003800000213d000000c00400043d000000ff0040009c000003800000213d000000400100043d000000000002004b000001a40000c13d00000044021000390000010403000041000000000032043500000024021000390000001903000039000000000032043500000105020000410000000000210435000000040210003900000020030000390000000000320435000000fc0010009c000000fc01008041000000400110021000000106011001c7000003ec00010430000001080020009c000000920000a13d000001090020009c000000f80000213d0000010c0020009c000001070000613d0000010d0020009c000003800000c13d0000000001000416000000000001004b000003800000c13d0000000201000039000001050000013d000001170020009c0000010f0000613d000001180020009c000001170000613d000001190020009c000003800000c13d000000240030008c000003800000413d0000000002000416000000000002004b000003800000c13d0000000401100370000000000101043b0000000402000039000000000202041a000000000021004b000003800000813d03ea03a60000040f000000000201041a0000000101100039000000000101041a000000400300043d00000020043000390000000000140435000000ff012001970000000000130435000000fc0030009c000000fc0300804100000040013002100000013b011001c7000003eb0001042e0000010e0020009c000001370000613d0000010f0020009c0000014a0000613d000001100020009c000003800000c13d000000240030008c000003800000413d0000000002000416000000000002004b000003800000c13d0000000401100370000000000201043b000000000100041a000000ff011001970000000003000411000000000013004b000001980000c13d0000000401000039000000000301041a000000000003004b000001920000613d000000010430008a000000000042004b000000b50000a13d0000010501000041000000800010043f0000002001000039000000840010043f0000001301000039000000a40010043f0000011e01000041000000c40010043f0000011f01000041000003ec00010430000000010430008a000000000042004b0000027c0000813d0000000104200039000000000043004b000003820000a13d000000000010043f00000001034002100000011c0530009a000000000505041a000000ff0550019700000001022002100000011c0620009a000000000706041a0000010007700197000000000557019f000000000056041b0000011d0220009a0000011d0330009a000000000303041a000000000032041b000000000301041a000000000003004b0000000002040019000000b50000c13d000001920000013d000001130020009c000001620000613d000001140020009c000003800000c13d0000000001000416000000000001004b000003800000c13d0000000101000039000000000201041a000000ff012001970000000003000411000000000013004b000001e10000c13d000600000002001d000000000100041a000500000001001d000000ff01100197000000800010043f000000a00030043f0000000001000414000000fc0010009c000000fc01008041000000c00110021000000123011001c70000800d020000390000000103000039000001020400004103ea03e00000040f0000000100200190000003800000613d000000050100002900000100011001970000000002000411000000000121019f000000000010041b000000060100002900000100011001970000000102000039000000000012041b0000000001000019000003eb0001042e0000010a0020009c0000017e0000613d0000010b0020009c000003800000c13d0000000001000416000000000001004b000003800000c13d0000000301000039000001050000013d0000000001000416000000000001004b000003800000c13d0000000101000039000000000101041a0000010b0000013d0000000001000416000000000001004b000003800000c13d000000000100041a000000ff01100197000000800010043f0000011a01000041000003eb0001042e0000000001000416000000000001004b000003800000c13d0000000401000039000000000101041a000000800010043f0000011a01000041000003eb0001042e000000240030008c000003800000413d0000000002000416000000000002004b000003800000c13d0000000401100370000000000101043b000000ff0010009c000003800000213d000000000200041a000000ff022001970000000003000411000000000023004b000001980000c13d0000000103000039000000000203041a0000010002200197000000000212019f000000000023041b000000800010043f0000000001000414000000fc0010009c000000fc01008041000000c0011002100000013e011001c70000800d020000390000013f0400004103ea03e00000040f0000000100200190000003800000613d0000000001000019000003eb0001042e000000240030008c000003800000413d0000000002000416000000000002004b000003800000c13d0000000401100370000000000101043b000000ff0010009c000003800000213d000600000001001d000000000100041a000000ff011001970000000002000411000000000012004b0000000001000039000000010100603903ea03b40000040f00000002010000390000015c0000013d000000240030008c000003800000413d0000000002000416000000000002004b000003800000c13d0000000401100370000000000101043b000000ff0010009c000003800000213d000600000001001d000000000100041a000000ff011001970000000002000411000000000012004b0000000001000039000000010100603903ea03b40000040f0000000301000039000000000201041a000001000220019700000006022001af000000000021041b0000000001000019000003eb0001042e000000440030008c000003800000413d0000000002000416000000000002004b000003800000c13d0000000402100370000000000202043b000000ff0020009c000003800000213d0000002401100370000000000101043b000000000300041a000000ff033001970000000004000411000000000034004b000001980000c13d000000000002004b000001f70000c13d0000010501000041000000800010043f0000002001000039000000840010043f0000001701000039000000a40010043f0000012801000041000000c40010043f0000011f01000041000003ec00010430000000640030008c000003800000413d0000000002000416000000000002004b000003800000c13d0000000402100370000000000302043b0000002401100370000000000401043b000000ff0040009c000003800000213d000000000100041a000000ff011001970000000002000411000000000012004b000001980000c13d0000000401000039000000000101041a000000000001004b000002030000c13d0000012e01000041000000000010043f0000001101000039000000040010043f0000012f01000041000003ec000104300000010501000041000000800010043f0000002001000039000000840010043f0000002f01000039000000a40010043f0000013c01000041000000c40010043f0000013d01000041000000e40010043f0000012201000041000003ec00010430000600000003001d000000000300041a0000010003300197000000000323019f000000000030041b000000200310003900000000002304350000000000010435000000fc0010009c000000fc0100804100000040011002100000000002000414000000fc0020009c000000fc02008041000000c002200210000000000112019f00000101011001c70000800d020000390000000103000039000500000004001d000001020400004103ea03e00000040f000000050400002900000006030000290000000100200190000003800000613d0000000201000039000000000201041a0000010002200197000000000232019f000000000021041b0000000301000039000000000201041a0000010002200197000000000242019f000000000021041b0000002001000039000001000010044300000120000004430000010301000041000003eb0001042e0000000201000039000000000101041a000000ff011001970000000002000411000000000012004b000001ed0000c13d0000000301000039000000000101041a000000ff021001980000021f0000c13d0000010501000041000000800010043f0000002001000039000000840010043f0000001501000039000000a40010043f0000013901000041000000c40010043f0000011f01000041000003ec000104300000010501000041000000800010043f0000002001000039000000840010043f0000003501000039000000a40010043f0000012001000041000000c40010043f0000012101000041000000e40010043f0000012201000041000003ec000104300000010501000041000000800010043f0000002001000039000000840010043f0000001801000039000000a40010043f0000012901000041000000c40010043f0000011f01000041000003ec00010430000000000001004b0000022c0000c13d0000010501000041000000800010043f0000002001000039000000840010043f0000001601000039000000a40010043f0000012701000041000000c40010043f0000011f01000041000003ec00010430000000010110008a000000000013004b0000000001000039000000010100a039000600000003001d000500000004001d03ea03cb0000040f000000060100002903ea03a60000040f000000000201041a000001000220019700000005022001af000000000021041b000000060100002903ea03a60000040f00000044020000390000000102200367000000000202043b0000000101100039000000000021041b0000000101000039000000400200043d0000000000120435000000fc0020009c000000fc0200804100000040012002100000011b011001c7000003eb0001042e000100000003001d0000012a01000041000000800010043f0000000001000410000000840010043f0000000001000414000000040020008c0000023a0000c13d0000000003000031000000200030008c000000200400003900000000040340190000025e0000013d000000c003000039000000400030043f000000800020043f000000a00010043f0000000403000039000000000403041a000001240040009c000002850000a13d0000012e01000041000000000010043f0000004101000039000000040010043f0000012f01000041000003ec00010430000000fc0010009c000000fc01008041000000c0011002100000012b011001c703ea03e50000040f000000800a0000390000006003100270000000fc03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000024e0000613d000000000801034f000000008908043c000000000a9a043600000000005a004b0000024a0000c13d000000000006004b0000025b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000002a00000613d0000001f01400039000000600110018f000000800a1001bf0000004000a0043f000000200030008c000003800000413d000000800200043d0000000103000029000000000032004b000002be0000813d000001050200004100000000002a043500000084021001bf00000020030000390000000000320435000000e40210003900000135030000410000000000320435000000c40210003900000136030000410000000000320435000000a4021000390000004603000039000000000032043500000104011001bf000001370200004100000000002104350000004001a0021000000138011001c7000003ec00010430000000000010043f00000001024002100000011c0320009a000000000003041b0000011d0220009a000000000002041b000000000041041b0000000001000019000003eb0001042e0000000105400039000000000053041b000000000030043f00000001044002100000011c0540009a000000000605041a0000010006600197000000000626019f000000000065041b0000011d0440009a000000000014041b000000000303041a000000000003004b000001920000613d000000010330008a000000c00030043f000000e00020043f000001000010043f0000000001000414000000fc0010009c000000fc01008041000000c00110021000000125011001c70000800d0200003900000001030000390000012604000041000002d20000013d0000001f0530018f000000fe06300198000000400200043d0000000004620019000002ab0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000002a70000c13d000000000005004b000002b80000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000000fc0020009c000000fc020080410000004002200210000000000112019f000003ec000104300000000405000039000000000105041a000000000001004b000002dd0000c13d000500000003001d0000000502000029000000010120006900000000001a0435000000fc00a0009c000000fc0a0080410000004001a002100000000002000414000000fc0020009c000000fc02008041000000c002200210000000000112019f00000133011001c70000800d020000390000000103000039000001340400004103ea03e00000040f0000000100200190000003800000613d000000400100043d00000001020000390000000000210435000000fc0010009c000000fc0100804100000040011002100000011b011001c7000003eb0001042e0000000006000019000500000003001d000002e30000013d0000000106600039000000000016004b000003880000813d00000001036002100000011d0730009a000000000207041a0000011c0830009a000000000308041a000000ff03300198000002ed0000c13d000000000050043f000000000002004b000002e00000613d0005000500200073000001920000413d0000000301000039000000000401041a000000000050043f0000012c0100004100000000001a04350000000401a0003900000000003104350000002401a0003900000000002104350000000001000414000000ff02400197000000040020008c000600000006001d000003020000c13d0000000003000031000000200030008c00000020040000390000000004034019000003320000013d000200000008001d000300000007001d000000fc00a0009c000000fc0300004100000000030a40190000004003300210000000fc0010009c000000fc01008041000000c001100210000000000131019f0000012d011001c700040000000a001d03ea03e00000040f000000040a0000290000006003100270000000fc03300197000000200030008c00000020040000390000000004034019000000200640019000000000056a00190000031e0000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b0000031a0000c13d0000001f074001900000032b0000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f00000001002001900000038d0000613d00000004050000390000000606000029000000030700002900000002080000290000001f01400039000000600210018f0000000001a20019000000000021004b00000000020000390000000102004039000001240010009c000002340000213d0000000100200190000002340000c13d000000400010043f000000200030008c000003800000413d00000000010a0433000000000001004b0000000002000039000000010200c039000000000021004b000003800000c13d000000000105041a000000000061004b000003820000a13d000000000108041a000000000050043f000000000207041a000300000002001d00000130020000410000000000200443000000ff01100197000400000001001d00000004001004430000000001000414000000fc0010009c000000fc01008041000000c00110021000000131011001c7000080020200003903ea03e50000040f00000001002001900000038c0000613d000000000101043b000000000001004b00000004050000390000000606000029000003800000613d000000400a00043d000001320100004100000000001a04350000000401a000390000000302000029000000000021043500000000010004140000000402000029000000040020008c0000037b0000613d000000fc00a0009c000000fc0300004100000000030a40190000004003300210000000fc0010009c000000fc01008041000000c001100210000000000131019f0000012f011001c700040000000a001d03ea03e00000040f00000006060000290000000405000039000000040a0000290000006003100270000000fc0030019d0000000100200190000003990000613d0000012400a0009c000002340000213d0000004000a0043f000000000105041a000002e00000013d0000000001000019000003ec000104300000012e01000041000000000010043f0000003201000039000000040010043f0000012f01000041000003ec000104300000000502000029000000010020006c000001920000213d000002c30000013d000000000001042f0000001f0530018f000000fe06300198000000400200043d0000000004620019000002ab0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003940000c13d000002ab0000013d000000fc033001970000001f0530018f000000fe06300198000000400200043d0000000004620019000002ab0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003a10000c13d000002ab0000013d0000000402000039000000000302041a000000000013004b000003ae0000a13d000000000020043f00000001011002100000011c0110009a000000000001042d0000012e01000041000000000010043f0000003201000039000000040010043f0000012f01000041000003ec00010430000000000001004b000003b70000613d000000000001042d000000400100043d00000064021000390000013d03000041000000000032043500000044021000390000013c03000041000000000032043500000024021000390000002f03000039000000000032043500000105020000410000000000210435000000040210003900000020030000390000000000320435000000fc0010009c000000fc01008041000000400110021000000140011001c7000003ec00010430000000000001004b000003ce0000613d000000000001042d000000400100043d00000044021000390000011e03000041000000000032043500000024021000390000001303000039000000000032043500000105020000410000000000210435000000040210003900000020030000390000000000320435000000fc0010009c000000fc01008041000000400110021000000106011001c7000003ec00010430000000000001042f000003e3002104210000000102000039000000000001042d0000000002000019000000000001042d000003e8002104230000000102000039000000000001042d0000000002000019000000000001042d000003ea00000432000003eb0001042e000003ec0001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000200000000000000000000000000000000000040000000000000000000000000b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c00000002000000000000000000000000000000400000010000000000000000004f776e657220616464726573732063616e6e6f7420626520300000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000000000000000000007a9e5e4a000000000000000000000000000000000000000000000000000000008da5cb5a00000000000000000000000000000000000000000000000000000000e54c167000000000000000000000000000000000000000000000000000000000e54c167100000000000000000000000000000000000000000000000000000000eb0a249a000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000bf7e214f000000000000000000000000000000000000000000000000000000007a9e5e4b000000000000000000000000000000000000000000000000000000007e892ab600000000000000000000000000000000000000000000000000000000817a69510000000000000000000000000000000000000000000000000000000053a47bb60000000000000000000000000000000000000000000000000000000060eb3ff10000000000000000000000000000000000000000000000000000000060eb3ff20000000000000000000000000000000000000000000000000000000079ba50970000000000000000000000000000000000000000000000000000000053a47bb70000000000000000000000000000000000000000000000000000000059974e3800000000000000000000000000000000000000000000000000000000060ca250000000000000000000000000000000000000000000000000000000001627540c000000000000000000000000000000000000000000000000000000004487d3df0000000000000000000000000000000000000020000000800000000000000000000000000000000000000000000000000000002000000000000000000000000075ca53043ea007e5c65182cbb028f60d7179ff4b55739a3949b401801c942e6575ca53043ea007e5c65182cbb028f60d7179ff4b55739a3949b401801c942e64696e646578206f7574206f6620626f756e6473000000000000000000000000000000000000000000000000000000000000000064000000800000000000000000596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970000000000000000000000000000000000000000000000000000000000000840000008000000000000000000200000000000000000000000000000000000040000000800000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff0200000000000000000000000000000000000060000000c0000000000000000008fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa20843616e74206164642061207a65726f20616d6f756e740000000000000000000043616e74206164642061207a65726f206164647265737300000000000000000043616c6c6572206973206e6f7420617574686f7269736564000000000000000070a08231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000800000000000000000a9059cbb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000000000000000004e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b8302000002000000000000000000000000000000240000000000000000000000003c6b16ab0000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000200000000000000000000000006d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be44273206e6f74206861766520656e6f75676820746f6b656e7320746f206469737452657761726473446973747269627574696f6e20636f6e747261637420646f65726962757465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4000000000000000000000000546f6b656e50726f7879206973206e6f742073657400000000000000000000004e6f7468696e6720746f2064697374726962757465000000000000000000000000000000000000000000000000000000000000400000000000000000000000004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000000200000000000000000000000000000000000020000000800000000000000000906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22000000000000000000000000000000000000008400000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fba64f2f0840b09ba964acc9c40b18c2398a9bcee6598996919acc89daabb54
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000948058d07994ad9947a3a258984f32eabade7886000000000000000000000000f481c52e23d8c7b09a8e7e8378314ecd3076bf1100000000000000000000000098aaa8bffe847a6d8c28d26985aedfd55c074001
-----Decoded View---------------
Arg [0] : _owner (address): 0x948058D07994ad9947A3a258984F32eAbaDE7886
Arg [1] : _authority (address): 0xF481c52E23D8c7b09A8e7E8378314eCD3076bf11
Arg [2] : _rewardProxyToken (address): 0x98aaA8bFFe847a6d8C28D26985aeDfD55c074001
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000948058d07994ad9947a3a258984f32eabade7886
Arg [1] : 000000000000000000000000f481c52e23d8c7b09a8e7e8378314ecd3076bf11
Arg [2] : 00000000000000000000000098aaa8bffe847a6d8c28d26985aedfd55c074001
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.