Source Code
Latest 25 from a total of 132 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Get Reward Usdt | 11613049 | 1876 days ago | IN | 0 ETH | 0.00470771 | ||||
| Get Reward Usdt | 11612753 | 1876 days ago | IN | 0 ETH | 0.01598103 | ||||
| Get Reward Usdt | 11612742 | 1876 days ago | IN | 0 ETH | 0.01715959 | ||||
| Get Reward Usdt | 11612737 | 1876 days ago | IN | 0 ETH | 0.02637358 | ||||
| Get Reward Usdt | 11599121 | 1878 days ago | IN | 0 ETH | 0.00604156 | ||||
| Get Reward Usdt | 11599071 | 1878 days ago | IN | 0 ETH | 0.00612935 | ||||
| Get Reward Usdt | 11599057 | 1878 days ago | IN | 0 ETH | 0.00612935 | ||||
| Get Reward Usdt | 11599002 | 1878 days ago | IN | 0 ETH | 0.00839542 | ||||
| Get Reward Usdt | 11598967 | 1878 days ago | IN | 0 ETH | 0.0148275 | ||||
| Get Reward Usdt | 11598869 | 1878 days ago | IN | 0 ETH | 0.01175366 | ||||
| Get Reward Usdt | 11598735 | 1878 days ago | IN | 0 ETH | 0.00950664 | ||||
| Get Reward Usdt | 11598457 | 1878 days ago | IN | 0 ETH | 0.00803464 | ||||
| Get Reward Usdt | 11598456 | 1878 days ago | IN | 0 ETH | 0.00794202 | ||||
| Get Reward Usdt | 11598361 | 1878 days ago | IN | 0 ETH | 0.02332046 | ||||
| Get Reward Usdt | 11598009 | 1878 days ago | IN | 0 ETH | 0.01115592 | ||||
| Get Reward Usdt | 11592301 | 1879 days ago | IN | 0 ETH | 0.00925133 | ||||
| Get Reward Usdt | 11573747 | 1882 days ago | IN | 0 ETH | 0.00282462 | ||||
| Get Reward Usdt | 11551799 | 1885 days ago | IN | 0 ETH | 0.00494345 | ||||
| Get Reward Usdt | 11547632 | 1886 days ago | IN | 0 ETH | 0.00931392 | ||||
| Get Reward Usdt | 11547629 | 1886 days ago | IN | 0 ETH | 0.00790366 | ||||
| Get Reward Usdt | 11547629 | 1886 days ago | IN | 0 ETH | 0.0185161 | ||||
| Get Reward Usdt | 11547625 | 1886 days ago | IN | 0 ETH | 0.00647467 | ||||
| Get Reward Usdt | 11547625 | 1886 days ago | IN | 0 ETH | 0.01213552 | ||||
| Get Reward Usdt | 11545923 | 1886 days ago | IN | 0 ETH | 0.00513358 | ||||
| Get Reward Usdt | 11537203 | 1888 days ago | IN | 0 ETH | 0.00546675 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MsBank
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-11-25
*/
//SPDX-License-Identifier: UNLICENSED
/**
*Submitted for verification at Etherscan.io on 2020-09-05
*/
// File: @openzeppelin/contracts/token/ERC20/IERC20.sol
pragma solidity ^0.6.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external ;
/**
* @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 ;
/**
* @dev Moves `amount` tokens from `sender` to `recipient` 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 sender, address recipient, uint256 amount) external ;
/**
* @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);
}
// File: @openzeppelin/contracts/GSN/Context.sol
pragma solidity ^0.6.0;
/*
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with GSN meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes memory) {
this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
return msg.data;
}
}
// File: @openzeppelin/contracts/math/SafeMath.sol
pragma solidity ^0.6.0;
/**
* @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;
}
}
// File: @openzeppelin/contracts/utils/Address.sol
pragma solidity ^0.6.2;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
* types of addresses:
*
* - an externally-owned account
* - a contract in construction
* - an address where a contract will be created
* - an address where a contract lived, but was destroyed
* ====
*/
function isContract(address account) internal view returns (bool) {
// According to EIP-1052, 0x0 is the value returned for not-yet created accounts
// and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
// for accounts without code, i.e. `keccak256('')`
bytes32 codehash;
bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
// solhint-disable-next-line no-inline-assembly
assembly { codehash := extcodehash(account) }
return (codehash != accountHash && codehash != 0x0);
}
/**
* @dev Replacement for Solidity's `transfer`: sends `amount` wei to
* `recipient`, forwarding all available gas and reverting on errors.
*
* https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
* of certain opcodes, possibly making contracts go over the 2300 gas limit
* imposed by `transfer`, making them unable to receive funds via
* `transfer`. {sendValue} removes this limitation.
*
* https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
*
* IMPORTANT: because control is transferred to `recipient`, care must be
* taken to not create reentrancy vulnerabilities. Consider using
* {ReentrancyGuard} or the
* https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
*/
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-low-level-calls, avoid-call-value
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
/**
* @dev Performs a Solidity function call using a low level `call`. A
* plain`call` is an unsafe replacement for a function call: use this
* function instead.
*
* If `target` reverts with a revert reason, it is bubbled up by this
* function (like regular Solidity function calls).
*
* Returns the raw returned data. To convert to the expected return value,
* use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
*
* Requirements:
*
* - `target` must be a contract.
* - calling `target` with `data` must not revert.
*
* _Available since v3.1._
*/
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
* `errorMessage` as a fallback revert reason when `target` reverts.
*
* _Available since v3.1._
*/
function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
return _functionCallWithValue(target, data, 0, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but also transferring `value` wei to `target`.
*
* Requirements:
*
* - the calling contract must have an ETH balance of at least `value`.
* - the called Solidity function must be `payable`.
*
* _Available since v3.1._
*/
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
/**
* @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
* with `errorMessage` as a fallback revert reason when `target` reverts.
*
* _Available since v3.1._
*/
function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
return _functionCallWithValue(target, data, value, errorMessage);
}
function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
require(isContract(target), "Address: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
if (success) {
return returndata;
} else {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
// solhint-disable-next-line no-inline-assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}
// File: @openzeppelin/contracts/token/ERC20/ERC20.sol
contract MsBank {
using SafeMath for uint256;
address public uniswapRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
address public owner;
address public usdtToken;
address public backAddr = 0xfD91C24ade1E32A62ca00D8b419b55785bF7B4E0;
uint public totalDays = 125 days;
address public msToken;
bool public isAudit;
struct UserData {
uint depositAmount;//
uint depositValue; //usdt
uint lastWithdrawTime;
}
mapping(address => mapping(uint => UserData)) public userData;
mapping(address => uint ) public totalValueUSdt;//个人总USDT
mapping(address => uint ) public totalValueMs;//个人总投入MS
mapping(address => uint) public userDepositId;
mapping(address => uint) public totalWithDraw;
constructor(address _msToken,address _usdtToken) public {
msToken = _msToken;
usdtToken = _usdtToken;
owner = msg.sender;
}
modifier onlyOwner(){
require(owner == msg.sender);
_;
}
function transferOwnerShip(address _owner) public onlyOwner{
owner = _owner;
}
function setBackAddr(address _backAddr) public onlyOwner {
backAddr = _backAddr;
}
function stake(uint256 _amount) public {
IERC20(msToken).transferFrom(msg.sender, backAddr, _amount);
uint id = userDepositId[msg.sender];
uint depositVal = getUsdtPrice(_amount);
UserData storage user = userData[msg.sender][id];
user.depositAmount = _amount;
user.depositValue = depositVal.mul(2);
user.lastWithdrawTime = block.timestamp;
userDepositId[msg.sender] = userDepositId[msg.sender].add(1);
totalValueUSdt[msg.sender] = totalValueUSdt[msg.sender].add(depositVal.mul(2));
totalValueMs[msg.sender] = totalValueMs[msg.sender].add(_amount);
}
function getUsdtPrice(uint _amount) public view returns(uint){
address[] memory path = new address[](2);
path[0] = msToken;
path[1] = usdtToken;
uint[] memory amounts = IUniswapRouter(uniswapRouter).getAmountsOut(_amount ,path);
return amounts[1];
}
function viewRewardUsdt(address _user) public view returns (uint){
uint id = userDepositId[msg.sender];
UserData memory user ;
uint reward;
for(uint i;i<=id;i++){
user = userData[_user][i];
if(user.depositValue > 0){
uint perRewardSec = user.depositValue.div(totalDays);
reward = reward.add((block.timestamp.sub(user.lastWithdrawTime)).mul(perRewardSec));
}
}
return reward;
}
function viewAvailableUsdt(address _user) public view returns(uint){
uint id = userDepositId[msg.sender];
UserData memory user ;
uint totalUsdt;
for(uint k;k<=id;k++){
user = userData[_user][k];
if(user.depositValue > 0){
totalUsdt = totalUsdt.add(user.depositValue);
}
}
return totalUsdt;
}
function getRewardUsdt() public returns(uint){
uint id = userDepositId[msg.sender];
uint reward ;
UserData storage user ;
for(uint j;j<=id ;j++){
user = userData[msg.sender][j];
if(user.depositValue > 0){
uint perRewardSec = user.depositValue.div(totalDays);
uint rewardForId = (block.timestamp.sub(user.lastWithdrawTime)).mul(perRewardSec);
user.depositValue = user.depositValue.sub(rewardForId);
reward = reward.add(rewardForId);
user.lastWithdrawTime = block.timestamp;
}
}
require(reward > 0 && IERC20(usdtToken).balanceOf(address(this)) >= reward);
IERC20(usdtToken).transfer(msg.sender,reward);
totalWithDraw[msg.sender] = totalWithDraw[msg.sender].add(reward);
return reward;
}
//after audit contract is ok,set true;
function setAudit(bool _isAudit) public onlyOwner{
isAudit = _isAudit;
}
//this interface called just before audit contract is ok,if audited ,will be killed
function getTokenAfterAudit(address _user) public onlyOwner {
require(!isAudit);
IERC20(msToken).transfer(_user,IERC20(msToken).balanceOf(address(this)));
IERC20(usdtToken).transfer(_user,IERC20(usdtToken).balanceOf(address(this)));
}
}
interface IUniswapRouter{
function getAmountsOut(uint amountIn, address[] memory path)
external
view
returns (uint[] memory amounts);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_msToken","type":"address"},{"internalType":"address","name":"_usdtToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"backAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardUsdt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getTokenAfterAudit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"getUsdtPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isAudit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msToken","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":"bool","name":"_isAudit","type":"bool"}],"name":"setAudit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_backAddr","type":"address"}],"name":"setBackAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalDays","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalValueMs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalValueUSdt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalWithDraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"transferOwnerShip","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"usdtToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"userData","outputs":[{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"depositValue","type":"uint256"},{"internalType":"uint256","name":"lastWithdrawTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userDepositId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"viewAvailableUsdt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"viewRewardUsdt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
6080604052600080546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556003805490911673fd91c24ade1e32a62ca00d8b419b55785bf7b4e017905562a4cb8060045534801561005f57600080fd5b506040516111413803806111418339818101604052604081101561008257600080fd5b508051602090910151600580546001600160a01b039384166001600160a01b0319918216179091556002805493909216928116929092179055600180549091163317905561106c806100d56000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638863dd1a116100b8578063ccbc0ed21161007c578063ccbc0ed21461031b578063d298a3a814610323578063e1ae6ae614610349578063e390a1b814610351578063fa301a5d1461036d578063fc0a048a1461039357610137565b80638863dd1a146102a25780638da5cb5b146102c85780639015c8ac146102d0578063a694fc3a146102f6578063a98ad46c1461031357610137565b806339966958116100ff57806339966958146101d25780633c05eca1146101f157806354f33d4c1461023b578063690c51b314610258578063735de9f71461027e57610137565b8063078e36491461013c57806308d9b46714610156578063135dc7261461017e5780631cc1137b146101a457806323719686146101ac575b600080fd5b6101446103b9565b60408051918252519081900360200190f35b61017c6004803603602081101561016c57600080fd5b50356001600160a01b03166103bf565b005b6101446004803603602081101561019457600080fd5b50356001600160a01b03166103f8565b61014461040a565b610144600480360360208110156101c257600080fd5b50356001600160a01b03166105eb565b61017c600480360360208110156101e857600080fd5b503515156106b5565b61021d6004803603604081101561020757600080fd5b506001600160a01b0381351690602001356106ea565b60408051938452602084019290925282820152519081900360600190f35b6101446004803603602081101561025157600080fd5b5035610716565b6101446004803603602081101561026e57600080fd5b50356001600160a01b031661090f565b610286610921565b604080516001600160a01b039092168252519081900360200190f35b61017c600480360360208110156102b857600080fd5b50356001600160a01b0316610930565b610286610969565b61017c600480360360208110156102e657600080fd5b50356001600160a01b0316610978565b61017c6004803603602081101561030c57600080fd5b5035610b75565b610286610cc9565b610286610cd8565b6101446004803603602081101561033957600080fd5b50356001600160a01b0316610ce7565b610286610cf9565b610359610d08565b604080519115158252519081900360200190f35b6101446004803603602081101561038357600080fd5b50356001600160a01b0316610d18565b610144600480360360208110156103a957600080fd5b50356001600160a01b0316610d2a565b60045481565b6001546001600160a01b031633146103d657600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600a6020526000908152604090205481565b336000908152600960205260408120548180805b8381116104c05733600090815260066020908152604080832084845290915290206001810154909250156104b85760006104676004548460010154610db890919063ffffffff16565b9050600061048c82610486866002015442610e0390919063ffffffff16565b90610e45565b600185015490915061049e9082610e03565b60018501556104ad8582610e9e565b426002860155945050505b60010161041e565b506000821180156105455750600254604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561051657600080fd5b505afa15801561052a573d6000803e3d6000fd5b505050506040513d602081101561054057600080fd5b505110155b61054e57600080fd5b6002546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb9160448082019260009290919082900301818387803b1580156105a157600080fd5b505af11580156105b5573d6000803e3d6000fd5b5050336000908152600a60205260409020546105d49250905083610e9e565b336000908152600a60205260409020555091505090565b33600090815260096020526040812054610603610ff4565b6000805b8381116106ac576001600160a01b0386166000908152600660209081526040808320848452825291829020825160608101845281548152600182015492810183905260029091015492810192909252909350156106a45760006106796004548560200151610db890919063ffffffff16565b90506106a061069982610486876040015142610e0390919063ffffffff16565b8490610e9e565b9250505b600101610607565b50949350505050565b6001546001600160a01b031633146106cc57600080fd5b60058054911515600160a01b0260ff60a01b19909216919091179055565b600660209081526000928352604080842090915290825290208054600182015460029092015490919083565b6040805160028082526060808301845260009390929190602083019080368337505060055482519293506001600160a01b03169183915060009061075657fe5b6001600160a01b03928316602091820292909201015260025482519116908290600190811061078157fe5b6001600160a01b03928316602091820292909201810191909152600080546040805163d06ca61f60e01b81526004810189815260248201928352875160448301528751606097949094169563d06ca61f958b958a95939460640192868101929102908190849084905b838110156108025781810151838201526020016107ea565b50505050905001935050505060006040518083038186803b15801561082657600080fd5b505afa15801561083a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561086357600080fd5b810190808051604051939291908464010000000082111561088357600080fd5b90830190602082018581111561089857600080fd5b82518660208202830111640100000000821117156108b557600080fd5b82525081516020918201928201910280838360005b838110156108e25781810151838201526020016108ca565b505050509050016040525050509050806001815181106108fe57fe5b602002602001015192505050919050565b60076020526000908152604090205481565b6000546001600160a01b031681565b6001546001600160a01b0316331461094757600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6001546001600160a01b0316331461098f57600080fd5b600554600160a01b900460ff16156109a657600080fd5b600554604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b1580156109fa57600080fd5b505afa158015610a0e573d6000803e3d6000fd5b505050506040513d6020811015610a2457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015610a7457600080fd5b505af1158015610a88573d6000803e3d6000fd5b5050600254604080516370a0823160e01b815230600482015290516001600160a01b03909216935063a9059cbb9250849184916370a08231916024808301926020929190829003018186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d6020811015610b0a57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015610b5a57600080fd5b505af1158015610b6e573d6000803e3d6000fd5b5050505050565b600554600354604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd91606480830192600092919082900301818387803b158015610bd357600080fd5b505af1158015610be7573d6000803e3d6000fd5b50503360009081526009602052604081205492509050610c0683610716565b3360009081526006602090815260408083208684529091529020848155909150610c31826002610e45565b60018083019190915542600283015533600090815260096020526040902054610c5991610e9e565b33600090815260096020526040902055610c8d610c77836002610e45565b3360009081526007602052604090205490610e9e565b33600090815260076020908152604080832093909355600890522054610cb39085610e9e565b3360009081526008602052604090205550505050565b6002546001600160a01b031681565b6005546001600160a01b031681565b60096020526000908152604090205481565b6003546001600160a01b031681565b600554600160a01b900460ff1681565b60086020526000908152604090205481565b33600090815260096020526040812054610d42610ff4565b6000805b8381116106ac576001600160a01b038616600090815260066020908152604080832084845282529182902082516060810184528154815260018201549281018390526002909101549281019290925290935015610db0576020830151610dad908390610e9e565b91505b600101610d46565b6000610dfa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ef8565b90505b92915050565b6000610dfa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f9a565b600082610e5457506000610dfd565b82820282848281610e6157fe5b0414610dfa5760405162461bcd60e51b81526004018080602001828103825260218152602001806110166021913960400191505060405180910390fd5b600082820183811015610dfa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183610f845760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f49578181015183820152602001610f31565b50505050905090810190601f168015610f765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610f9057fe5b0495945050505050565b60008184841115610fec5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f49578181015183820152602001610f31565b505050900390565b6040518060600160405280600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220fcdcc4630782376f174e297fd04281196ffd53ea85fc853b063c596e40490a7b64736f6c634300060c0033000000000000000000000000f917c2a93cd03f656d807baf6fbbca779bb17dba000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101375760003560e01c80638863dd1a116100b8578063ccbc0ed21161007c578063ccbc0ed21461031b578063d298a3a814610323578063e1ae6ae614610349578063e390a1b814610351578063fa301a5d1461036d578063fc0a048a1461039357610137565b80638863dd1a146102a25780638da5cb5b146102c85780639015c8ac146102d0578063a694fc3a146102f6578063a98ad46c1461031357610137565b806339966958116100ff57806339966958146101d25780633c05eca1146101f157806354f33d4c1461023b578063690c51b314610258578063735de9f71461027e57610137565b8063078e36491461013c57806308d9b46714610156578063135dc7261461017e5780631cc1137b146101a457806323719686146101ac575b600080fd5b6101446103b9565b60408051918252519081900360200190f35b61017c6004803603602081101561016c57600080fd5b50356001600160a01b03166103bf565b005b6101446004803603602081101561019457600080fd5b50356001600160a01b03166103f8565b61014461040a565b610144600480360360208110156101c257600080fd5b50356001600160a01b03166105eb565b61017c600480360360208110156101e857600080fd5b503515156106b5565b61021d6004803603604081101561020757600080fd5b506001600160a01b0381351690602001356106ea565b60408051938452602084019290925282820152519081900360600190f35b6101446004803603602081101561025157600080fd5b5035610716565b6101446004803603602081101561026e57600080fd5b50356001600160a01b031661090f565b610286610921565b604080516001600160a01b039092168252519081900360200190f35b61017c600480360360208110156102b857600080fd5b50356001600160a01b0316610930565b610286610969565b61017c600480360360208110156102e657600080fd5b50356001600160a01b0316610978565b61017c6004803603602081101561030c57600080fd5b5035610b75565b610286610cc9565b610286610cd8565b6101446004803603602081101561033957600080fd5b50356001600160a01b0316610ce7565b610286610cf9565b610359610d08565b604080519115158252519081900360200190f35b6101446004803603602081101561038357600080fd5b50356001600160a01b0316610d18565b610144600480360360208110156103a957600080fd5b50356001600160a01b0316610d2a565b60045481565b6001546001600160a01b031633146103d657600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600a6020526000908152604090205481565b336000908152600960205260408120548180805b8381116104c05733600090815260066020908152604080832084845290915290206001810154909250156104b85760006104676004548460010154610db890919063ffffffff16565b9050600061048c82610486866002015442610e0390919063ffffffff16565b90610e45565b600185015490915061049e9082610e03565b60018501556104ad8582610e9e565b426002860155945050505b60010161041e565b506000821180156105455750600254604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561051657600080fd5b505afa15801561052a573d6000803e3d6000fd5b505050506040513d602081101561054057600080fd5b505110155b61054e57600080fd5b6002546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169163a9059cbb9160448082019260009290919082900301818387803b1580156105a157600080fd5b505af11580156105b5573d6000803e3d6000fd5b5050336000908152600a60205260409020546105d49250905083610e9e565b336000908152600a60205260409020555091505090565b33600090815260096020526040812054610603610ff4565b6000805b8381116106ac576001600160a01b0386166000908152600660209081526040808320848452825291829020825160608101845281548152600182015492810183905260029091015492810192909252909350156106a45760006106796004548560200151610db890919063ffffffff16565b90506106a061069982610486876040015142610e0390919063ffffffff16565b8490610e9e565b9250505b600101610607565b50949350505050565b6001546001600160a01b031633146106cc57600080fd5b60058054911515600160a01b0260ff60a01b19909216919091179055565b600660209081526000928352604080842090915290825290208054600182015460029092015490919083565b6040805160028082526060808301845260009390929190602083019080368337505060055482519293506001600160a01b03169183915060009061075657fe5b6001600160a01b03928316602091820292909201015260025482519116908290600190811061078157fe5b6001600160a01b03928316602091820292909201810191909152600080546040805163d06ca61f60e01b81526004810189815260248201928352875160448301528751606097949094169563d06ca61f958b958a95939460640192868101929102908190849084905b838110156108025781810151838201526020016107ea565b50505050905001935050505060006040518083038186803b15801561082657600080fd5b505afa15801561083a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561086357600080fd5b810190808051604051939291908464010000000082111561088357600080fd5b90830190602082018581111561089857600080fd5b82518660208202830111640100000000821117156108b557600080fd5b82525081516020918201928201910280838360005b838110156108e25781810151838201526020016108ca565b505050509050016040525050509050806001815181106108fe57fe5b602002602001015192505050919050565b60076020526000908152604090205481565b6000546001600160a01b031681565b6001546001600160a01b0316331461094757600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6001546001600160a01b0316331461098f57600080fd5b600554600160a01b900460ff16156109a657600080fd5b600554604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b1580156109fa57600080fd5b505afa158015610a0e573d6000803e3d6000fd5b505050506040513d6020811015610a2457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015610a7457600080fd5b505af1158015610a88573d6000803e3d6000fd5b5050600254604080516370a0823160e01b815230600482015290516001600160a01b03909216935063a9059cbb9250849184916370a08231916024808301926020929190829003018186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d6020811015610b0a57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015610b5a57600080fd5b505af1158015610b6e573d6000803e3d6000fd5b5050505050565b600554600354604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101859052905191909216916323b872dd91606480830192600092919082900301818387803b158015610bd357600080fd5b505af1158015610be7573d6000803e3d6000fd5b50503360009081526009602052604081205492509050610c0683610716565b3360009081526006602090815260408083208684529091529020848155909150610c31826002610e45565b60018083019190915542600283015533600090815260096020526040902054610c5991610e9e565b33600090815260096020526040902055610c8d610c77836002610e45565b3360009081526007602052604090205490610e9e565b33600090815260076020908152604080832093909355600890522054610cb39085610e9e565b3360009081526008602052604090205550505050565b6002546001600160a01b031681565b6005546001600160a01b031681565b60096020526000908152604090205481565b6003546001600160a01b031681565b600554600160a01b900460ff1681565b60086020526000908152604090205481565b33600090815260096020526040812054610d42610ff4565b6000805b8381116106ac576001600160a01b038616600090815260066020908152604080832084845282529182902082516060810184528154815260018201549281018390526002909101549281019290925290935015610db0576020830151610dad908390610e9e565b91505b600101610d46565b6000610dfa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ef8565b90505b92915050565b6000610dfa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f9a565b600082610e5457506000610dfd565b82820282848281610e6157fe5b0414610dfa5760405162461bcd60e51b81526004018080602001828103825260218152602001806110166021913960400191505060405180910390fd5b600082820183811015610dfa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008183610f845760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f49578181015183820152602001610f31565b50505050905090810190601f168015610f765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610f9057fe5b0495945050505050565b60008184841115610fec5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f49578181015183820152602001610f31565b505050900390565b6040518060600160405280600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220fcdcc4630782376f174e297fd04281196ffd53ea85fc853b063c596e40490a7b64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f917c2a93cd03f656d807baf6fbbca779bb17dba000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
-----Decoded View---------------
Arg [0] : _msToken (address): 0xF917c2A93CD03f656D807BAf6FbBca779bb17DbA
Arg [1] : _usdtToken (address): 0xdAC17F958D2ee523a2206206994597C13D831ec7
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f917c2a93cd03f656d807baf6fbbca779bb17dba
Arg [1] : 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Deployed Bytecode Sourcemap
15542:4580:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15811:32;;;:::i;:::-;;;;;;;;;;;;;;;;16701:96;;;;;;;;;;;;;;;;-1:-1:-1;16701:96:0;-1:-1:-1;;;;;16701:96:0;;:::i;:::-;;16297:45;;;;;;;;;;;;;;;;-1:-1:-1;16297:45:0;-1:-1:-1;;;;;16297:45:0;;:::i;18722:894::-;;;:::i;17774:508::-;;;;;;;;;;;;;;;;-1:-1:-1;17774:508:0;-1:-1:-1;;;;;17774:508:0;;:::i;19672:86::-;;;;;;;;;;;;;;;;-1:-1:-1;19672:86:0;;;;:::i;16037:61::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16037:61:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;17467:299;;;;;;;;;;;;;;;;-1:-1:-1;17467:299:0;;:::i;16105:47::-;;;;;;;;;;;;;;;;-1:-1:-1;16105:47:0;-1:-1:-1;;;;;16105:47:0;;:::i;15598:73::-;;;:::i;:::-;;;;-1:-1:-1;;;;;15598:73:0;;;;;;;;;;;;;;16603:92;;;;;;;;;;;;;;;;-1:-1:-1;16603:92:0;-1:-1:-1;;;;;16603:92:0;;:::i;15678:20::-;;;:::i;19853:266::-;;;;;;;;;;;;;;;;-1:-1:-1;19853:266:0;-1:-1:-1;;;;;19853:266:0;;:::i;16809:644::-;;;;;;;;;;;;;;;;-1:-1:-1;16809:644:0;;:::i;15705:24::-;;;:::i;15850:22::-;;;:::i;16245:45::-;;;;;;;;;;;;;;;;-1:-1:-1;16245:45:0;-1:-1:-1;;;;;16245:45:0;;:::i;15736:68::-;;;:::i;15879:19::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;16174:45;;;;;;;;;;;;;;;;-1:-1:-1;16174:45:0;-1:-1:-1;;;;;16174:45:0;;:::i;18288:420::-;;;;;;;;;;;;;;;;-1:-1:-1;18288:420:0;-1:-1:-1;;;;;18288:420:0;;:::i;15811:32::-;;;;:::o;16701:96::-;16551:5;;-1:-1:-1;;;;;16551:5:0;16560:10;16551:19;16543:28;;;;;;16769:8:::1;:20:::0;;-1:-1:-1;;;;;;16769:20:0::1;-1:-1:-1::0;;;;;16769:20:0;;;::::1;::::0;;;::::1;::::0;;16701:96::o;16297:45::-;;;;;;;;;;;;;:::o;18722:894::-;18802:10;18762:4;18788:25;;;:13;:25;;;;;;18762:4;;;18880:487;18894:2;18891:1;:5;18880:487;;18933:10;18924:20;;;;:8;:20;;;;;;;;:23;;;;;;;;18965:17;;;;18924:23;;-1:-1:-1;18965:21:0;18962:394;;19006:17;19026:32;19048:9;;19026:4;:17;;;:21;;:32;;;;:::i;:::-;19006:52;;19077:16;19096:62;19145:12;19097:42;19117:4;:21;;;19097:15;:19;;:42;;;;:::i;:::-;19096:48;;:62::i;:::-;19197:17;;;;19077:81;;-1:-1:-1;19197:34:0;;19077:81;19197:21;:34::i;:::-;19177:17;;;:54;19259:23;:6;19270:11;19259:10;:23::i;:::-;19325:15;19301:21;;;:39;19250:32;-1:-1:-1;;;18962:394:0;18898:3;;18880:487;;;;19394:1;19385:6;:10;:66;;;;-1:-1:-1;19406:9:0;;19399:42;;;-1:-1:-1;;;19399:42:0;;19435:4;19399:42;;;;;;19445:6;;-1:-1:-1;;;;;19406:9:0;;19399:27;;:42;;;;;;;;;;;;;;19406:9;19399:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19399:42:0;:52;;19385:66;19377:75;;;;;;19470:9;;19463:45;;;-1:-1:-1;;;19463:45:0;;19490:10;19463:45;;;;;;;;;;;;-1:-1:-1;;;;;19470:9:0;;;;19463:26;;:45;;;;;19470:9;;19463:45;;;;;;;;19470:9;;19463:45;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19561:10:0;19547:25;;;;:13;:25;;;;;;:37;;-1:-1:-1;19547:25:0;-1:-1:-1;19577:6:0;19547:29;:37::i;:::-;19533:10;19519:25;;;;:13;:25;;;;;:65;-1:-1:-1;19602:6:0;-1:-1:-1;;18722:894:0;:::o;17774:508::-;17874:10;17834:4;17860:25;;;:13;:25;;;;;;17896:20;;:::i;:::-;17928:11;17954:6;17950:301;17964:2;17961:1;:5;17950:301;;-1:-1:-1;;;;;17993:15:0;;;;;;:8;:15;;;;;;;;:18;;;;;;;;;17986:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18029:21:0;18026:214;;18070:17;18090:32;18112:9;;18090:4;:17;;;:21;;:32;;;;:::i;:::-;18070:52;;18150:74;18161:62;18210:12;18162:42;18182:4;:21;;;18162:15;:19;;:42;;;;:::i;18161:62::-;18150:6;;:10;:74::i;:::-;18141:83;;18026:214;;17967:3;;17950:301;;;-1:-1:-1;18268:6:0;17774:508;-1:-1:-1;;;;17774:508:0:o;19672:86::-;16551:5;;-1:-1:-1;;;;;16551:5:0;16560:10;16551:19;16543:28;;;;;;19732:7:::1;:18:::0;;;::::1;;-1:-1:-1::0;;;19732:18:0::1;-1:-1:-1::0;;;;19732:18:0;;::::1;::::0;;;::::1;::::0;;19672:86::o;16037:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;17467:299::-;17563:16;;;17577:1;17563:16;;;17539:21;17563:16;;;;;17523:4;;17539:21;;17563:16;17577:1;17563:16;;;;;;;;-1:-1:-1;;17600:7:0;;17590;;;;-1:-1:-1;;;;;;17600:7:0;;17590;;-1:-1:-1;17600:7:0;;17590;;;;-1:-1:-1;;;;;17590:17:0;;;:7;;;;;;;;;:17;17628:9;;17618:7;;17628:9;;;17618:4;;17628:9;;17618:7;;;;;;-1:-1:-1;;;;;17618:19:0;;;:7;;;;;;;;;;:19;;;;17687:13;;;17672:58;;;-1:-1:-1;;;17672:58:0;;;;;;;;;;;;;;;;;;;;;;17648:21;;17687:13;;;;;17672:43;;17716:7;;17725:4;;17672:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17672:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17672:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17648:82;;17748:7;17756:1;17748:10;;;;;;;;;;;;;;17741:17;;;;17467:299;;;:::o;16105:47::-;;;;;;;;;;;;;:::o;15598:73::-;;;-1:-1:-1;;;;;15598:73:0;;:::o;16603:92::-;16551:5;;-1:-1:-1;;;;;16551:5:0;16560:10;16551:19;16543:28;;;;;;16673:5:::1;:14:::0;;-1:-1:-1;;;;;;16673:14:0::1;-1:-1:-1::0;;;;;16673:14:0;;;::::1;::::0;;;::::1;::::0;;16603:92::o;15678:20::-;;;-1:-1:-1;;;;;15678:20:0;;:::o;19853:266::-;16551:5;;-1:-1:-1;;;;;16551:5:0;16560:10;16551:19;16543:28;;;;;;19933:7:::1;::::0;-1:-1:-1;;;19933:7:0;::::1;;;19932:8;19924:17;;;::::0;::::1;;19959:7;::::0;19983:40:::1;::::0;;-1:-1:-1;;;19983:40:0;;20017:4:::1;19983:40;::::0;::::1;::::0;;;-1:-1:-1;;;;;19959:7:0;;::::1;::::0;19952:24:::1;::::0;19977:5;;19959:7;;19983:25:::1;::::0;:40;;;;;::::1;::::0;;;;;;;;19959:7;19983:40;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;19983:40:0;19952:72:::1;::::0;;-1:-1:-1;;;;;;19952:72:0::1;::::0;;;;;;-1:-1:-1;;;;;19952:72:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;19952:72:0;;;;;;;-1:-1:-1;19952:72:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;20042:9:0::1;::::0;20068:42:::1;::::0;;-1:-1:-1;;;20068:42:0;;20104:4:::1;20068:42;::::0;::::1;::::0;;;-1:-1:-1;;;;;20042:9:0;;::::1;::::0;-1:-1:-1;20035:26:0::1;::::0;-1:-1:-1;20062:5:0;;20042:9;;20068:27:::1;::::0;:42;;;;;::::1;::::0;;;;;;;;20042:9;20068:42;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;20068:42:0;20035:76:::1;::::0;;-1:-1:-1;;;;;;20035:76:0::1;::::0;;;;;;-1:-1:-1;;;;;20035:76:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;20035:76:0;;;;;;;-1:-1:-1;20035:76:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19853:266:::0;:::o;16809:644::-;16866:7;;16900:8;;16859:59;;;-1:-1:-1;;;16859:59:0;;16888:10;16859:59;;;;-1:-1:-1;;;;;16900:8:0;;;16859:59;;;;;;;;;;;;16866:7;;;;;16859:28;;:59;;;;;16866:7;;16859:59;;;;;;;16866:7;;16859:59;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16953:10:0;16929:7;16939:25;;;:13;:25;;;;;;;-1:-1:-1;16929:7:0;-1:-1:-1;16993:21:0;17006:7;16993:12;:21::i;:::-;17058:10;17025:21;17049:20;;;:8;:20;;;;;;;;:24;;;;;;;;17084:28;;;16975:39;;-1:-1:-1;17143:17:0;16975:39;17158:1;17143:14;:17::i;:::-;17123;;;;:37;;;;17195:15;17171:21;;;:39;17263:10;-1:-1:-1;17249:25:0;;;:13;:25;;;;;;:32;;:29;:32::i;:::-;17235:10;17221:25;;;;:13;:25;;;;;:60;17321:49;17352:17;:10;17367:1;17352:14;:17::i;:::-;17336:10;17321:26;;;;:14;:26;;;;;;;:30;:49::i;:::-;17307:10;17292:26;;;;:14;:26;;;;;;;;:78;;;;17408:12;:24;;;;:37;;17437:7;17408:28;:37::i;:::-;17394:10;17381:24;;;;:12;:24;;;;;:64;-1:-1:-1;;;;16809:644:0:o;15705:24::-;;;-1:-1:-1;;;;;15705:24:0;;:::o;15850:22::-;;;-1:-1:-1;;;;;15850:22:0;;:::o;16245:45::-;;;;;;;;;;;;;:::o;15736:68::-;;;-1:-1:-1;;;;;15736:68:0;;:::o;15879:19::-;;;-1:-1:-1;;;15879:19:0;;;;;:::o;16174:45::-;;;;;;;;;;;;;:::o;18288:420::-;18390:10;18350:4;18376:25;;;:13;:25;;;;;;18412:20;;:::i;:::-;18444:14;18473:6;18469:205;18483:2;18480:1;:5;18469:205;;-1:-1:-1;;;;;18512:15:0;;;;;;:8;:15;;;;;;;;:18;;;;;;;;;18505:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18548:21:0;18545:104;;18615:17;;;;18601:32;;:9;;:13;:32::i;:::-;18589:44;;18545:104;18486:3;;18469:205;;7077:132;7135:7;7162:39;7166:1;7169;7162:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7155:46;;7077:132;;;;;:::o;5240:136::-;5298:7;5325:43;5329:1;5332;5325:43;;;;;;;;;;;;;;;;;:3;:43::i;6130:471::-;6188:7;6433:6;6429:47;;-1:-1:-1;6463:1:0;6456:8;;6429:47;6500:5;;;6504:1;6500;:5;:1;6524:5;;;;;:10;6516:56;;;;-1:-1:-1;;;6516:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4776:181;4834:7;4866:5;;;4890:6;;;;4882:46;;;;;-1:-1:-1;;;4882:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7705:278;7791:7;7826:12;7819:5;7811:28;;;;-1:-1:-1;;;7811:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7850:9;7866:1;7862;:5;;;;;;;7705:278;-1:-1:-1;;;;;7705:278:0:o;5679:192::-;5765:7;5801:12;5793:6;;;;5785:29;;;;-1:-1:-1;;;5785:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5837:5:0;;;5679:192::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://fcdcc4630782376f174e297fd04281196ffd53ea85fc853b063c596e40490a7b
Loading...
Loading
Loading...
Loading
Net Worth in USD
$10.06
Net Worth in ETH
0.00522
Token Allocations
USDT
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1 | 10.0585 | $10.06 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.