Overview
ETH Balance
ETH Value
$0.00Latest 15 from a total of 15 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Register Code | 105482350 | 1002 days ago | IN | 0 ETH | 0.0000227953 | ||||
| Register Code | 105469640 | 1003 days ago | IN | 0 ETH | 0.000020850275 | ||||
| Register Code | 105402862 | 1004 days ago | IN | 0 ETH | 0.000040281109 | ||||
| Register Code | 105374750 | 1005 days ago | IN | 0 ETH | 0.00002883703 | ||||
| Register Code | 105346137 | 1006 days ago | IN | 0 ETH | 0.000027076257 | ||||
| Register Code | 105320163 | 1006 days ago | IN | 0 ETH | 0.000035413072 | ||||
| Register Code | 105319544 | 1006 days ago | IN | 0 ETH | 0.000047716701 | ||||
| Register Code | 105272629 | 1007 days ago | IN | 0 ETH | 0.000029051542 | ||||
| Register Code | 105272478 | 1007 days ago | IN | 0 ETH | 0.000027123701 | ||||
| Register Code | 105268187 | 1007 days ago | IN | 0 ETH | 0.000031567922 | ||||
| Set Gov | 103556054 | 1013 days ago | IN | 0 ETH | 0.00015051187 | ||||
| Set Tier | 102897501 | 1015 days ago | IN | 0 ETH | 0.000147284915 | ||||
| Set Tier | 102897451 | 1015 days ago | IN | 0 ETH | 0.000147284915 | ||||
| Set Tier | 102897403 | 1015 days ago | IN | 0 ETH | 0.000146871378 | ||||
| Set Handler | 102897364 | 1015 days ago | IN | 0 ETH | 0.000148916573 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 105462203 | 1003 days ago | 0 ETH | ||||
| 105462193 | 1003 days ago | 0 ETH | ||||
| 105451571 | 1003 days ago | 0 ETH | ||||
| 105451559 | 1003 days ago | 0 ETH | ||||
| 105432243 | 1004 days ago | 0 ETH | ||||
| 105432127 | 1004 days ago | 0 ETH | ||||
| 105419430 | 1004 days ago | 0 ETH | ||||
| 105419418 | 1004 days ago | 0 ETH | ||||
| 105412418 | 1004 days ago | 0 ETH | ||||
| 105408536 | 1004 days ago | 0 ETH | ||||
| 105408516 | 1004 days ago | 0 ETH | ||||
| 105405140 | 1004 days ago | 0 ETH | ||||
| 105402475 | 1004 days ago | 0 ETH | ||||
| 105400217 | 1004 days ago | 0 ETH | ||||
| 105397963 | 1004 days ago | 0 ETH | ||||
| 105397115 | 1004 days ago | 0 ETH | ||||
| 105397099 | 1004 days ago | 0 ETH | ||||
| 105397091 | 1004 days ago | 0 ETH | ||||
| 105396222 | 1004 days ago | 0 ETH | ||||
| 105396219 | 1004 days ago | 0 ETH | ||||
| 105396213 | 1004 days ago | 0 ETH | ||||
| 105396149 | 1004 days ago | 0 ETH | ||||
| 105383926 | 1005 days ago | 0 ETH | ||||
| 105375919 | 1005 days ago | 0 ETH | ||||
| 105375855 | 1005 days ago | 0 ETH |
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.12;
import "../libraries/math/SafeMath.sol";
import "../access/Governable.sol";
import "../peripherals/interfaces/ITimelock.sol";
import "./interfaces/IReferralStorage.sol";
contract ReferralStorage is Governable, IReferralStorage {
using SafeMath for uint256;
struct Tier {
uint256 totalRebate; // e.g. 2400 for 24%
uint256 discountShare; // 5000 for 50%/50%, 7000 for 30% rebates/70% discount
}
uint256 public constant BASIS_POINTS = 10000;
mapping(address => uint256) public referrerDiscountShares; // to override default value in tier
mapping(address => uint256) public referrerTiers; // link between user <> tier
mapping(uint256 => Tier) public tiers;
mapping(address => bool) public isHandler;
mapping(bytes32 => address) public override codeOwners;
mapping(address => bytes32) public traderReferralCodes;
event SetHandler(address handler, bool isActive);
event SetTraderReferralCode(address account, bytes32 code);
event SetTier(uint256 tierId, uint256 totalRebate, uint256 discountShare);
event SetReferrerTier(address referrer, uint256 tierId);
event SetReferrerDiscountShare(address referrer, uint256 discountShare);
event RegisterCode(address account, bytes32 code);
event SetCodeOwner(address account, address newAccount, bytes32 code);
event GovSetCodeOwner(bytes32 code, address newAccount);
modifier onlyHandler() {
require(isHandler[msg.sender], "ReferralStorage: forbidden");
_;
}
function setHandler(address _handler, bool _isActive) external onlyGov {
isHandler[_handler] = _isActive;
emit SetHandler(_handler, _isActive);
}
function setTier(
uint256 _tierId,
uint256 _totalRebate,
uint256 _discountShare
) external override onlyGov {
require(_totalRebate <= BASIS_POINTS, "ReferralStorage: invalid totalRebate");
require(_discountShare <= BASIS_POINTS, "ReferralStorage: invalid discountShare");
Tier memory tier = tiers[_tierId];
tier.totalRebate = _totalRebate;
tier.discountShare = _discountShare;
tiers[_tierId] = tier;
emit SetTier(_tierId, _totalRebate, _discountShare);
}
function setReferrerTier(address _referrer, uint256 _tierId) external override onlyGov {
referrerTiers[_referrer] = _tierId;
emit SetReferrerTier(_referrer, _tierId);
}
function setReferrerDiscountShare(uint256 _discountShare) external {
require(_discountShare <= BASIS_POINTS, "ReferralStorage: invalid discountShare");
referrerDiscountShares[msg.sender] = _discountShare;
emit SetReferrerDiscountShare(msg.sender, _discountShare);
}
function setTraderReferralCode(address _account, bytes32 _code) external override onlyHandler {
_setTraderReferralCode(_account, _code);
}
function setTraderReferralCodeByUser(bytes32 _code) external {
_setTraderReferralCode(msg.sender, _code);
}
function registerCode(bytes32 _code) external {
require(_code != bytes32(0), "ReferralStorage: invalid _code");
require(codeOwners[_code] == address(0), "ReferralStorage: code already exists");
codeOwners[_code] = msg.sender;
emit RegisterCode(msg.sender, _code);
}
function setCodeOwner(bytes32 _code, address _newAccount) external {
require(_code != bytes32(0), "ReferralStorage: invalid _code");
address account = codeOwners[_code];
require(msg.sender == account, "ReferralStorage: forbidden");
codeOwners[_code] = _newAccount;
emit SetCodeOwner(msg.sender, _newAccount, _code);
}
function govSetCodeOwner(bytes32 _code, address _newAccount) external override onlyGov {
require(_code != bytes32(0), "ReferralStorage: invalid _code");
codeOwners[_code] = _newAccount;
emit GovSetCodeOwner(_code, _newAccount);
}
function getTraderReferralInfo(address _account) external view override returns (bytes32, address) {
bytes32 code = traderReferralCodes[_account];
address referrer;
if (code != bytes32(0)) {
referrer = codeOwners[code];
}
return (code, referrer);
}
function _setTraderReferralCode(address _account, bytes32 _code) private {
traderReferralCodes[_account] = _code;
emit SetTraderReferralCode(_account, _code);
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
contract Governable {
address public gov;
constructor() public {
gov = msg.sender;
}
modifier onlyGov() {
require(msg.sender == gov, "Governable: forbidden");
_;
}
function setGov(address _gov) external onlyGov {
gov = _gov;
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
*
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
*
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts with custom message when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
interface ITimelock {
function setAdmin(address _admin) external;
function enableLeverage(address _vault) external;
function disableLeverage(address _vault) external;
function setIsLeverageEnabled(address _vault, bool _isLeverageEnabled) external;
function signalSetGov(address _target, address _gov) external;
}// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;
interface IReferralStorage {
function codeOwners(bytes32 _code) external view returns (address);
function getTraderReferralInfo(address _account) external view returns (bytes32, address);
function setTraderReferralCode(address _account, bytes32 _code) external;
function setTier(
uint256 _tierId,
uint256 _totalRebate,
uint256 _discountShare
) external;
function setReferrerTier(address _referrer, uint256 _tierId) external;
function govSetCodeOwner(bytes32 _code, address _newAccount) external;
}{
"optimizer": {
"enabled": true,
"runs": 50
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"code","type":"bytes32"},{"indexed":false,"internalType":"address","name":"newAccount","type":"address"}],"name":"GovSetCodeOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"code","type":"bytes32"}],"name":"RegisterCode","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"address","name":"newAccount","type":"address"},{"indexed":false,"internalType":"bytes32","name":"code","type":"bytes32"}],"name":"SetCodeOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"handler","type":"address"},{"indexed":false,"internalType":"bool","name":"isActive","type":"bool"}],"name":"SetHandler","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"discountShare","type":"uint256"}],"name":"SetReferrerDiscountShare","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"tierId","type":"uint256"}],"name":"SetReferrerTier","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tierId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalRebate","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"discountShare","type":"uint256"}],"name":"SetTier","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bytes32","name":"code","type":"bytes32"}],"name":"SetTraderReferralCode","type":"event"},{"inputs":[],"name":"BASIS_POINTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"codeOwners","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getTraderReferralInfo","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_code","type":"bytes32"},{"internalType":"address","name":"_newAccount","type":"address"}],"name":"govSetCodeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isHandler","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referrerDiscountShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referrerTiers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_code","type":"bytes32"}],"name":"registerCode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_code","type":"bytes32"},{"internalType":"address","name":"_newAccount","type":"address"}],"name":"setCodeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gov","type":"address"}],"name":"setGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_handler","type":"address"},{"internalType":"bool","name":"_isActive","type":"bool"}],"name":"setHandler","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_discountShare","type":"uint256"}],"name":"setReferrerDiscountShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_referrer","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"name":"setReferrerTier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"uint256","name":"_totalRebate","type":"uint256"},{"internalType":"uint256","name":"_discountShare","type":"uint256"}],"name":"setTier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bytes32","name":"_code","type":"bytes32"}],"name":"setTraderReferralCode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_code","type":"bytes32"}],"name":"setTraderReferralCodeByUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tiers","outputs":[{"internalType":"uint256","name":"totalRebate","type":"uint256"},{"internalType":"uint256","name":"discountShare","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"traderReferralCodes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610d69806100326000396000f3fe608060405234801561001057600080fd5b50600436106101015760003560e01c8063836a01871161009d578063836a0187146102b657806385725b58146102df5780639c8e2de9146103055780639cb7de4b14610322578063c8b3c46014610350578063cfad57a21461036d578063dfcfa25014610393578063e1e01bf3146103bf578063e1f1c4a7146103dc578063ed843134146103e457610101565b8063039af9eb1461010657806312d43a511461013c5780631582a0181461016057806336def2c8146101985780633fb8b323146101b757806346ea87af146101e3578063534ef8831461021d57806356b4b2ad1461026457806371a6a79014610290575b600080fd5b6101236004803603602081101561011c57600080fd5b5035610410565b6040805192835260208301919091528051918290030190f35b610144610429565b604080516001600160a01b039092168252519081900360200190f35b6101866004803603602081101561017657600080fd5b50356001600160a01b0316610438565b60408051918252519081900360200190f35b6101b5600480360360208110156101ae57600080fd5b503561044a565b005b6101b5600480360360408110156101cd57600080fd5b506001600160a01b03813516906020013561053e565b610209600480360360208110156101f957600080fd5b50356001600160a01b03166105e4565b604080519115158252519081900360200190f35b6102436004803603602081101561023357600080fd5b50356001600160a01b03166105f9565b604080519283526001600160a01b0390911660208301528051918290030190f35b6101b56004803603604081101561027a57600080fd5b506001600160a01b03813516906020013561063f565b610186600480360360208110156102a657600080fd5b50356001600160a01b03166106ae565b6101b5600480360360608110156102cc57600080fd5b50803590602081013590604001356106c0565b610186600480360360208110156102f557600080fd5b50356001600160a01b0316610815565b6101b56004803603602081101561031b57600080fd5b5035610827565b6101b56004803603604081101561033857600080fd5b506001600160a01b03813516906020013515156108b7565b6101446004803603602081101561036657600080fd5b5035610968565b6101b56004803603602081101561038357600080fd5b50356001600160a01b0316610983565b6101b5600480360360408110156103a957600080fd5b50803590602001356001600160a01b03166109f2565b6101b5600480360360208110156103d557600080fd5b5035610ae7565b610186610af4565b6101b5600480360360408110156103fa57600080fd5b50803590602001356001600160a01b0316610afa565b6003602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60026020526000908152604090205481565b8061048a576040805162461bcd60e51b815260206004820152601e6024820152600080516020610cca833981519152604482015290519081900360640190fd5b6000818152600560205260409020546001600160a01b0316156104de5760405162461bcd60e51b8152600401808060200182810382526024815260200180610cea6024913960400191505060405180910390fd5b60008181526005602090815260409182902080546001600160a01b03191633908117909155825190815290810183905281517f04f82286a2a3b2ee5c8555de8304dfe2ea70991613213184b73a9e408d2d8029929181900390910190a150565b6000546001600160a01b0316331461058b576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b6001600160a01b0382166000818152600260209081526040918290208490558151928352820183905280517f7696855cdbb94bb5a44cb0a95caff6f29173aa1cbfba193834b12b90827ce2bc9281900390910190a15050565b60046020526000908152604090205460ff1681565b6001600160a01b038116600090815260066020526040812054819081811561063557506000818152600560205260409020546001600160a01b03165b9092509050915091565b3360009081526004602052604090205460ff166106a0576040805162461bcd60e51b815260206004820152601a6024820152792932b332b93930b629ba37b930b3b29d103337b93134b23232b760311b604482015290519081900360640190fd5b6106aa8282610c12565b5050565b60016020526000908152604090205481565b6000546001600160a01b0316331461070d576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b61271082111561074e5760405162461bcd60e51b8152600401808060200182810382526024815260200180610ca66024913960400191505060405180910390fd5b61271081111561078f5760405162461bcd60e51b8152600401808060200182810382526026815260200180610d0e6026913960400191505060405180910390fd5b610797610c6b565b50600083815260036020818152604080842081518083018352878152808401878152958990529383528351815593516001909401939093558251868152908101859052808301849052915190917f4ebd23a492b2bd79586cb57cae40d7793408265f20320f68b478b971e696f4c7919081900360600190a150505050565b60066020526000908152604090205481565b6127108111156108685760405162461bcd60e51b8152600401808060200182810382526026815260200180610d0e6026913960400191505060405180910390fd5b336000818152600160209081526040918290208490558151928352820183905280517fbd224f3917462b0fa80805fe3ec29be3a37f664955aad6224e5ece036224c4299281900390910190a150565b6000546001600160a01b03163314610904576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915582519384529083015280517fd373464a39404e5f98fdb4b152b8ba9a094561e97e5c4b4ea11eb18cd9e6695e9281900390910190a15050565b6005602052600090815260409020546001600160a01b031681565b6000546001600160a01b031633146109d0576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a3f576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b81610a7f576040805162461bcd60e51b815260206004820152601e6024820152600080516020610cca833981519152604482015290519081900360640190fd5b60008281526005602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518581529182015281517f6431f88c655dd0e2b8d09b6405c007c515c66d67f2998e69c902873a8c8f3e97929181900390910190a15050565b610af13382610c12565b50565b61271081565b81610b3a576040805162461bcd60e51b815260206004820152601e6024820152600080516020610cca833981519152604482015290519081900360640190fd5b6000828152600560205260409020546001600160a01b0316338114610ba3576040805162461bcd60e51b815260206004820152601a6024820152792932b332b93930b629ba37b930b3b29d103337b93134b23232b760311b604482015290519081900360640190fd5b60008381526005602090815260409182902080546001600160a01b0386166001600160a01b0319909116811790915582513381529182015280820185905290517f5640856798d41ce9ca0a109b54c20a06eb99ba9c36ab4547115dafb8473cf3979181900360600190a1505050565b6001600160a01b0382166000818152600660209081526040918290208490558151928352820183905280517f43825f14567dda057e821be2e51a5aa79aa51f3907a647e3ed2bd486a01050f19281900390910190a15050565b60405180604001604052806000815260200160008152509056fe476f7665726e61626c653a20666f7262696464656e0000000000000000000000526566657272616c53746f726167653a20696e76616c696420746f74616c526562617465526566657272616c53746f726167653a20696e76616c6964205f636f64650000526566657272616c53746f726167653a20636f646520616c726561647920657869737473526566657272616c53746f726167653a20696e76616c696420646973636f756e745368617265a26469706673582212209cf076646bc5c5ae24f9c72a54e9cfe0895fd86c5265e7a2db3881551403959664736f6c634300060c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101015760003560e01c8063836a01871161009d578063836a0187146102b657806385725b58146102df5780639c8e2de9146103055780639cb7de4b14610322578063c8b3c46014610350578063cfad57a21461036d578063dfcfa25014610393578063e1e01bf3146103bf578063e1f1c4a7146103dc578063ed843134146103e457610101565b8063039af9eb1461010657806312d43a511461013c5780631582a0181461016057806336def2c8146101985780633fb8b323146101b757806346ea87af146101e3578063534ef8831461021d57806356b4b2ad1461026457806371a6a79014610290575b600080fd5b6101236004803603602081101561011c57600080fd5b5035610410565b6040805192835260208301919091528051918290030190f35b610144610429565b604080516001600160a01b039092168252519081900360200190f35b6101866004803603602081101561017657600080fd5b50356001600160a01b0316610438565b60408051918252519081900360200190f35b6101b5600480360360208110156101ae57600080fd5b503561044a565b005b6101b5600480360360408110156101cd57600080fd5b506001600160a01b03813516906020013561053e565b610209600480360360208110156101f957600080fd5b50356001600160a01b03166105e4565b604080519115158252519081900360200190f35b6102436004803603602081101561023357600080fd5b50356001600160a01b03166105f9565b604080519283526001600160a01b0390911660208301528051918290030190f35b6101b56004803603604081101561027a57600080fd5b506001600160a01b03813516906020013561063f565b610186600480360360208110156102a657600080fd5b50356001600160a01b03166106ae565b6101b5600480360360608110156102cc57600080fd5b50803590602081013590604001356106c0565b610186600480360360208110156102f557600080fd5b50356001600160a01b0316610815565b6101b56004803603602081101561031b57600080fd5b5035610827565b6101b56004803603604081101561033857600080fd5b506001600160a01b03813516906020013515156108b7565b6101446004803603602081101561036657600080fd5b5035610968565b6101b56004803603602081101561038357600080fd5b50356001600160a01b0316610983565b6101b5600480360360408110156103a957600080fd5b50803590602001356001600160a01b03166109f2565b6101b5600480360360208110156103d557600080fd5b5035610ae7565b610186610af4565b6101b5600480360360408110156103fa57600080fd5b50803590602001356001600160a01b0316610afa565b6003602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60026020526000908152604090205481565b8061048a576040805162461bcd60e51b815260206004820152601e6024820152600080516020610cca833981519152604482015290519081900360640190fd5b6000818152600560205260409020546001600160a01b0316156104de5760405162461bcd60e51b8152600401808060200182810382526024815260200180610cea6024913960400191505060405180910390fd5b60008181526005602090815260409182902080546001600160a01b03191633908117909155825190815290810183905281517f04f82286a2a3b2ee5c8555de8304dfe2ea70991613213184b73a9e408d2d8029929181900390910190a150565b6000546001600160a01b0316331461058b576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b6001600160a01b0382166000818152600260209081526040918290208490558151928352820183905280517f7696855cdbb94bb5a44cb0a95caff6f29173aa1cbfba193834b12b90827ce2bc9281900390910190a15050565b60046020526000908152604090205460ff1681565b6001600160a01b038116600090815260066020526040812054819081811561063557506000818152600560205260409020546001600160a01b03165b9092509050915091565b3360009081526004602052604090205460ff166106a0576040805162461bcd60e51b815260206004820152601a6024820152792932b332b93930b629ba37b930b3b29d103337b93134b23232b760311b604482015290519081900360640190fd5b6106aa8282610c12565b5050565b60016020526000908152604090205481565b6000546001600160a01b0316331461070d576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b61271082111561074e5760405162461bcd60e51b8152600401808060200182810382526024815260200180610ca66024913960400191505060405180910390fd5b61271081111561078f5760405162461bcd60e51b8152600401808060200182810382526026815260200180610d0e6026913960400191505060405180910390fd5b610797610c6b565b50600083815260036020818152604080842081518083018352878152808401878152958990529383528351815593516001909401939093558251868152908101859052808301849052915190917f4ebd23a492b2bd79586cb57cae40d7793408265f20320f68b478b971e696f4c7919081900360600190a150505050565b60066020526000908152604090205481565b6127108111156108685760405162461bcd60e51b8152600401808060200182810382526026815260200180610d0e6026913960400191505060405180910390fd5b336000818152600160209081526040918290208490558151928352820183905280517fbd224f3917462b0fa80805fe3ec29be3a37f664955aad6224e5ece036224c4299281900390910190a150565b6000546001600160a01b03163314610904576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915582519384529083015280517fd373464a39404e5f98fdb4b152b8ba9a094561e97e5c4b4ea11eb18cd9e6695e9281900390910190a15050565b6005602052600090815260409020546001600160a01b031681565b6000546001600160a01b031633146109d0576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a3f576040805162461bcd60e51b81526020600482015260156024820152600080516020610c86833981519152604482015290519081900360640190fd5b81610a7f576040805162461bcd60e51b815260206004820152601e6024820152600080516020610cca833981519152604482015290519081900360640190fd5b60008281526005602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518581529182015281517f6431f88c655dd0e2b8d09b6405c007c515c66d67f2998e69c902873a8c8f3e97929181900390910190a15050565b610af13382610c12565b50565b61271081565b81610b3a576040805162461bcd60e51b815260206004820152601e6024820152600080516020610cca833981519152604482015290519081900360640190fd5b6000828152600560205260409020546001600160a01b0316338114610ba3576040805162461bcd60e51b815260206004820152601a6024820152792932b332b93930b629ba37b930b3b29d103337b93134b23232b760311b604482015290519081900360640190fd5b60008381526005602090815260409182902080546001600160a01b0386166001600160a01b0319909116811790915582513381529182015280820185905290517f5640856798d41ce9ca0a109b54c20a06eb99ba9c36ab4547115dafb8473cf3979181900360600190a1505050565b6001600160a01b0382166000818152600660209081526040918290208490558151928352820183905280517f43825f14567dda057e821be2e51a5aa79aa51f3907a647e3ed2bd486a01050f19281900390910190a15050565b60405180604001604052806000815260200160008152509056fe476f7665726e61626c653a20666f7262696464656e0000000000000000000000526566657272616c53746f726167653a20696e76616c696420746f74616c526562617465526566657272616c53746f726167653a20696e76616c6964205f636f64650000526566657272616c53746f726167653a20636f646520616c726561647920657869737473526566657272616c53746f726167653a20696e76616c696420646973636f756e745368617265a26469706673582212209cf076646bc5c5ae24f9c72a54e9cfe0895fd86c5265e7a2db3881551403959664736f6c634300060c0033
Net Worth in USD
Net Worth in ETH
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.