Overview
Max Total Supply
0 Swipe Staking Proxy
Holders
0
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
StakingProxy
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity Multiple files format)
pragma solidity ^0.5.0;
import "./SwipeRegistry.sol";
import "./StakingEvent.sol";
/// @title Upgradeable Registry Contract
/// @author growlot (@growlot)
contract StakingProxy is SwipeRegistry, StakingEvent {
/// @notice Contract constructor
/// @dev Calls SwipeRegistry contract constructor
constructor() public SwipeRegistry("Swipe Staking Proxy") {}
}
pragma solidity ^0.5.0;
/// @title Named Contract
/// @author growlot (@growlot)
contract NamedContract {
/// @notice The name of contract, which can be set once
string public name;
/// @notice Sets contract name.
function setContractName(string memory newName) internal {
name = newName;
}
}
pragma solidity ^0.5.0;
/// @title Ownable Contract
/// @author growlot (@growlot)
contract Ownable {
/// @notice Storage position of the owner address
/// @dev The address of the current owner is stored in a
/// constant pseudorandom slot of the contract storage
/// (slot number obtained as a result of hashing a certain message),
/// the probability of rewriting which is almost zero
bytes32 private constant _ownerPosition = keccak256("owner");
/// @notice Storage position of the authorized new owner address
bytes32 private constant _authorizedNewOwnerPosition = keccak256("authorizedNewOwner");
/// @notice Contract constructor
/// @dev Sets msg sender address as owner address
constructor() public {
bytes32 ownerPosition = _ownerPosition;
address owner = msg.sender;
assembly {
sstore(ownerPosition, owner)
}
}
/// @notice Check that requires msg.sender to be the current owner
function requireOwner() internal view {
require(
msg.sender == getOwner(),
"Sender must be owner"
);
}
/// @notice Returns contract owner address
function getOwner() public view returns (address owner) {
bytes32 ownerPosition = _ownerPosition;
assembly {
owner := sload(ownerPosition)
}
}
/// @notice Returns authorized new owner address
function getAuthorizedNewOwner() public view returns (address newOwner) {
bytes32 authorizedNewOwnerPosition = _authorizedNewOwnerPosition;
assembly {
newOwner := sload(authorizedNewOwnerPosition)
}
}
/**
* @notice Authorizes the transfer of ownership to the provided address.
* NOTE: No transfer will occur unless authorizedAddress calls assumeOwnership( ).
* This authorization may be removed by another call to this function authorizing
* the null address.
*
* @param authorizedAddress The address authorized to become the new owner.
*/
function authorizeOwnershipTransfer(address authorizedAddress) external {
requireOwner();
bytes32 authorizedNewOwnerPosition = _authorizedNewOwnerPosition;
assembly {
sstore(authorizedNewOwnerPosition, authorizedAddress)
}
}
/**
* @notice Transfers ownership of this contract to the authorizedNewOwner.
*/
function assumeOwnership() external {
bytes32 authorizedNewOwnerPosition = _authorizedNewOwnerPosition;
address newOwner;
assembly {
newOwner := sload(authorizedNewOwnerPosition)
}
require(
msg.sender == newOwner,
"Only the authorized new owner can accept ownership"
);
bytes32 ownerPosition = _ownerPosition;
address zero = address(0);
assembly {
sstore(ownerPosition, newOwner)
sstore(authorizedNewOwnerPosition, zero)
}
}
}
pragma solidity ^0.5.0;
/// @title Staking Event Contract
/// @author growlot (@growlot)
contract StakingEvent {
event Initialize(
address indexed owner,
address indexed sxp,
address indexed rewardProvider,
uint256 minimumStakeAmount,
uint256 rewardCycle,
uint256 rewardAmount,
uint256 rewardCycleTimestamp
);
event Stake(
address indexed staker,
uint256 indexed amount
);
event Claim(
address indexed toAddress,
uint256 indexed amount,
uint256 indexed nonce
);
event Withdraw(
address indexed toAddress,
uint256 indexed amount
);
event GuardianshipTransferAuthorization(
address indexed authorizedAddress
);
event GuardianUpdate(
address indexed oldValue,
address indexed newValue
);
event MinimumStakeAmountUpdate(
uint256 indexed oldValue,
uint256 indexed newValue
);
event RewardProviderUpdate(
address indexed oldValue,
address indexed newValue
);
event RewardPolicyUpdate(
uint256 oldCycle,
uint256 oldAmount,
uint256 indexed newCycle,
uint256 indexed newAmount,
uint256 indexed newTimeStamp
);
event DepositRewardPool(
address indexed depositor,
uint256 indexed amount
);
event WithdrawRewardPool(
address indexed toAddress,
uint256 indexed amount
);
event ApproveClaim(
address indexed toAddress,
uint256 indexed amount,
uint256 indexed nonce
);
}
pragma solidity ^0.5.0;
import "./NamedContract.sol";
import "./Upgradeable.sol";
/// @title Upgradeable Registry Contract
/// @author growlot (@growlot)
contract SwipeRegistry is NamedContract, Upgradeable {
/// @notice Contract constructor
/// @dev Calls Upgradable contract constructor and sets contract name
constructor(string memory contractName) public Upgradeable() {
setContractName(contractName);
}
/// @notice Performs a delegatecall to the implementation contract.
/// @dev Fallback function allows to perform a delegatecall to the given implementation.
/// This function will return whatever the implementation call returns.
function() external payable {
require(msg.data.length > 0, "Calldata must not be empty");
address _impl = getImplementation();
assembly {
// The pointer to the free memory slot
let ptr := mload(0x40)
// Copy function signature and arguments from calldata at zero position into memory at pointer position
calldatacopy(ptr, 0x0, calldatasize)
// Delegatecall method of the implementation contract, returns 0 on error
let result := delegatecall(gas, _impl, ptr, calldatasize, 0x0, 0)
// Get the size of the last return data
let size := returndatasize
// Copy the size length of bytes from return data at zero position to pointer position
returndatacopy(ptr, 0x0, size)
// Depending on result value
switch result
case 0 {
// End execution and revert state changes
revert(ptr, size)
}
default {
// Return data with length of size at pointers position
return(ptr, size)
}
}
}
}
pragma solidity ^0.5.0;
import "./Ownable.sol";
/// @title Upgradeable contract
/// @author growlot (@growlot)
contract Upgradeable is Ownable {
/// @notice Storage position of the current implementation address.
/// @dev The address of the current implementation is stored in a
/// constant pseudorandom slot of the contract proxy contract storage
/// (slot number obtained as a result of hashing a certain message),
/// the probability of rewriting which is almost zero
bytes32 private constant implementationPosition = keccak256(
"implementation"
);
/// @notice Contract constructor
/// @dev Calls Ownable contract constructor
constructor() public Ownable() {}
/// @notice Returns the current implementation contract address
function getImplementation() public view returns (address implementation) {
bytes32 position = implementationPosition;
assembly {
implementation := sload(position)
}
}
/// @notice Sets new implementation contract address as current
/// @param _newImplementation New implementation contract address
function setImplementation(address _newImplementation) public {
requireOwner();
require(_newImplementation != address(0), "New implementation must have non-zero address");
address currentImplementation = getImplementation();
require(currentImplementation != _newImplementation, "New implementation must have new address");
bytes32 position = implementationPosition;
assembly {
sstore(position, _newImplementation)
}
}
/// @notice Sets new implementation contract address and call its initializer.
/// @dev New implementation call is a low level delegatecall.
/// @param _newImplementation the new implementation address.
/// @param _newImplementaionCallData represents the msg.data to bet sent through the low level delegatecall.
/// This parameter may include the initializer function signature with the needed payload.
function setImplementationAndCall(
address _newImplementation,
bytes calldata _newImplementaionCallData
) external payable {
setImplementation(_newImplementation);
if (_newImplementaionCallData.length > 0) {
(bool success, ) = address(this).call.value(msg.value)(
_newImplementaionCallData
);
require(success, "Delegatecall has failed");
}
}
}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"ApproveClaim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DepositRewardPool","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldValue","type":"address"},{"indexed":true,"internalType":"address","name":"newValue","type":"address"}],"name":"GuardianUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authorizedAddress","type":"address"}],"name":"GuardianshipTransferAuthorization","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"sxp","type":"address"},{"indexed":true,"internalType":"address","name":"rewardProvider","type":"address"},{"indexed":false,"internalType":"uint256","name":"minimumStakeAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardCycle","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rewardCycleTimestamp","type":"uint256"}],"name":"Initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"MinimumStakeAmountUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldCycle","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"oldAmount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newCycle","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newAmount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newTimeStamp","type":"uint256"}],"name":"RewardPolicyUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldValue","type":"address"},{"indexed":true,"internalType":"address","name":"newValue","type":"address"}],"name":"RewardProviderUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"staker","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawRewardPool","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"assumeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"authorizedAddress","type":"address"}],"name":"authorizeOwnershipTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAuthorizedNewOwner","outputs":[{"internalType":"address","name":"newOwner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"implementation","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"setImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"},{"internalType":"bytes","name":"_newImplementaionCallData","type":"bytes"}],"name":"setImplementationAndCall","outputs":[],"payable":true,"stateMutability":"payable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506040518060400160405280601381526020017f5377697065205374616b696e672050726f787900000000000000000000000000815250600060405180807f6f776e65720000000000000000000000000000000000000000000000000000008152506005019050604051809103902090506000339050808255505061009a816100a060201b60201c565b5061015f565b80600090805190602001906100b69291906100ba565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100fb57805160ff1916838001178555610129565b82800160010185558215610129579182015b8281111561012857825182559160200191906001019061010d565b5b509050610136919061013a565b5090565b61015c91905b80821115610158576000816000905550600101610140565b5090565b90565b610a9a8061016e6000396000f3fe60806040526004361061007b5760003560e01c8063a2c1cae21161004e578063a2c1cae2146102b6578063aaf10f42146102cd578063d784d42614610324578063e9c8588d146103755761007b565b806306fdde031461012757806331d062c3146101b757806387f4427e1461020e578063893d20e81461025f575b600080369050116100f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f43616c6c64617461206d757374206e6f7420626520656d70747900000000000081525060200191505060405180910390fd5b60006100fe61040e565b905060405136600082376000803683855af43d806000843e8160008114610123578184f35b8184fd5b34801561013357600080fd5b5061013c610451565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017c578082015181840152602081019050610161565b50505050905090810190601f1680156101a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c357600080fd5b506101cc6104ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021a57600080fd5b5061025d6004803603602081101561023157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610532565b005b34801561026b57600080fd5b5061027461057b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102c257600080fd5b506102cb6105be565b005b3480156102d957600080fd5b506102e261040e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033057600080fd5b506103736004803603602081101561034757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106cd565b005b61040c6004803603604081101561038b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460018302840111640100000000831117156103fc57600080fd5b909192939192939050505061082e565b005b60008060405180807f696d706c656d656e746174696f6e000000000000000000000000000000000000815250600e01905060405180910390209050805491505090565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b505050505081565b60008060405180807f617574686f72697a65644e65774f776e65720000000000000000000000000000815250601201905060405180910390209050805491505090565b61053a610934565b600060405180807f617574686f72697a65644e65774f776e657200000000000000000000000000008152506012019050604051809103902090508181555050565b60008060405180807f6f776e6572000000000000000000000000000000000000000000000000000000815250600501905060405180910390209050805491505090565b600060405180807f617574686f72697a65644e65774f776e657200000000000000000000000000008152506012019050604051809103902090506000815490508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610682576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806109df6032913960400191505060405180910390fd5b600060405180807f6f776e6572000000000000000000000000000000000000000000000000000000815250600501905060405180910390209050600080905082825580845550505050565b6106d5610934565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561075b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610a11602d913960400191505060405180910390fd5b600061076561040e565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610a3e6028913960400191505060405180910390fd5b600060405180807f696d706c656d656e746174696f6e000000000000000000000000000000000000815250600e01905060405180910390209050828155505050565b610837836106cd565b600082829050111561092f5760003073ffffffffffffffffffffffffffffffffffffffff1634848460405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146108b1576040519150601f19603f3d011682016040523d82523d6000602084013e6108b6565b606091505b505090508061092d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f44656c656761746563616c6c20686173206661696c656400000000000000000081525060200191505060405180910390fd5b505b505050565b61093c61057b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f53656e646572206d757374206265206f776e657200000000000000000000000081525060200191505060405180910390fd5b56fe4f6e6c792074686520617574686f72697a6564206e6577206f776e65722063616e20616363657074206f776e6572736869704e657720696d706c656d656e746174696f6e206d7573742068617665206e6f6e2d7a65726f20616464726573734e657720696d706c656d656e746174696f6e206d7573742068617665206e65772061646472657373a265627a7a723158208cd4c435043dca2699a32a9ca29176e46c1427fc84bc171cd62b6124c602f3c864736f6c63430005110032
Deployed Bytecode
0x60806040526004361061007b5760003560e01c8063a2c1cae21161004e578063a2c1cae2146102b6578063aaf10f42146102cd578063d784d42614610324578063e9c8588d146103755761007b565b806306fdde031461012757806331d062c3146101b757806387f4427e1461020e578063893d20e81461025f575b600080369050116100f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f43616c6c64617461206d757374206e6f7420626520656d70747900000000000081525060200191505060405180910390fd5b60006100fe61040e565b905060405136600082376000803683855af43d806000843e8160008114610123578184f35b8184fd5b34801561013357600080fd5b5061013c610451565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017c578082015181840152602081019050610161565b50505050905090810190601f1680156101a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c357600080fd5b506101cc6104ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021a57600080fd5b5061025d6004803603602081101561023157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610532565b005b34801561026b57600080fd5b5061027461057b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102c257600080fd5b506102cb6105be565b005b3480156102d957600080fd5b506102e261040e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033057600080fd5b506103736004803603602081101561034757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106cd565b005b61040c6004803603604081101561038b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156103c857600080fd5b8201836020820111156103da57600080fd5b803590602001918460018302840111640100000000831117156103fc57600080fd5b909192939192939050505061082e565b005b60008060405180807f696d706c656d656e746174696f6e000000000000000000000000000000000000815250600e01905060405180910390209050805491505090565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b505050505081565b60008060405180807f617574686f72697a65644e65774f776e65720000000000000000000000000000815250601201905060405180910390209050805491505090565b61053a610934565b600060405180807f617574686f72697a65644e65774f776e657200000000000000000000000000008152506012019050604051809103902090508181555050565b60008060405180807f6f776e6572000000000000000000000000000000000000000000000000000000815250600501905060405180910390209050805491505090565b600060405180807f617574686f72697a65644e65774f776e657200000000000000000000000000008152506012019050604051809103902090506000815490508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610682576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806109df6032913960400191505060405180910390fd5b600060405180807f6f776e6572000000000000000000000000000000000000000000000000000000815250600501905060405180910390209050600080905082825580845550505050565b6106d5610934565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561075b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180610a11602d913960400191505060405180910390fd5b600061076561040e565b90508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610a3e6028913960400191505060405180910390fd5b600060405180807f696d706c656d656e746174696f6e000000000000000000000000000000000000815250600e01905060405180910390209050828155505050565b610837836106cd565b600082829050111561092f5760003073ffffffffffffffffffffffffffffffffffffffff1634848460405180838380828437808301925050509250505060006040518083038185875af1925050503d80600081146108b1576040519150601f19603f3d011682016040523d82523d6000602084013e6108b6565b606091505b505090508061092d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f44656c656761746563616c6c20686173206661696c656400000000000000000081525060200191505060405180910390fd5b505b505050565b61093c61057b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f53656e646572206d757374206265206f776e657200000000000000000000000081525060200191505060405180910390fd5b56fe4f6e6c792074686520617574686f72697a6564206e6577206f776e65722063616e20616363657074206f776e6572736869704e657720696d706c656d656e746174696f6e206d7573742068617665206e6f6e2d7a65726f20616464726573734e657720696d706c656d656e746174696f6e206d7573742068617665206e65772061646472657373a265627a7a723158208cd4c435043dca2699a32a9ca29176e46c1427fc84bc171cd62b6124c602f3c864736f6c63430005110032
Deployed Bytecode Sourcemap
157:212:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;748:1:4;730:8;;:15;;:19;722:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;790:13;806:19;:17;:19::i;:::-;790:35;;926:4;920:11;1083:12;1078:3;1073;1060:36;1258:1;1253:3;1239:12;1234:3;1227:5;1222:3;1209:51;1337:14;1488:4;1483:3;1478;1463:30;1554:6;1582:1;1577:126;;;;1838:4;1833:3;1826:17;1577:126;1680:4;1675:3;1668:17;171:18:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;171:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;171:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:240:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1432:240:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2056:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2056:272:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2056:272:1;;;;;;;;;;;;;;;;;;;:::i;:::-;;1191:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1191:182:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2433:580;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2433:580:1;;;:::i;:::-;;789:207:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;789:207:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1140:489;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1140:489:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1140:489:5;;;;;;;;;;;;;;;;;;;:::i;:::-;;2058:441;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2058:441:5;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2058:441:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2058:441:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2058:441:5;;;;;;;;;;;;:::i;:::-;;789:207;839:22;873:16;549:41;;;;;;;;;;;;;;;;;;;873;;971:8;965:15;947:33;;933:57;;:::o;171:18:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1432:240:1:-;1486:16;1514:34;604:31;;;;;;;;;;;;;;;;;;;1514:64;;1629:26;1623:33;1611:45;;1597:69;;:::o;2056:272::-;2138:14;:12;:14::i;:::-;2162:34;604:31;;;;;;;;;;;;;;;;;;;2162:64;;2294:17;2266:26;2259:53;2245:77;;:::o;1191:182::-;1232:13;1257:21;455:18;;;;;;;;;;;;;;;;;;;1257:38;;1343:13;1337:20;1328:29;;1314:53;;:::o;2433:580::-;2479:34;604:31;;;;;;;;;;;;;;;;;;;2479:64;;2553:16;2621:26;2615:33;2603:45;;2703:8;2689:22;;:10;:22;;;2668:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2806:21;455:18;;;;;;;;;;;;;;;;;;;2806:38;;2854:12;2877:1;2854:25;;2935:8;2920:13;2913:31;2992:4;2964:26;2957:40;2899:108;;;;:::o;1140:489:5:-;1212:14;:12;:14::i;:::-;1274:1;1244:32;;:18;:32;;;;1236:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1336:29;1368:19;:17;:19::i;:::-;1336:51;;1430:18;1405:43;;:21;:43;;;;1397:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1503:16;549:41;;;;;;;;;;;;;;;;;;;1503;;1594:18;1584:8;1577:36;1563:60;;;:::o;2058:441::-;2211:37;2229:18;2211:17;:37::i;:::-;2297:1;2262:25;;:32;;:36;2258:235;;;2315:12;2341:4;2333:18;;2358:9;2386:25;;2333:92;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;2333:92:5;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2314:111:5;;;2447:7;2439:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2258:235;;2058:441;;;:::o;992:146:1:-;1075:10;:8;:10::i;:::-;1061:24;;:10;:24;;;1040:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;992:146::o
Swarm Source
bzzr://8cd4c435043dca2699a32a9ca29176e46c1427fc84bc171cd62b6124c602f3c8
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)