Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 9 from a total of 9 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Un Stake Tokens | 12664618 | 1720 days ago | IN | 0 ETH | 0.00099223 | ||||
| Stake Tokens | 12599683 | 1730 days ago | IN | 0 ETH | 0.00341343 | ||||
| Un Stake Tokens | 12597585 | 1730 days ago | IN | 0 ETH | 0.00117263 | ||||
| Stake Tokens | 12375013 | 1765 days ago | IN | 0 ETH | 0.01421995 | ||||
| Stake Tokens | 12375003 | 1765 days ago | IN | 0 ETH | 0.01421995 | ||||
| Stake Tokens | 12374993 | 1765 days ago | IN | 0 ETH | 0.01403175 | ||||
| Stake Tokens | 12363197 | 1766 days ago | IN | 0 ETH | 0.03515832 | ||||
| Stake Tokens | 12362941 | 1767 days ago | IN | 0 ETH | 0.04191636 | ||||
| Update Database ... | 12340538 | 1770 days ago | IN | 0 ETH | 0.00098311 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
InlineMain
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: UNLICENCED
pragma solidity >=0.6.0 <0.8.0;
pragma abicoder v2;
import "./Ownable.sol";
import "./SafeMath.sol";
import "./InlineInterface.sol";
contract InlineMain is Ownable{
using SafeMath for uint256;
address[] tempArray;
address public databaseContractAddress=0x790E5E60a5B751A30d9210a2B9CE01De17D039A8;
InlineDatabaseLib.IndexCoin[] tempObjectArray;
function stakeTokens(uint256 amount) external{
DatabaseContract dContract=DatabaseContract(databaseContractAddress);
Token tokenObj = Token(dContract.getXIVTokenContractAddress());
require(amount>=dContract.getMinLPvalue(),"Please enter more amount.");
//check if user has balance
require(tokenObj.balanceOf(msg.sender) >= amount, "You don't have enough XIV balance");
//check if user has provided allowance
require(tokenObj.allowance(msg.sender,databaseContractAddress) >= amount,
"Please allow smart contract to spend on your behalf");
dContract.transferFromTokens(dContract.getXIVTokenContractAddress(),msg.sender,databaseContractAddress,amount);
uint256 currentTimeStamp=block.timestamp;
InlineDatabaseLib.StakingInfo memory sInfo= InlineDatabaseLib.StakingInfo({
investmentId:dContract.getInvestmentId(),
stakeAmount:amount
});
dContract.updateStakingInfoMapping(msg.sender,sInfo);
dContract.updateInvestmentId(dContract.getInvestmentId().add(1));
if(!dContract.getIsStakeMapping(msg.sender)){
dContract.updateUserStakedAddress(msg.sender);
dContract.updateIsStakeMapping(msg.sender,true);
}
dContract.updateTokensStaked(msg.sender,dContract.getTokensStaked(msg.sender).add(amount));
dContract.updateActualAmountStakedByUser(msg.sender,dContract.getActualAmountStakedByUser(msg.sender).add(amount));
dContract.updateTokenStakedAmount(dContract.getTokenStakedAmount().add(amount));
dContract.updateTotalTransactions(dContract.getTotalTransactions().add(amount));
if(dContract.getLockingPeriodForLPMapping(msg.sender).lockedTimeStamp>currentTimeStamp){
dContract.updateLockingPeriodForLPMapping(msg.sender,(dContract.getLockingPeriodForLPMapping(msg.sender).amountLocked).add(amount),
dContract.getLockingPeriodForLPMapping(msg.sender).lockedTimeStamp);
}else{
dContract.updateLockingPeriodForLPMapping(msg.sender,amount,currentTimeStamp.add(30 days));
}
dContract.emitLPEvent(0,msg.sender,amount,currentTimeStamp);
}
function unStakeTokens(uint256 amount) external{
DatabaseContract dContract=DatabaseContract(databaseContractAddress);
uint256 currentTimeStamp=block.timestamp;
if(dContract.getLockingPeriodForLPMapping(msg.sender).lockedTimeStamp>currentTimeStamp){
require(dContract.getTokensStaked(msg.sender).sub(dContract.getLockingPeriodForLPMapping(msg.sender).amountLocked) >= amount, "You can not retrive LP token with this amount");
}else{
require(dContract.getTokensStaked(msg.sender)>=amount, "You can not retrive LP token with this amount");
}
dContract.transferTokens(dContract.getXIVTokenContractAddress(),msg.sender,amount);
dContract.updateTokensStaked(msg.sender,dContract.getTokensStaked(msg.sender).sub(amount));
if(amount>dContract.getActualAmountStakedByUser(msg.sender)){
dContract.updateActualAmountStakedByUser(msg.sender,0);
}else{
dContract.updateActualAmountStakedByUser(msg.sender,dContract.getActualAmountStakedByUser(msg.sender).sub(amount));
}
dContract.updateTokenStakedAmount(dContract.getTokenStakedAmount().sub(amount));
dContract.emitLPEvent(1,msg.sender,amount,currentTimeStamp);
}
function updateDatabaseAddress(address _databaseContractAddress) external onlyOwner{
databaseContractAddress=_databaseContractAddress;
}
}
// SPDX-License-Identifier: UNLICENCED
pragma solidity >=0.6.0 <0.8.0;
pragma abicoder v2;
library InlineDatabaseLib{
// deficoin struct for deficoinmappings..
struct DefiCoin{
uint16 oracleType;
string currencySymbol;
bool status;
}
struct TimePeriod{
uint256 _days;
bool status;
}
struct FlexibleInfo{
uint256 id;
uint16 upDownPercentage; //10**2
uint16 riskFactor; //10**2
uint16 rewardFactor; //10**2
bool status;
}
struct FixedInfo{
uint256 id;
uint256 daysCount;// integer value
uint16 upDownPercentage; //10**2
uint16 riskFactor; //10**2
uint16 rewardFactor; //10**2
bool status;
}
struct IndexCoin{
uint16 oracleType;
string currencySymbol;
address contractAddress;
bool status;
uint256 contributionPercentage; //10**2
}
struct BetPriceHistory{
uint256 baseIndexValue;
uint256 actualIndexValue;
}
struct LPLockedInfo{
uint256 lockedTimeStamp;
uint256 amountLocked;
}
struct StakingInfo{
uint256 investmentId;
uint256 stakeAmount;
}
struct IncentiveInfo{
uint256 tillInvestmentId;
uint256 incentiveAmount;
uint256 totalAmountStakedAtIncentiveTime;
}
struct BetInfo{
uint256 id;
uint256 principalAmount;
uint256 amount;
address userAddress;
address contractAddress;
uint256 betType; //
uint256 currentPrice;
uint256 timestamp;
uint256 betTimePeriod;
uint16 checkpointPercent;
uint16 rewardFactor;
uint16 riskFactor;
uint256 adminCommissionFee;
uint16 status; // 0->bet active, 1->bet won, 2->bet lost, 3-> withdraw before result
}
}
// SPDX-License-Identifier: UNLICENCED
pragma solidity >=0.6.0 <0.8.0;
pragma abicoder v2;
import "./InlineDatabaseLib.sol";
interface Token{
function decimals() external view returns(uint256);
function symbol() external view returns(string memory);
function totalSupply() external view returns (uint256);
function balanceOf(address who) external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function transferFrom(address from, address to, uint256 value) external returns (bool);
function approve(address spender, uint256 value) external returns (bool);
}
interface OracleWrapper{
function getPrice(string calldata currencySymbol,uint256 oracleType) external view returns (uint256);
}
interface DatabaseContract{
function transferTokens(address contractAddress,address userAddress,uint256 amount) external;
function transferFromTokens(address contractAddress,address fromAddress, address toAddress,uint256 amount) external;
function getTokensStaked(address userAddress) external view returns(uint256);
function updateTokensStaked(address userAddress, uint256 amount) external;
function getTokenStakedAmount() external view returns(uint256);
function updateTokenStakedAmount(uint256 _tokenStakedAmount) external;
function getBetId() external view returns(uint256);
function updateBetId(uint256 _userBetId) external;
function updateBetArray(InlineDatabaseLib.BetInfo memory bObject) external;
function getBetArray() external view returns(InlineDatabaseLib.BetInfo[] memory);
function getFindBetInArrayUsingBetIdMapping(uint256 _betid) external view returns(uint256);
function updateFindBetInArrayUsingBetIdMapping(uint256 _betid, uint256 value) external;
function updateUserStakedAddress(address _address) external;
function updateUserStakedAddress(address[] memory _userStakedAddress) external;
function getUserStakedAddress() external view returns(address[] memory);
function getDefiCoinsFixedMapping(address _betContractAddress,bool isFlashVault) external view returns(InlineDatabaseLib.DefiCoin memory);
function getDefiCoinsFlexibleMapping(address _betContractAddress) external view returns(InlineDatabaseLib.DefiCoin memory);
function getFlexibleDefiCoinArray() external view returns(InlineDatabaseLib.FlexibleInfo[] memory);
function getFlexibleIndexArray() external view returns(InlineDatabaseLib.FlexibleInfo[] memory);
function updateBetArrayIndex(InlineDatabaseLib.BetInfo memory bObject, uint256 index) external;
function updateBetIndexForFixedArray(uint256 _betId, InlineDatabaseLib.IndexCoin memory iCArray) external;
function updateBetBaseIndexValue(uint256 _betBaseIndexValueFixed) external;
function getBetBaseIndexValue() external view returns(uint256);
function updateBetPriceHistoryFixedMapping(uint256 _betId, InlineDatabaseLib.BetPriceHistory memory bPHObj) external;
function updateBetActualIndexValue(uint256 _betActualIndexValueFixed) external;
function getBetActualIndexValue() external view returns(uint256);
function getBetIndexForFixedArray(uint256 _betId) external view returns(InlineDatabaseLib.IndexCoin[] memory);
function getBetPriceHistoryFixedMapping(uint256 _betId) external view returns(InlineDatabaseLib.BetPriceHistory memory);
function getXIVTokenContractAddress() external view returns(address);
function getAllIndexContractAddressArray() external view returns(address[] memory);
function getDefiCoinIndexMapping(address _ContractAddress) external view returns(InlineDatabaseLib.IndexCoin memory);
function updateBetIndexForFlexibleArray(uint256 _betId, InlineDatabaseLib.IndexCoin memory iCArray) external;
function getBetIndexForFlexibleArray(uint256 _betId) external view returns(InlineDatabaseLib.IndexCoin[] memory);
function updateBetPriceHistoryFlexibleMapping(uint256 _betId, InlineDatabaseLib.BetPriceHistory memory bPHObj) external;
function getBetPriceHistoryFlexibleMapping(uint256 _betId) external view returns(InlineDatabaseLib.BetPriceHistory memory);
function getOracleWrapperContractAddress() external view returns(address);
function getPlentyOneDayPercentage() external view returns(uint256);
function getPlentyThreeDayPercentage(uint256 _days) external view returns(uint256);
function getPlentySevenDayPercentage(uint256 _days) external view returns(uint256);
function getBetsAccordingToUserAddress(address userAddress) external view returns(uint256[] memory);
function updateBetAddressesArray(address userAddress, uint256 _betId) external;
function getRewardGeneratedAmount() external view returns(uint256);
function updateRewardGeneratedAmount(uint256 _rewardGeneratedAmount) external;
function addUserAddressUsedForBetting(address userAddress) external;
function getUserAddressUsedForBetting() external view returns(address[] memory);
function getFixedDefiCoinArray() external view returns(InlineDatabaseLib.FixedInfo[] memory);
function getFixedDefiIndexArray() external view returns(InlineDatabaseLib.FixedInfo[] memory);
function getMaxStakeXIVAmount() external view returns(uint256);
function getMinStakeXIVAmount() external view returns(uint256);
function getBetFactorLP() external view returns(uint256);
function updateActualAmountStakedByUser(address userAddress, uint256 amount) external;
function getActualAmountStakedByUser(address userAddress) external view returns(uint256);
function isDaysAvailable(uint256 _days) external view returns(bool);
function updateExistingBetCheckMapping(address _userAddress,uint256 _betType, address _BetContractAddress,bool status) external;
function getExistingBetCheckMapping(address _userAddress,uint256 _betType, address _BetContractAddress) external view returns(bool);
function updateTotalTransactions(uint256 _totalTransactions) external;
function getTotalTransactions() external view returns(uint256);
function getFlexibleDefiCoinTimePeriodArray() external view returns(InlineDatabaseLib.TimePeriod[] memory);
function getFlexibleIndexTimePeriodArray() external view returns(InlineDatabaseLib.TimePeriod[] memory);
function getMinLPvalue() external view returns(uint256);
function getLockingPeriodForLPMapping(address userAddress) external view returns(InlineDatabaseLib.LPLockedInfo memory);
function updateLockingPeriodForLPMapping(address userAddress, uint256 _amountLocked, uint256 _lockedTimeStamp) external;
function getStakingInfoMapping(address userAddress) external view returns(InlineDatabaseLib.StakingInfo[] memory);
function updateStakingInfoMapping(address userAddress, InlineDatabaseLib.StakingInfo memory sInfo) external;
function getInvestmentId() external view returns(uint256);
function updateInvestmentId(uint256 _investmentId) external;
function getSlotExecutionId() external view returns(uint256);
function updateSlotExecutionId(uint256 _slotExecutionId) external;
function getSlotId() external view returns(uint256);
function updateSlotId(uint256 _slotId) external;
function updateIncentiveMapping(uint256 _slotId, InlineDatabaseLib.IncentiveInfo memory iInfo) external;
function getIncentiveMapping(uint256 _slotId) external view returns(InlineDatabaseLib.IncentiveInfo[] memory);
function emitBetDetails(uint256 betId, uint256 status, uint256 betEndTime) external;
function emitLPEvent(uint256 typeOfLP, address userAddress, uint256 amount, uint256 timestamp) external ;
function updateIsStakeMapping(address userAddress,bool isStake) external;
function getIsStakeMapping(address userAddress) external view returns(bool);
}
// SPDX-License-Identifier: UNLICENCED
pragma solidity >=0.6.0 <0.8.0;
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor(){
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.8.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;
}
}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"databaseContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unStakeTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_databaseContractAddress","type":"address"}],"name":"updateDatabaseAddress","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080604052600280546001600160a01b03191673790e5e60a5b751a30d9210a2b9ce01de17d039a817905534801561003657600080fd5b50600080546001600160a01b031916331790556117f3806100586000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632a7be99a14610067578063742768661461007c5780637547c7a31461008f578063779afa35146100a25780638da5cb5b146100c0578063f2fde38b146100c8575b600080fd5b61007a61007536600461149e565b6100db565b005b61007a61008a36600461153d565b610114565b61007a61009d36600461153d565b61074b565b6100aa6112c3565b6040516100b7919061156d565b60405180910390f35b6100aa6112d2565b61007a6100d636600461149e565b6112e1565b6000546001600160a01b031633146100f257600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546040516326a98ff960e21b81526001600160a01b0390911690429081908390639aa63fe49061014a90339060040161156d565b604080518083038186803b15801561016157600080fd5b505afa158015610175573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019991906114f6565b5111156102d157826102a5836001600160a01b0316639aa63fe4336040518263ffffffff1660e01b81526004016101d0919061156d565b604080518083038186803b1580156101e757600080fd5b505afa1580156101fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021f91906114f6565b60200151604051632975bbcb60e11b81526001600160a01b038616906352eb77969061024f90339060040161156d565b60206040518083038186803b15801561026757600080fd5b505afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f9190611555565b90611366565b10156102cc5760405162461bcd60e51b81526004016102c39061174f565b60405180910390fd5b61036d565b604051632975bbcb60e11b815283906001600160a01b038416906352eb7796906102ff90339060040161156d565b60206040518083038186803b15801561031757600080fd5b505afa15801561032b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034f9190611555565b101561036d5760405162461bcd60e51b81526004016102c39061174f565b816001600160a01b031663a64b6e5f836001600160a01b031663113e6ecd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103b557600080fd5b505afa1580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed91906114ba565b33866040518463ffffffff1660e01b815260040161040d93929190611640565b600060405180830381600087803b15801561042757600080fd5b505af115801561043b573d6000803e3d6000fd5b50505050816001600160a01b03166308d6707d3361047f86866001600160a01b03166352eb7796336040518263ffffffff1660e01b815260040161024f919061156d565b6040518363ffffffff1660e01b815260040161049c9291906115b6565b600060405180830381600087803b1580156104b657600080fd5b505af11580156104ca573d6000803e3d6000fd5b50506040516343504d3b60e01b81526001600160a01b03851692506343504d3b91506104fa90339060040161156d565b60206040518083038186803b15801561051257600080fd5b505afa158015610526573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054a9190611555565b8311156105b75760405163f091bf5f60e01b81526001600160a01b0383169063f091bf5f906105809033906000906004016115b6565b600060405180830381600087803b15801561059a57600080fd5b505af11580156105ae573d6000803e3d6000fd5b50505050610647565b816001600160a01b031663f091bf5f336105f786866001600160a01b03166343504d3b336040518263ffffffff1660e01b815260040161024f919061156d565b6040518363ffffffff1660e01b81526004016106149291906115b6565b600060405180830381600087803b15801561062e57600080fd5b505af1158015610642573d6000803e3d6000fd5b505050505b816001600160a01b0316636908fd4d61069385856001600160a01b0316636e3721436040518163ffffffff1660e01b815260040160206040518083038186803b15801561026757600080fd5b6040518263ffffffff1660e01b81526004016106af919061179c565b600060405180830381600087803b1580156106c957600080fd5b505af11580156106dd573d6000803e3d6000fd5b5050604051634a5fc61b60e01b81526001600160a01b0385169250634a5fc61b915061071490600190339088908790600401611664565b600060405180830381600087803b15801561072e57600080fd5b505af1158015610742573d6000803e3d6000fd5b50505050505050565b6002546040805163113e6ecd60e01b815290516001600160a01b0390921691600091839163113e6ecd91600480820192602092909190829003018186803b15801561079557600080fd5b505afa1580156107a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cd91906114ba565b9050816001600160a01b031663b0f2f3b06040518163ffffffff1660e01b815260040160206040518083038186803b15801561080857600080fd5b505afa15801561081c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108409190611555565b83101561085f5760405162461bcd60e51b81526004016102c390611688565b6040516370a0823160e01b815283906001600160a01b038316906370a082319061088d90339060040161156d565b60206040518083038186803b1580156108a557600080fd5b505afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190611555565b10156108fb5760405162461bcd60e51b81526004016102c3906116bb565b600254604051636eb1769f60e11b815284916001600160a01b038085169263dd62ed3e92610930923392911690600401611581565b60206040518083038186803b15801561094857600080fd5b505afa15801561095c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109809190611555565b101561099e5760405162461bcd60e51b81526004016102c3906116fc565b816001600160a01b031663811b789d836001600160a01b031663113e6ecd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e657600080fd5b505afa1580156109fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1e91906114ba565b6002546040516001600160e01b031960e085901b168152610a52929133916001600160a01b03909116908990600401611616565b600060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b50505050600042905060006040518060400160405280856001600160a01b031663df6965f46040518163ffffffff1660e01b815260040160206040518083038186803b158015610acf57600080fd5b505afa158015610ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b079190611555565b8152602001869052604051634d18462760e01b81529091506001600160a01b03851690634d18462790610b4090339085906004016115cf565b600060405180830381600087803b158015610b5a57600080fd5b505af1158015610b6e573d6000803e3d6000fd5b50505050836001600160a01b0316636abfe439610bfd6001876001600160a01b031663df6965f46040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbf57600080fd5b505afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611555565b906113af565b6040518263ffffffff1660e01b8152600401610c19919061179c565b600060405180830381600087803b158015610c3357600080fd5b505af1158015610c47573d6000803e3d6000fd5b505060405163341658f360e01b81526001600160a01b038716925063341658f39150610c7790339060040161156d565b60206040518083038186803b158015610c8f57600080fd5b505afa158015610ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc791906114d6565b610d8b576040516314c8af8360e01b81526001600160a01b038516906314c8af8390610cf790339060040161156d565b600060405180830381600087803b158015610d1157600080fd5b505af1158015610d25573d6000803e3d6000fd5b50506040516352d5d4b360e01b81526001600160a01b03871692506352d5d4b39150610d5890339060019060040161159b565b600060405180830381600087803b158015610d7257600080fd5b505af1158015610d86573d6000803e3d6000fd5b505050505b836001600160a01b03166308d6707d33610de388886001600160a01b03166352eb7796336040518263ffffffff1660e01b8152600401610dcb919061156d565b60206040518083038186803b158015610bbf57600080fd5b6040518363ffffffff1660e01b8152600401610e009291906115b6565b600060405180830381600087803b158015610e1a57600080fd5b505af1158015610e2e573d6000803e3d6000fd5b50505050836001600160a01b031663f091bf5f33610e7288886001600160a01b03166343504d3b336040518263ffffffff1660e01b8152600401610dcb919061156d565b6040518363ffffffff1660e01b8152600401610e8f9291906115b6565b600060405180830381600087803b158015610ea957600080fd5b505af1158015610ebd573d6000803e3d6000fd5b50505050836001600160a01b0316636908fd4d610f0d87876001600160a01b0316636e3721436040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbf57600080fd5b6040518263ffffffff1660e01b8152600401610f29919061179c565b600060405180830381600087803b158015610f4357600080fd5b505af1158015610f57573d6000803e3d6000fd5b50505050836001600160a01b0316635522378f610fa787876001600160a01b031663b5c604ff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbf57600080fd5b6040518263ffffffff1660e01b8152600401610fc3919061179c565b600060405180830381600087803b158015610fdd57600080fd5b505af1158015610ff1573d6000803e3d6000fd5b50506040516326a98ff960e21b81528492506001600160a01b0387169150639aa63fe49061102390339060040161156d565b604080518083038186803b15801561103a57600080fd5b505afa15801561104e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107291906114f6565b5111156111e857836001600160a01b0316638286cdd53361111288886001600160a01b0316639aa63fe4336040518263ffffffff1660e01b81526004016110b9919061156d565b604080518083038186803b1580156110d057600080fd5b505afa1580156110e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110891906114f6565b60200151906113af565b6040516326a98ff960e21b81526001600160a01b03891690639aa63fe49061113e90339060040161156d565b604080518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d91906114f6565b516040516001600160e01b031960e086901b1681526111b1939291906004016115f5565b600060405180830381600087803b1580156111cb57600080fd5b505af11580156111df573d6000803e3d6000fd5b50505050611257565b6001600160a01b038416638286cdd533876112068662278d006113af565b6040518463ffffffff1660e01b8152600401611224939291906115f5565b600060405180830381600087803b15801561123e57600080fd5b505af1158015611252573d6000803e3d6000fd5b505050505b604051634a5fc61b60e01b81526001600160a01b03851690634a5fc61b9061128a9060009033908a908890600401611664565b600060405180830381600087803b1580156112a457600080fd5b505af11580156112b8573d6000803e3d6000fd5b505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031681565b6000546001600160a01b031633146112f857600080fd5b6001600160a01b03811661130b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006113a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611407565b9392505050565b6000828201838110156113a8576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b600081848411156114965760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561145b578181015183820152602001611443565b50505050905090810190601f1680156114885780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000602082840312156114af578081fd5b81356113a8816117a5565b6000602082840312156114cb578081fd5b81516113a8816117a5565b6000602082840312156114e7578081fd5b815180151581146113a8578182fd5b600060408284031215611507578081fd5b604080519081016001600160401b038111828210171561152357fe5b604052825181526020928301519281019290925250919050565b60006020828403121561154e578081fd5b5035919050565b600060208284031215611566578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392909216825280516020808401919091520151604082015260600190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b602080825260199082015278283632b0b9b29032b73a32b91036b7b9329030b6b7bab73a1760391b604082015260600190565b60208082526021908201527f596f7520646f6e2774206861766520656e6f756768205849562062616c616e636040820152606560f81b606082015260800190565b60208082526033908201527f506c6561736520616c6c6f7720736d61727420636f6e747261637420746f20736040820152723832b7321037b7103cb7bab9103132b430b63360691b606082015260800190565b6020808252602d908201527f596f752063616e206e6f742072657472697665204c5020746f6b656e2077697460408201526c1a081d1a1a5cc8185b5bdd5b9d609a1b606082015260800190565b90815260200190565b6001600160a01b03811681146117ba57600080fd5b5056fea2646970667358221220ef8f2520388a09482e7bd98c90b9819492045d2ce87a2d85d30127ba4d6065fd64736f6c63430007060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100625760003560e01c80632a7be99a14610067578063742768661461007c5780637547c7a31461008f578063779afa35146100a25780638da5cb5b146100c0578063f2fde38b146100c8575b600080fd5b61007a61007536600461149e565b6100db565b005b61007a61008a36600461153d565b610114565b61007a61009d36600461153d565b61074b565b6100aa6112c3565b6040516100b7919061156d565b60405180910390f35b6100aa6112d2565b61007a6100d636600461149e565b6112e1565b6000546001600160a01b031633146100f257600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546040516326a98ff960e21b81526001600160a01b0390911690429081908390639aa63fe49061014a90339060040161156d565b604080518083038186803b15801561016157600080fd5b505afa158015610175573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019991906114f6565b5111156102d157826102a5836001600160a01b0316639aa63fe4336040518263ffffffff1660e01b81526004016101d0919061156d565b604080518083038186803b1580156101e757600080fd5b505afa1580156101fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021f91906114f6565b60200151604051632975bbcb60e11b81526001600160a01b038616906352eb77969061024f90339060040161156d565b60206040518083038186803b15801561026757600080fd5b505afa15801561027b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061029f9190611555565b90611366565b10156102cc5760405162461bcd60e51b81526004016102c39061174f565b60405180910390fd5b61036d565b604051632975bbcb60e11b815283906001600160a01b038416906352eb7796906102ff90339060040161156d565b60206040518083038186803b15801561031757600080fd5b505afa15801561032b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034f9190611555565b101561036d5760405162461bcd60e51b81526004016102c39061174f565b816001600160a01b031663a64b6e5f836001600160a01b031663113e6ecd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103b557600080fd5b505afa1580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed91906114ba565b33866040518463ffffffff1660e01b815260040161040d93929190611640565b600060405180830381600087803b15801561042757600080fd5b505af115801561043b573d6000803e3d6000fd5b50505050816001600160a01b03166308d6707d3361047f86866001600160a01b03166352eb7796336040518263ffffffff1660e01b815260040161024f919061156d565b6040518363ffffffff1660e01b815260040161049c9291906115b6565b600060405180830381600087803b1580156104b657600080fd5b505af11580156104ca573d6000803e3d6000fd5b50506040516343504d3b60e01b81526001600160a01b03851692506343504d3b91506104fa90339060040161156d565b60206040518083038186803b15801561051257600080fd5b505afa158015610526573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054a9190611555565b8311156105b75760405163f091bf5f60e01b81526001600160a01b0383169063f091bf5f906105809033906000906004016115b6565b600060405180830381600087803b15801561059a57600080fd5b505af11580156105ae573d6000803e3d6000fd5b50505050610647565b816001600160a01b031663f091bf5f336105f786866001600160a01b03166343504d3b336040518263ffffffff1660e01b815260040161024f919061156d565b6040518363ffffffff1660e01b81526004016106149291906115b6565b600060405180830381600087803b15801561062e57600080fd5b505af1158015610642573d6000803e3d6000fd5b505050505b816001600160a01b0316636908fd4d61069385856001600160a01b0316636e3721436040518163ffffffff1660e01b815260040160206040518083038186803b15801561026757600080fd5b6040518263ffffffff1660e01b81526004016106af919061179c565b600060405180830381600087803b1580156106c957600080fd5b505af11580156106dd573d6000803e3d6000fd5b5050604051634a5fc61b60e01b81526001600160a01b0385169250634a5fc61b915061071490600190339088908790600401611664565b600060405180830381600087803b15801561072e57600080fd5b505af1158015610742573d6000803e3d6000fd5b50505050505050565b6002546040805163113e6ecd60e01b815290516001600160a01b0390921691600091839163113e6ecd91600480820192602092909190829003018186803b15801561079557600080fd5b505afa1580156107a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cd91906114ba565b9050816001600160a01b031663b0f2f3b06040518163ffffffff1660e01b815260040160206040518083038186803b15801561080857600080fd5b505afa15801561081c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108409190611555565b83101561085f5760405162461bcd60e51b81526004016102c390611688565b6040516370a0823160e01b815283906001600160a01b038316906370a082319061088d90339060040161156d565b60206040518083038186803b1580156108a557600080fd5b505afa1580156108b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108dd9190611555565b10156108fb5760405162461bcd60e51b81526004016102c3906116bb565b600254604051636eb1769f60e11b815284916001600160a01b038085169263dd62ed3e92610930923392911690600401611581565b60206040518083038186803b15801561094857600080fd5b505afa15801561095c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109809190611555565b101561099e5760405162461bcd60e51b81526004016102c3906116fc565b816001600160a01b031663811b789d836001600160a01b031663113e6ecd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e657600080fd5b505afa1580156109fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1e91906114ba565b6002546040516001600160e01b031960e085901b168152610a52929133916001600160a01b03909116908990600401611616565b600060405180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b50505050600042905060006040518060400160405280856001600160a01b031663df6965f46040518163ffffffff1660e01b815260040160206040518083038186803b158015610acf57600080fd5b505afa158015610ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b079190611555565b8152602001869052604051634d18462760e01b81529091506001600160a01b03851690634d18462790610b4090339085906004016115cf565b600060405180830381600087803b158015610b5a57600080fd5b505af1158015610b6e573d6000803e3d6000fd5b50505050836001600160a01b0316636abfe439610bfd6001876001600160a01b031663df6965f46040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbf57600080fd5b505afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611555565b906113af565b6040518263ffffffff1660e01b8152600401610c19919061179c565b600060405180830381600087803b158015610c3357600080fd5b505af1158015610c47573d6000803e3d6000fd5b505060405163341658f360e01b81526001600160a01b038716925063341658f39150610c7790339060040161156d565b60206040518083038186803b158015610c8f57600080fd5b505afa158015610ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc791906114d6565b610d8b576040516314c8af8360e01b81526001600160a01b038516906314c8af8390610cf790339060040161156d565b600060405180830381600087803b158015610d1157600080fd5b505af1158015610d25573d6000803e3d6000fd5b50506040516352d5d4b360e01b81526001600160a01b03871692506352d5d4b39150610d5890339060019060040161159b565b600060405180830381600087803b158015610d7257600080fd5b505af1158015610d86573d6000803e3d6000fd5b505050505b836001600160a01b03166308d6707d33610de388886001600160a01b03166352eb7796336040518263ffffffff1660e01b8152600401610dcb919061156d565b60206040518083038186803b158015610bbf57600080fd5b6040518363ffffffff1660e01b8152600401610e009291906115b6565b600060405180830381600087803b158015610e1a57600080fd5b505af1158015610e2e573d6000803e3d6000fd5b50505050836001600160a01b031663f091bf5f33610e7288886001600160a01b03166343504d3b336040518263ffffffff1660e01b8152600401610dcb919061156d565b6040518363ffffffff1660e01b8152600401610e8f9291906115b6565b600060405180830381600087803b158015610ea957600080fd5b505af1158015610ebd573d6000803e3d6000fd5b50505050836001600160a01b0316636908fd4d610f0d87876001600160a01b0316636e3721436040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbf57600080fd5b6040518263ffffffff1660e01b8152600401610f29919061179c565b600060405180830381600087803b158015610f4357600080fd5b505af1158015610f57573d6000803e3d6000fd5b50505050836001600160a01b0316635522378f610fa787876001600160a01b031663b5c604ff6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bbf57600080fd5b6040518263ffffffff1660e01b8152600401610fc3919061179c565b600060405180830381600087803b158015610fdd57600080fd5b505af1158015610ff1573d6000803e3d6000fd5b50506040516326a98ff960e21b81528492506001600160a01b0387169150639aa63fe49061102390339060040161156d565b604080518083038186803b15801561103a57600080fd5b505afa15801561104e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107291906114f6565b5111156111e857836001600160a01b0316638286cdd53361111288886001600160a01b0316639aa63fe4336040518263ffffffff1660e01b81526004016110b9919061156d565b604080518083038186803b1580156110d057600080fd5b505afa1580156110e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110891906114f6565b60200151906113af565b6040516326a98ff960e21b81526001600160a01b03891690639aa63fe49061113e90339060040161156d565b604080518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d91906114f6565b516040516001600160e01b031960e086901b1681526111b1939291906004016115f5565b600060405180830381600087803b1580156111cb57600080fd5b505af11580156111df573d6000803e3d6000fd5b50505050611257565b6001600160a01b038416638286cdd533876112068662278d006113af565b6040518463ffffffff1660e01b8152600401611224939291906115f5565b600060405180830381600087803b15801561123e57600080fd5b505af1158015611252573d6000803e3d6000fd5b505050505b604051634a5fc61b60e01b81526001600160a01b03851690634a5fc61b9061128a9060009033908a908890600401611664565b600060405180830381600087803b1580156112a457600080fd5b505af11580156112b8573d6000803e3d6000fd5b505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031681565b6000546001600160a01b031633146112f857600080fd5b6001600160a01b03811661130b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006113a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611407565b9392505050565b6000828201838110156113a8576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b600081848411156114965760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561145b578181015183820152602001611443565b50505050905090810190601f1680156114885780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000602082840312156114af578081fd5b81356113a8816117a5565b6000602082840312156114cb578081fd5b81516113a8816117a5565b6000602082840312156114e7578081fd5b815180151581146113a8578182fd5b600060408284031215611507578081fd5b604080519081016001600160401b038111828210171561152357fe5b604052825181526020928301519281019290925250919050565b60006020828403121561154e578081fd5b5035919050565b600060208284031215611566578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392909216825280516020808401919091520151604082015260600190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b602080825260199082015278283632b0b9b29032b73a32b91036b7b9329030b6b7bab73a1760391b604082015260600190565b60208082526021908201527f596f7520646f6e2774206861766520656e6f756768205849562062616c616e636040820152606560f81b606082015260800190565b60208082526033908201527f506c6561736520616c6c6f7720736d61727420636f6e747261637420746f20736040820152723832b7321037b7103cb7bab9103132b430b63360691b606082015260800190565b6020808252602d908201527f596f752063616e206e6f742072657472697665204c5020746f6b656e2077697460408201526c1a081d1a1a5cc8185b5bdd5b9d609a1b606082015260800190565b90815260200190565b6001600160a01b03811681146117ba57600080fd5b5056fea2646970667358221220ef8f2520388a09482e7bd98c90b9819492045d2ce87a2d85d30127ba4d6065fd64736f6c63430007060033
Deployed Bytecode Sourcemap
175:3924:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3944:148;;;;;;:::i;:::-;;:::i;:::-;;2684:1250;;;;;;:::i;:::-;;:::i;424:2254::-;;;;;;:::i;:::-;;:::i;276:81::-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;96:20:3;;;:::i;721:188::-;;;;;;:::i;:::-;;:::i;3944:148:2:-;526:5:3;;-1:-1:-1;;;;;526:5:3;512:10;:19;504:28;;;;;;4037:23:2::1;:48:::0;;-1:-1:-1;;;;;;4037:48:2::1;-1:-1:-1::0;;;;;4037:48:2;;;::::1;::::0;;;::::1;::::0;;3944:148::o;2684:1250::-;2785:23;;2872:50;;-1:-1:-1;;;2872:50:2;;-1:-1:-1;;;;;2785:23:2;;;;2844:15;;;;2785:23;;2872:38;;:50;;2911:10;;2872:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:66;:83;2869:418;;;3088:6;2978:106;3020:9;-1:-1:-1;;;;;3020:38:2;;3059:10;3020:50;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:63;;;2978:37;;-1:-1:-1;;;2978:37:2;;-1:-1:-1;;;;;2978:25:2;;;;;:37;;3004:10;;2978:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;:106::i;:::-;:116;;2970:174;;;;-1:-1:-1;;;2970:174:2;;;;;;;:::i;:::-;;;;;;;;;2869:418;;;3181:37;;-1:-1:-1;;;3181:37:2;;3220:6;;-1:-1:-1;;;;;3181:25:2;;;;;:37;;3207:10;;3181:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;3173:103;;;;-1:-1:-1;;;3173:103:2;;;;;;;:::i;:::-;3296:9;-1:-1:-1;;;;;3296:24:2;;3321:9;-1:-1:-1;;;;;3321:36:2;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3360:10;3371:6;3296:82;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3388:9;-1:-1:-1;;;;;3388:28:2;;3417:10;3428:49;3470:6;3428:9;-1:-1:-1;;;;;3428:25:2;;3454:10;3428:37;;;;;;;;;;;;;;;:::i;:49::-;3388:90;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3498:49:2;;-1:-1:-1;;;3498:49:2;;-1:-1:-1;;;;;3498:37:2;;;-1:-1:-1;3498:37:2;;-1:-1:-1;3498:49:2;;3536:10;;3498:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3491:6;:56;3488:282;;;3562:54;;-1:-1:-1;;;3562:54:2;;-1:-1:-1;;;;;3562:40:2;;;;;:54;;3603:10;;3614:1;;3562:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3488:282;;;3645:9;-1:-1:-1;;;;;3645:40:2;;3686:10;3697:61;3751:6;3697:9;-1:-1:-1;;;;;3697:37:2;;3735:10;3697:49;;;;;;;;;;;;;;;:::i;:61::-;3645:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3488:282;3779:9;-1:-1:-1;;;;;3779:33:2;;3813:44;3850:6;3813:9;-1:-1:-1;;;;;3813:30:2;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:44;3779:79;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3868:59:2;;-1:-1:-1;;;3868:59:2;;-1:-1:-1;;;;;3868:21:2;;;-1:-1:-1;3868:21:2;;-1:-1:-1;3868:59:2;;3890:1;;3892:10;;3903:6;;3910:16;;3868:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:1250;;;:::o;424:2254::-;523:23;;580:38;;;-1:-1:-1;;;580:38:2;;;;-1:-1:-1;;;;;523:23:2;;;;479:26;;523:23;;580:36;;:38;;;;;;;;;;;;;;;523:23;580:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;557:62;;645:9;-1:-1:-1;;;;;645:23:2;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;637:6;:33;;629:70;;;;-1:-1:-1;;;629:70:2;;;;;;;:::i;:::-;753:30;;-1:-1:-1;;;753:30:2;;787:6;;-1:-1:-1;;;;;753:18:2;;;;;:30;;772:10;;753:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;;745:86;;;;-1:-1:-1;;;745:86:2;;;;;;;:::i;:::-;926:23;;896:54;;-1:-1:-1;;;896:54:2;;954:6;;-1:-1:-1;;;;;896:18:2;;;;;;:54;;915:10;;926:23;;;896:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;888:137;;;;-1:-1:-1;;;888:137:2;;;;;;;:::i;:::-;1035:9;-1:-1:-1;;;;;1035:28:2;;1064:9;-1:-1:-1;;;;;1064:36:2;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1114:23;;1035:110;;-1:-1:-1;;;;;;1035:110:2;;;;;;;;;;1103:10;;-1:-1:-1;;;;;1114:23:2;;;;1138:6;;1035:110;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1164:24;1189:15;1164:40;;1214:42;1258:127;;;;;;;;1315:9;-1:-1:-1;;;;;1315:25:2;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1258:127;;;;;;;1395:52;;-1:-1:-1;;;1395:52:2;;1214:171;;-1:-1:-1;;;;;;1395:34:2;;;;;:52;;1430:10;;1214:171;;1395:52;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:9;-1:-1:-1;;;;;1457:28:2;;1486:34;1518:1;1486:9;-1:-1:-1;;;;;1486:25:2;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;:34::i;:::-;1457:64;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1535:39:2;;-1:-1:-1;;;1535:39:2;;-1:-1:-1;;;;;1535:27:2;;;-1:-1:-1;1535:27:2;;-1:-1:-1;1535:39:2;;1563:10;;1535:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1531:175;;1589:45;;-1:-1:-1;;;1589:45:2;;-1:-1:-1;;;;;1589:33:2;;;;;:45;;1623:10;;1589:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1648:47:2;;-1:-1:-1;;;1648:47:2;;-1:-1:-1;;;;;1648:30:2;;;-1:-1:-1;1648:30:2;;-1:-1:-1;1648:47:2;;1679:10;;1690:4;;1648:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1531:175;1715:9;-1:-1:-1;;;;;1715:28:2;;1744:10;1755:49;1797:6;1755:9;-1:-1:-1;;;;;1755:25:2;;1781:10;1755:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:49;1715:90;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1815:9;-1:-1:-1;;;;;1815:40:2;;1856:10;1867:61;1921:6;1867:9;-1:-1:-1;;;;;1867:37:2;;1905:10;1867:49;;;;;;;;;;;;;;;:::i;:61::-;1815:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1939:9;-1:-1:-1;;;;;1939:33:2;;1973:44;2010:6;1973:9;-1:-1:-1;;;;;1973:30:2;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:44;1939:79;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2028:9;-1:-1:-1;;;;;2028:33:2;;2062:44;2099:6;2062:9;-1:-1:-1;;;;;2062:30:2;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:44;2028:79;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2120:50:2;;-1:-1:-1;;;2120:50:2;;2187:16;;-1:-1:-1;;;;;;2120:38:2;;;-1:-1:-1;2120:38:2;;:50;;2159:10;;2120:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:66;:83;2117:486;;;2218:9;-1:-1:-1;;;;;2218:41:2;;2260:10;2271:77;2341:6;2272:9;-1:-1:-1;;;;;2272:38:2;;2311:10;2272:50;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:63;;;;2271:69;:77::i;:::-;2406:50;;-1:-1:-1;;;2406:50:2;;-1:-1:-1;;;;;2406:38:2;;;;;:50;;2445:10;;2406:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:66;2218:255;;-1:-1:-1;;;;;;2218:255:2;;;;;;;;;;;2406:66;2218:255;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2117:486;;;-1:-1:-1;;;;;2502:41:2;;;2544:10;2555:6;2562:29;:16;2583:7;2562:20;:29::i;:::-;2502:90;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2117:486;2612:59;;-1:-1:-1;;;2612:59:2;;-1:-1:-1;;;;;2612:21:2;;;;;:59;;2634:1;;2636:10;;2647:6;;2654:16;;2612:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:2254;;;;;:::o;276:81::-;;;-1:-1:-1;;;;;276:81:2;;:::o;96:20:3:-;;;-1:-1:-1;;;;;96:20:3;;:::o;721:188::-;526:5;;-1:-1:-1;;;;;526:5:3;512:10;:19;504:28;;;;;;-1:-1:-1;;;;;801:22:3;::::1;793:31;;;::::0;::::1;;860:5;::::0;;839:37:::1;::::0;-1:-1:-1;;;;;839:37:3;;::::1;::::0;860:5;::::1;::::0;839:37:::1;::::0;::::1;886:5;:16:::0;;-1:-1:-1;;;;;;886:16:3::1;-1:-1:-1::0;;;;;886:16:3;;;::::1;::::0;;;::::1;::::0;;721:188::o;1329:134:4:-;1387:7;1413:43;1417:1;1420;1413:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1406:50;1329:134;-1:-1:-1;;;1329:134:4:o;882:176::-;940:7;971:5;;;994:6;;;;986:46;;;;;-1:-1:-1;;;986:46:4;;;;;;;;;;;;-1:-1:-1;;;986:46:4;;;;;;;;;;;;;;1754:187;1840:7;1875:12;1867:6;;;;1859:29;;;;-1:-1:-1;;;1859:29:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1910:5:4;;;1754:187::o;14:259:5:-;;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:33;237:5;210:33;:::i;278:263::-;;401:2;389:9;380:7;376:23;372:32;369:2;;;422:6;414;407:22;369:2;459:9;453:16;478:33;505:5;478:33;:::i;546:297::-;;666:2;654:9;645:7;641:23;637:32;634:2;;;687:6;679;672:22;634:2;724:9;718:16;777:5;770:13;763:21;756:5;753:32;743:2;;804:6;796;789:22;848:505;;999:2;987:9;978:7;974:23;970:32;967:2;;;1020:6;1012;1005:22;967:2;1058;1052:9;;;1088:15;;-1:-1:-1;;;;;1118:34:5;;1154:22;;;1115:62;1112:2;;;1180:9;1112:2;1207;1200:22;1246:16;;1231:32;;1317:2;1302:18;;;1296:25;1279:15;;;1272:50;;;;-1:-1:-1;1238:6:5;957:396;-1:-1:-1;957:396:5:o;1358:190::-;;1470:2;1458:9;1449:7;1445:23;1441:32;1438:2;;;1491:6;1483;1476:22;1438:2;-1:-1:-1;1519:23:5;;1428:120;-1:-1:-1;1428:120:5:o;1553:194::-;;1676:2;1664:9;1655:7;1651:23;1647:32;1644:2;;;1697:6;1689;1682:22;1644:2;-1:-1:-1;1725:16:5;;1634:113;-1:-1:-1;1634:113:5:o;1752:203::-;-1:-1:-1;;;;;1916:32:5;;;;1898:51;;1886:2;1871:18;;1853:102::o;2176:312::-;-1:-1:-1;;;;;2414:15:5;;;2396:34;;2466:15;;2461:2;2446:18;;2439:43;2346:2;2331:18;;2313:175::o;2493:292::-;-1:-1:-1;;;;;2687:32:5;;;;2669:51;;2763:14;2756:22;2751:2;2736:18;;2729:50;2657:2;2642:18;;2624:161::o;2790:290::-;-1:-1:-1;;;;;2998:32:5;;;;2980:51;;3062:2;3047:18;;3040:34;2968:2;2953:18;;2935:145::o;3085:402::-;-1:-1:-1;;;;;3339:32:5;;;;3321:51;;3408:13;;3403:2;3388:18;;;3381:41;;;;3464:15;3458:22;3453:2;3438:18;;3431:50;3309:2;3294:18;;3276:211::o;3779:353::-;-1:-1:-1;;;;;4007:32:5;;;;3989:51;;4071:2;4056:18;;4049:34;;;;4114:2;4099:18;;4092:34;3977:2;3962:18;;3944:188::o;4137:464::-;-1:-1:-1;;;;;4432:15:5;;;4414:34;;4484:15;;;4479:2;4464:18;;4457:43;4536:15;;4531:2;4516:18;;4509:43;4583:2;4568:18;;4561:34;;;;4363:3;4348:19;;4330:271::o;4606:383::-;-1:-1:-1;;;;;4872:15:5;;;4854:34;;4924:15;;;;4919:2;4904:18;;4897:43;4971:2;4956:18;;4949:34;;;;4804:2;4789:18;;4771:218::o;4994:433::-;5241:25;;;-1:-1:-1;;;;;5302:32:5;;;;5297:2;5282:18;;5275:60;5366:2;5351:18;;5344:34;5409:2;5394:18;;5387:34;5228:3;5213:19;;5195:232::o;5870:349::-;6072:2;6054:21;;;6111:2;6091:18;;;6084:30;-1:-1:-1;;;6145:2:5;6130:18;;6123:55;6210:2;6195:18;;6044:175::o;6224:397::-;6426:2;6408:21;;;6465:2;6445:18;;;6438:30;6504:34;6499:2;6484:18;;6477:62;-1:-1:-1;;;6570:2:5;6555:18;;6548:31;6611:3;6596:19;;6398:223::o;6626:415::-;6828:2;6810:21;;;6867:2;6847:18;;;6840:30;6906:34;6901:2;6886:18;;6879:62;-1:-1:-1;;;6972:2:5;6957:18;;6950:49;7031:3;7016:19;;6800:241::o;7046:409::-;7248:2;7230:21;;;7287:2;7267:18;;;7260:30;7326:34;7321:2;7306:18;;7299:62;-1:-1:-1;;;7392:2:5;7377:18;;7370:43;7445:3;7430:19;;7220:235::o;7460:177::-;7606:25;;;7594:2;7579:18;;7561:76::o;7642:133::-;-1:-1:-1;;;;;7719:31:5;;7709:42;;7699:2;;7765:1;7762;7755:12;7699:2;7689:86;:::o
Swarm Source
ipfs://ef8f2520388a09482e7bd98c90b9819492045d2ce87a2d85d30127ba4d6065fd
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.