Source Code
Latest 25 from a total of 250 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Claim Share | 19396241 | 736 days ago | IN | 0 ETH | 0.00189929 | ||||
| Claim Share | 19276030 | 753 days ago | IN | 0 ETH | 0.00122516 | ||||
| Claim Share | 19084227 | 780 days ago | IN | 0 ETH | 0.00123072 | ||||
| Claim Share | 19042037 | 786 days ago | IN | 0 ETH | 0.00185513 | ||||
| Claim Share | 19012502 | 790 days ago | IN | 0 ETH | 0.00109086 | ||||
| Claim Share | 19007521 | 791 days ago | IN | 0 ETH | 0.00090975 | ||||
| Claim Share | 19005430 | 791 days ago | IN | 0 ETH | 0.0019337 | ||||
| Claim Share | 19001881 | 791 days ago | IN | 0 ETH | 0.00060577 | ||||
| Claim Share | 18993964 | 793 days ago | IN | 0 ETH | 0.00119512 | ||||
| Claim Share | 18991047 | 793 days ago | IN | 0 ETH | 0.00086171 | ||||
| Claim Share | 18988446 | 793 days ago | IN | 0 ETH | 0.000709 | ||||
| Claim Share | 18985738 | 794 days ago | IN | 0 ETH | 0.00111341 | ||||
| Claim Share | 18984915 | 794 days ago | IN | 0 ETH | 0.00208653 | ||||
| Claim Share | 18984031 | 794 days ago | IN | 0 ETH | 0.00148299 | ||||
| Claim Share | 18983815 | 794 days ago | IN | 0 ETH | 0.00112194 | ||||
| Claim Share | 18983728 | 794 days ago | IN | 0 ETH | 0.00134756 | ||||
| Claim Share | 18983662 | 794 days ago | IN | 0 ETH | 0.00090589 | ||||
| Claim Share | 18983660 | 794 days ago | IN | 0 ETH | 0.0008094 | ||||
| Claim Share | 18983659 | 794 days ago | IN | 0 ETH | 0.00111302 | ||||
| Claim Share | 18982943 | 794 days ago | IN | 0 ETH | 0.00074006 | ||||
| Claim Share | 18982867 | 794 days ago | IN | 0 ETH | 0.00075466 | ||||
| Claim Share | 18982867 | 794 days ago | IN | 0 ETH | 0.00075466 | ||||
| Claim Share | 18982866 | 794 days ago | IN | 0 ETH | 0.00072095 | ||||
| Claim Share | 18982866 | 794 days ago | IN | 0 ETH | 0.00072095 | ||||
| Claim Share | 18982866 | 794 days ago | IN | 0 ETH | 0.00095567 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 19396241 | 736 days ago | 0.00007305 ETH | ||||
| Transfer | 19084227 | 780 days ago | 0.07305372 ETH | ||||
| Transfer | 19042037 | 786 days ago | 0.07305372 ETH | ||||
| Transfer | 19005430 | 791 days ago | 0.07305372 ETH | ||||
| Transfer | 18993964 | 793 days ago | 0.03652686 ETH | ||||
| Transfer | 18991047 | 793 days ago | 0.00730537 ETH | ||||
| Transfer | 18988446 | 793 days ago | 0.07305372 ETH | ||||
| Transfer | 18985738 | 794 days ago | 0.01461074 ETH | ||||
| Transfer | 18984915 | 794 days ago | 0.02191611 ETH | ||||
| Transfer | 18984031 | 794 days ago | 0.00365268 ETH | ||||
| Transfer | 18983815 | 794 days ago | 0.03652686 ETH | ||||
| Transfer | 18983728 | 794 days ago | 0.00073053 ETH | ||||
| Transfer | 18983659 | 794 days ago | 0.07305372 ETH | ||||
| Transfer | 18982866 | 794 days ago | 0.02922148 ETH | ||||
| Transfer | 18982727 | 794 days ago | 0.22646654 ETH | ||||
| Transfer | 18982640 | 794 days ago | 0.07305372 ETH | ||||
| Transfer | 18982485 | 794 days ago | 0.1826343 ETH | ||||
| Transfer | 18982457 | 794 days ago | 0.07312677 ETH | ||||
| Transfer | 18982394 | 794 days ago | 0.02922148 ETH | ||||
| Transfer | 18982290 | 794 days ago | 0.07305372 ETH | ||||
| Transfer | 18982270 | 794 days ago | 0.01461074 ETH | ||||
| Transfer | 18982269 | 794 days ago | 0.02191611 ETH | ||||
| Transfer | 18981744 | 794 days ago | 0.00292214 ETH | ||||
| Transfer | 18981680 | 794 days ago | 0.07305372 ETH | ||||
| Transfer | 18981660 | 794 days ago | 0.21916116 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
EtfBet
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/**
*Submitted for verification at basescan.org on 2023-08-10
*/
// File: contracts/Context.sol
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)
pragma solidity ^0.8.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 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) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
// File: contracts/Ownable.sol
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)
pragma solidity ^0.8.0;
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* By default, the owner account will be the one that deploys the contract. This
* can later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the deployer as the initial owner.
*/
constructor() {
_transferOwnership(_msgSender());
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
pragma solidity >=0.8.2 <0.9.0;
// TODO: Events, final pricing model,
contract EtfBet is Ownable {
uint256 public constant CREATOR_PREMINT = 1 ether; // 1e18
address public protocolFeeDestination = 0x03DCc8d126045a8c8B1E3c11DC442c4b229f1c77; //0x6FC7f47Ec1c3181Ec8027f6C8cd9b0367f07Db26;
address public rageModeFeeDestination = 0xC754e76233F1324D6B345740798DaB26FaACc0b7; //0x52E52BF832D77d8be17920C0bCa7C01A21F3DD8b;
address public nextBonusDestination = 0x62861C2678173f9F9E4F564081Bee1Ad63fF4c29; //0x0f2Cc9aACEa541862CD67E50E8Fb93d6863f4Adb;
uint256 public protocolFeePercent = 80000000000000000;
uint256 public rageModeFeePercent = 20000000000000000;
uint256 public nextBonusFeePercent = 100000000000000000;
uint256 public longShareSupply;
mapping(address => uint256) public longShareBalance;
uint256 public shortShareSupply;
mapping(address => uint256) public shortShareBalance;
bool public rageModeEnable;
bool public gameOverEnable;
uint256 public eftApproveResult;// 1 pass 2 reject
bool public eftHasPublish;
bool public nextBonusClaimed;
uint256 public selftBalance;
uint256 public longEtherValue;
uint256 public shortEtherValue;
modifier volidEtfResultor(uint256 result) {
require(result == 1 || result == 2);
_;
}
event LongTrade(address trader, bool isBuy, uint256 shareAmount, uint256 ethAmount, uint256 protocolEthAmount, uint256 rageModeEthAmount, uint256 supply);
event ShortTrade(address trader, bool isBuy, uint256 shareAmount, uint256 ethAmount, uint256 protocolEthAmount, uint256 rageModeEthAmount, uint256 supply);
constructor() {
longShareBalance[msg.sender] = CREATOR_PREMINT;
shortShareBalance[msg.sender] = CREATOR_PREMINT;
longShareSupply = CREATOR_PREMINT;
shortShareSupply = CREATOR_PREMINT;
}
function setProtocolFeeDestination(address _feeDestination) public onlyOwner {
protocolFeeDestination = _feeDestination;
}
function setRageModeFeeDestination(address _feeDestination) public onlyOwner {
rageModeFeeDestination = _feeDestination;
}
function setNextBonusDestination(address destination) public onlyOwner {
nextBonusDestination = destination;
}
function setProtocolFeePercent(uint256 _feePercent) public onlyOwner {
protocolFeePercent = _feePercent;
}
function setRageModeFeePercent(uint256 _feePercent) public onlyOwner {
rageModeFeePercent = _feePercent;
}
function setNextBonusFeePercent(uint256 _feePercent) public onlyOwner {
nextBonusFeePercent = _feePercent;
}
function setRageModeEnable(bool enable) public onlyOwner {
rageModeEnable = enable;
}
function setGameOverEnable(bool enable) public onlyOwner {
gameOverEnable = enable;
}
function publishEtfResult(uint256 result) public onlyOwner volidEtfResultor(result) {
require(!eftHasPublish, "has publish");
require(gameOverEnable, "Gaming");
require(result == 1 || result == 2, "invalid result");
eftApproveResult = result;
eftHasPublish = true;
}
function _curve(uint256 x) private pure returns (uint256) {
return x <= CREATOR_PREMINT ? 0 : ((x - CREATOR_PREMINT) * (x - CREATOR_PREMINT) * (x - CREATOR_PREMINT));
}
function getPrice(uint256 supply, uint256 amount) public pure returns (uint256) {
return (_curve(supply + amount) - _curve(supply)) / 1 ether / 1 ether / 50_000 / 3;
}
// function getLongBuyPrice(uint256 amount) public view returns (uint256) {
// return getPrice(longShareSupply, amount);
// }
// function getPrice(uint256 supply, uint256 amount) public pure returns (uint256) {
// uint256 sum1 = supply == 0 ? 0 : (supply - 1 )* (supply) * (2 * (supply - 1) + 1) / 6;
// uint256 sum2 = supply == 0 && amount == 1 ? 0 : (supply - 1 + amount) * (supply + amount) * (2 * (supply - 1 + amount) + 1) / 6;
// uint256 summation = sum2 - sum1;
// return summation * 1 ether / 50000000;
// }
function getBuyLongPrice(uint256 amount) public view returns (uint256) {
return getPrice(longShareSupply, amount);
}
function getSellLongPrice(uint256 amount) public view returns (uint256) {
return getPrice(longShareSupply - amount, amount);
}
function getBuyLongPriceAfterFee(uint256 amount) public view returns (uint256) {
uint256 price = getBuyLongPrice(amount);
uint256 protocolFee = price * protocolFeePercent / 1 ether;
uint256 rageModeFee = price * rageModeFeePercent / 1 ether;
return price + protocolFee + rageModeFee;
}
function getSellLongPriceAfterFee(uint256 amount) public view returns (uint256) {
uint256 price = getSellLongPrice(amount);
uint256 protocolFee = price * protocolFeePercent / 1 ether;
uint256 rageModeFee = price * rageModeFeePercent / 1 ether;
return price - protocolFee - rageModeFee;
}
function buyLongShares(uint256 amount) public payable {
require(!gameOverEnable, "Game Over");
uint256 supply = longShareSupply;
uint256 price = getPrice(supply, amount);
uint256 protocolFee = price * protocolFeePercent / 1 ether;
uint256 rageModeFee = price * rageModeFeePercent / 1 ether;
require(msg.value >= price + protocolFee + rageModeFee, "Insufficient payment");
longShareBalance[msg.sender] = longShareBalance[msg.sender] + amount;
longShareSupply = supply + amount;
emit LongTrade(msg.sender, true, amount, price, protocolFee, rageModeFee, supply + amount);
(bool success1, ) = protocolFeeDestination.call{value: protocolFee}("");
(bool success2, ) = rageModeFeeDestination.call{value: rageModeFee}("");
selftBalance = selftBalance + msg.value - protocolFee - rageModeFee;
longEtherValue = longEtherValue + msg.value - protocolFee - rageModeFee;
require(success1 && success2, "Unable to send funds");
}
function sellLongShares(uint256 amount) public payable {
require(!gameOverEnable, "Game Over");
require(!rageModeEnable, "Rage Mode");
uint256 supply = longShareSupply;
require(supply > amount, "Cannot sell the last share");
uint256 price = getPrice(supply - amount, amount);
uint256 protocolFee = price * protocolFeePercent / 1 ether;
uint256 rageModeFee = price * rageModeFeePercent / 1 ether;
require(longShareBalance[msg.sender] >= amount, "Insufficient shares");
longShareBalance[msg.sender] = longShareBalance[msg.sender] - amount;
longShareSupply = supply - amount;
emit LongTrade(msg.sender, false, amount, price, protocolFee, rageModeFee, supply - amount);
(bool success1, ) = msg.sender.call{value: price - protocolFee - rageModeFee}("");
(bool success2, ) = protocolFeeDestination.call{value: protocolFee}("");
(bool success3, ) = rageModeFeeDestination.call{value: rageModeFee}("");
selftBalance = selftBalance - price;
longEtherValue = longEtherValue - price;
require(success1 && success2 && success3, "Unable to send funds");
}
function getBuyShortPrice(uint256 amount) public view returns (uint256) {
return getPrice(shortShareSupply, amount);
}
function getSellShortPrice(uint256 amount) public view returns (uint256) {
return getPrice(shortShareSupply - amount, amount);
}
function getBuyShortPriceAfterFee(uint256 amount) public view returns (uint256) {
uint256 price = getBuyShortPrice(amount);
uint256 protocolFee = price * protocolFeePercent / 1 ether;
uint256 rageModeFee = price * rageModeFeePercent / 1 ether;
return price + protocolFee + rageModeFee;
}
function getSellShortPriceAfterFee(uint256 amount) public view returns (uint256) {
uint256 price = getSellShortPrice(amount);
uint256 protocolFee = price * protocolFeePercent / 1 ether;
uint256 rageModeFee = price * rageModeFeePercent / 1 ether;
return price - protocolFee - rageModeFee;
}
function buyShortShares(uint256 amount) public payable {
require(!gameOverEnable, "Game Over");
uint256 supply = shortShareSupply;
uint256 price = getPrice(supply, amount);
uint256 protocolFee = price * protocolFeePercent / 1 ether;
uint256 rageModeFee = price * rageModeFeePercent / 1 ether;
require(msg.value >= price + protocolFee + rageModeFee, "Insufficient payment");
shortShareBalance[msg.sender] = shortShareBalance[msg.sender] + amount;
shortShareSupply = supply + amount;
emit ShortTrade(msg.sender, true, amount, price, protocolFee, rageModeFee, supply + amount);
(bool success1, ) = protocolFeeDestination.call{value: protocolFee}("");
(bool success2, ) = rageModeFeeDestination.call{value: rageModeFee}("");
selftBalance = selftBalance + msg.value - protocolFee - rageModeFee;
shortEtherValue = shortEtherValue + msg.value - protocolFee - rageModeFee;
require(success1 && success2, "Unable to send funds");
}
function sellShortShares(uint256 amount) public payable {
require(!gameOverEnable, "Game Over");
require(!rageModeEnable, "Rage Mode");
uint256 supply = shortShareSupply;
require(supply > amount, "Cannot sell the last share");
uint256 price = getPrice(supply - amount, amount);
uint256 protocolFee = price * protocolFeePercent / 1 ether;
uint256 rageModeFee = price * rageModeFeePercent / 1 ether;
require(shortShareBalance[msg.sender] >= amount, "Insufficient shares");
shortShareBalance[msg.sender] = shortShareBalance[msg.sender] - amount;
shortShareSupply = supply - amount;
emit ShortTrade(msg.sender, false, amount, price, protocolFee, rageModeFee, supply - amount);
(bool success1, ) = msg.sender.call{value: price - protocolFee - rageModeFee}("");
(bool success2, ) = protocolFeeDestination.call{value: protocolFee}("");
(bool success3, ) = rageModeFeeDestination.call{value: rageModeFee}("");
selftBalance = selftBalance - price;
shortEtherValue = shortEtherValue - price;
require(success1 && success2 && success3, "Unable to send funds");
}
function claimShare(uint256 amount) public payable {
require(gameOverEnable, "Gaming");
require(nextBonusClaimed, "next bonus unclaim");
require(eftApproveResult == 1 || eftApproveResult == 2, "invalid result");
if (eftApproveResult == 1) {
require(longShareBalance[msg.sender] >= amount, "Insufficient shares");
longShareBalance[msg.sender] = longShareBalance[msg.sender] - amount;
uint256 sendValue = selftBalance * amount / longShareSupply;
(bool success, ) = msg.sender.call{value: sendValue}("");
require(success, "Unable to send funds");
} else {
require(shortShareBalance[msg.sender] >= amount, "Insufficient shares");
shortShareBalance[msg.sender] = shortShareBalance[msg.sender] - amount;
uint256 sendValue = selftBalance * amount / shortShareSupply;
(bool success, ) = msg.sender.call{value: sendValue}("");
require(success, "Unable to send funds");
}
}
function claimNextBonus() public onlyOwner {
require(gameOverEnable, "Gaming");
require(!nextBonusClaimed, "next bonus claimed");
require(eftApproveResult == 1 || eftApproveResult == 2, "invalid result");
if (eftApproveResult == 1) {
uint256 nextBonusFee = shortEtherValue * nextBonusFeePercent / 1 ether;
require(selftBalance > nextBonusFee, "Insufficient selftBalance");
selftBalance = selftBalance - nextBonusFee;
(bool success, ) = nextBonusDestination.call{value: nextBonusFee}("");
nextBonusClaimed = true;
require(success, "Unable to send funds");
} else {
uint256 nextBonusFee = longEtherValue * nextBonusFeePercent / 1 ether;
require(selftBalance > nextBonusFee, "Insufficient selftBalance");
selftBalance = selftBalance - nextBonusFee;
(bool success, ) = nextBonusDestination.call{value: nextBonusFee}("");
nextBonusClaimed = true;
require(success, "Unable to send funds");
}
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"bool","name":"isBuy","type":"bool"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"protocolEthAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rageModeEthAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"supply","type":"uint256"}],"name":"LongTrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"trader","type":"address"},{"indexed":false,"internalType":"bool","name":"isBuy","type":"bool"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"protocolEthAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"rageModeEthAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"supply","type":"uint256"}],"name":"ShortTrade","type":"event"},{"inputs":[],"name":"CREATOR_PREMINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyLongShares","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyShortShares","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimNextBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claimShare","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"eftApproveResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eftHasPublish","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gameOverEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getBuyLongPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getBuyLongPriceAfterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getBuyShortPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getBuyShortPriceAfterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getSellLongPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getSellLongPriceAfterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getSellShortPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getSellShortPriceAfterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"longEtherValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"longShareBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"longShareSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextBonusClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextBonusDestination","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextBonusFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeeDestination","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"result","type":"uint256"}],"name":"publishEtfResult","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rageModeEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rageModeFeeDestination","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rageModeFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"selftBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sellLongShares","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sellShortShares","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setGameOverEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"}],"name":"setNextBonusDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_feePercent","type":"uint256"}],"name":"setNextBonusFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeDestination","type":"address"}],"name":"setProtocolFeeDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_feePercent","type":"uint256"}],"name":"setProtocolFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setRageModeEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeDestination","type":"address"}],"name":"setRageModeFeeDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_feePercent","type":"uint256"}],"name":"setRageModeFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shortEtherValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shortShareBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"shortShareSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040527303dcc8d126045a8c8b1e3c11dc442c4b229f1c77600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c754e76233f1324d6b345740798dab26faacc0b7600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507362861c2678173f9f9e4f564081bee1ad63ff4c29600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555067011c37937e08000060045566470de4df82000060055567016345785d8a00006006553480156200013357600080fd5b5062000154620001486200021060201b60201c565b6200021860201b60201c565b670de0b6b3a7640000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550670de0b6b3a7640000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550670de0b6b3a7640000600781905550670de0b6b3a7640000600981905550620002dc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61379980620002ec6000396000f3fe60806040526004361061027d5760003560e01c8063707dd89c1161014f578063a4983421116100c1578063cd91c83a1161007a578063cd91c83a1461098c578063d6e6eb9f146109a3578063e644787b146109ce578063f1079c52146109ea578063f2fde38b14610a15578063fe2909c614610a3e5761027d565b8063a498342114610874578063a7b83fbd1461089d578063aa359591146108da578063b1ebf92514610917578063b70e162214610933578063c86ba442146109705761027d565b806384f86cd21161011357806384f86cd2146107625780638a2662c91461078d5780638da5cb5b146107ca57806398d40fce146107f55780639c62192a14610820578063a10786b01461084b5761027d565b8063707dd89c1461068d578063715018a6146106b85780637792858a146106cf5780637ffb25ac146106fa57806381e6bcb1146107255761027d565b8063437a10fe116101f3578063500099ea116101ac578063500099ea1461055b5780635216050214610584578063587233a4146105c15780635cf4ee91146105ea5780635f4a5d0214610627578063616b2331146106645761027d565b8063437a10fe1461045d578063484ee4671461048657806349be8b0d146104b15780634ce7957c146104dc5780634dbd954a146105075780634e3f5408146105325761027d565b80631cef068b116102455780631cef068b146103465780631e048639146103625780632f75d81e1461038d57806332f77c64146103b85780633422339b146103f557806341ba9c08146104325761027d565b8063042569a914610282578063080b95e2146102ad5780630cc03e7a146102d657806313ebc6e2146102f257806315e786ad1461031b575b600080fd5b34801561028e57600080fd5b50610297610a7b565b6040516102a49190612d59565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf9190612db1565b610a81565b005b6102f060048036038101906102eb9190612e0a565b610aa6565b005b3480156102fe57600080fd5b5061031960048036038101906103149190612e0a565b610f63565b005b34801561032757600080fd5b50610330611097565b60405161033d9190612d59565b60405180910390f35b610360600480360381019061035b9190612e0a565b61109d565b005b34801561036e57600080fd5b5061037761157c565b6040516103849190612d59565b60405180910390f35b34801561039957600080fd5b506103a2611582565b6040516103af9190612e78565b60405180910390f35b3480156103c457600080fd5b506103df60048036038101906103da9190612e0a565b6115a8565b6040516103ec9190612d59565b60405180910390f35b34801561040157600080fd5b5061041c60048036038101906104179190612e0a565b611621565b6040516104299190612d59565b60405180910390f35b34801561043e57600080fd5b50610447611636565b6040516104549190612ea2565b60405180910390f35b34801561046957600080fd5b50610484600480360381019061047f9190612e0a565b611649565b005b34801561049257600080fd5b5061049b61165b565b6040516104a89190612ea2565b60405180910390f35b3480156104bd57600080fd5b506104c661166e565b6040516104d39190612e78565b60405180910390f35b3480156104e857600080fd5b506104f1611694565b6040516104fe9190612e78565b60405180910390f35b34801561051357600080fd5b5061051c6116ba565b6040516105299190612ea2565b60405180910390f35b34801561053e57600080fd5b5061055960048036038101906105549190612db1565b6116cd565b005b34801561056757600080fd5b50610582600480360381019061057d9190612e0a565b6116f2565b005b34801561059057600080fd5b506105ab60048036038101906105a69190612e0a565b611704565b6040516105b89190612d59565b60405180910390f35b3480156105cd57600080fd5b506105e860048036038101906105e39190612ee9565b611724565b005b3480156105f657600080fd5b50610611600480360381019061060c9190612f16565b611770565b60405161061e9190612d59565b60405180910390f35b34801561063357600080fd5b5061064e60048036038101906106499190612e0a565b6117d8565b60405161065b9190612d59565b60405180910390f35b34801561067057600080fd5b5061068b60048036038101906106869190612ee9565b611851565b005b34801561069957600080fd5b506106a261189d565b6040516106af9190612d59565b60405180910390f35b3480156106c457600080fd5b506106cd6118a3565b005b3480156106db57600080fd5b506106e46118b7565b6040516106f19190612d59565b60405180910390f35b34801561070657600080fd5b5061070f6118bd565b60405161071c9190612d59565b60405180910390f35b34801561073157600080fd5b5061074c60048036038101906107479190612e0a565b6118c9565b6040516107599190612d59565b60405180910390f35b34801561076e57600080fd5b50610777611942565b6040516107849190612d59565b60405180910390f35b34801561079957600080fd5b506107b460048036038101906107af9190612e0a565b611948565b6040516107c19190612d59565b60405180910390f35b3480156107d657600080fd5b506107df61195d565b6040516107ec9190612e78565b60405180910390f35b34801561080157600080fd5b5061080a611986565b6040516108179190612d59565b60405180910390f35b34801561082c57600080fd5b5061083561198c565b6040516108429190612ea2565b60405180910390f35b34801561085757600080fd5b50610872600480360381019061086d9190612ee9565b61199f565b005b34801561088057600080fd5b5061089b60048036038101906108969190612e0a565b6119eb565b005b3480156108a957600080fd5b506108c460048036038101906108bf9190612e0a565b6119fd565b6040516108d19190612d59565b60405180910390f35b3480156108e657600080fd5b5061090160048036038101906108fc9190612e0a565b611a76565b60405161090e9190612d59565b60405180910390f35b610931600480360381019061092c9190612e0a565b611a96565b005b34801561093f57600080fd5b5061095a60048036038101906109559190612ee9565b611e4f565b6040516109679190612d59565b60405180910390f35b61098a60048036038101906109859190612e0a565b611e67565b005b34801561099857600080fd5b506109a1612346565b005b3480156109af57600080fd5b506109b8612725565b6040516109c59190612d59565b60405180910390f35b6109e860048036038101906109e39190612e0a565b61272b565b005b3480156109f657600080fd5b506109ff612ae4565b604051610a0c9190612d59565b60405180910390f35b348015610a2157600080fd5b50610a3c6004803603810190610a379190612ee9565b612aea565b005b348015610a4a57600080fd5b50610a656004803603810190610a609190612ee9565b612b6d565b604051610a729190612d59565b60405180910390f35b60065481565b610a89612b85565b80600b60006101000a81548160ff02191690831515021790555050565b600b60019054906101000a900460ff16610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec90612fb3565b60405180910390fd5b600d60019054906101000a900460ff16610b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3b9061301f565b60405180910390fd5b6001600c541480610b5757506002600c54145b610b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8d9061308b565b60405180910390fd5b6001600c5403610d825780600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c19906130f7565b60405180910390fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c6d9190613146565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060075482600e54610cc3919061317a565b610ccd91906131eb565b905060003373ffffffffffffffffffffffffffffffffffffffff1682604051610cf59061324d565b60006040518083038185875af1925050503d8060008114610d32576040519150601f19603f3d011682016040523d82523d6000602084013e610d37565b606091505b5050905080610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d72906132ae565b60405180910390fd5b5050610f60565b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906130f7565b60405180910390fd5b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e4f9190613146565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060095482600e54610ea5919061317a565b610eaf91906131eb565b905060003373ffffffffffffffffffffffffffffffffffffffff1682604051610ed79061324d565b60006040518083038185875af1925050503d8060008114610f14576040519150601f19603f3d011682016040523d82523d6000602084013e610f19565b606091505b5050905080610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f54906132ae565b60405180910390fd5b50505b50565b610f6b612b85565b806001811480610f7b5750600281145b610f8457600080fd5b600d60009054906101000a900460ff1615610fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcb9061331a565b60405180910390fd5b600b60019054906101000a900460ff16611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a90612fb3565b60405180910390fd5b60018214806110325750600282145b611071576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110689061308b565b60405180910390fd5b81600c819055506001600d60006101000a81548160ff0219169083151502179055505050565b60055481565b600b60019054906101000a900460ff16156110ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e490613386565b60405180910390fd5b600b60009054906101000a900460ff161561113d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611134906133f2565b60405180910390fd5b60006007549050818111611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d9061345e565b60405180910390fd5b600061119d83836111979190613146565b84611770565b90506000670de0b6b3a7640000600454836111b8919061317a565b6111c291906131eb565b90506000670de0b6b3a7640000600554846111dd919061317a565b6111e791906131eb565b905084600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561126b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611262906130f7565b60405180910390fd5b84600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112b69190613146565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084846113059190613146565b6007819055507f50d60398263f0b8253c56e7f3098584296bd15c3c7fedcecfcaee645d403027b336000878686868b8b61133f9190613146565b604051611352979695949392919061347e565b60405180910390a160003373ffffffffffffffffffffffffffffffffffffffff168284866113809190613146565b61138a9190613146565b6040516113969061324d565b60006040518083038185875af1925050503d80600081146113d3576040519150601f19603f3d011682016040523d82523d6000602084013e6113d8565b606091505b505090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516114249061324d565b60006040518083038185875af1925050503d8060008114611461576040519150601f19603f3d011682016040523d82523d6000602084013e611466565b606091505b505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516114b29061324d565b60006040518083038185875af1925050503d80600081146114ef576040519150601f19603f3d011682016040523d82523d6000602084013e6114f4565b606091505b5050905085600e546115069190613146565b600e8190555085600f5461151a9190613146565b600f8190555082801561152a5750815b80156115335750805b611572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611569906132ae565b60405180910390fd5b5050505050505050565b600e5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806115b483611704565b90506000670de0b6b3a7640000600454836115cf919061317a565b6115d991906131eb565b90506000670de0b6b3a7640000600554846115f4919061317a565b6115fe91906131eb565b905080828461160d9190613146565b6116179190613146565b9350505050919050565b600061162f60095483611770565b9050919050565b600b60009054906101000a900460ff1681565b611651612b85565b8060068190555050565b600b60019054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b6116d5612b85565b80600b60016101000a81548160ff02191690831515021790555050565b6116fa612b85565b8060058190555050565b600061171d826009546117179190613146565b83611770565b9050919050565b61172c612b85565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600361c350670de0b6b3a76400008061178a87612c03565b61179e878961179991906134ed565b612c03565b6117a89190613146565b6117b291906131eb565b6117bc91906131eb565b6117c691906131eb565b6117d091906131eb565b905092915050565b6000806117e483611948565b90506000670de0b6b3a7640000600454836117ff919061317a565b61180991906131eb565b90506000670de0b6b3a764000060055484611824919061317a565b61182e91906131eb565b905080828461183d91906134ed565b61184791906134ed565b9350505050919050565b611859612b85565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60075481565b6118ab612b85565b6118b56000612c74565b565b60105481565b670de0b6b3a764000081565b6000806118d583611a76565b90506000670de0b6b3a7640000600454836118f0919061317a565b6118fa91906131eb565b90506000670de0b6b3a764000060055484611915919061317a565b61191f91906131eb565b905080828461192e9190613146565b6119389190613146565b9350505050919050565b600f5481565b600061195660075483611770565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b600d60019054906101000a900460ff1681565b6119a7612b85565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119f3612b85565b8060048190555050565b600080611a0983611621565b90506000670de0b6b3a764000060045483611a24919061317a565b611a2e91906131eb565b90506000670de0b6b3a764000060055484611a49919061317a565b611a5391906131eb565b9050808284611a6291906134ed565b611a6c91906134ed565b9350505050919050565b6000611a8f82600754611a899190613146565b83611770565b9050919050565b600b60019054906101000a900460ff1615611ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611add90613386565b60405180910390fd5b600060075490506000611af98284611770565b90506000670de0b6b3a764000060045483611b14919061317a565b611b1e91906131eb565b90506000670de0b6b3a764000060055484611b39919061317a565b611b4391906131eb565b9050808284611b5291906134ed565b611b5c91906134ed565b341015611b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b959061356d565b60405180910390fd5b84600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be991906134ed565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508484611c3891906134ed565b6007819055507f50d60398263f0b8253c56e7f3098584296bd15c3c7fedcecfcaee645d403027b336001878686868b8b611c7291906134ed565b604051611c85979695949392919061347e565b60405180910390a16000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611cd59061324d565b60006040518083038185875af1925050503d8060008114611d12576040519150601f19603f3d011682016040523d82523d6000602084013e611d17565b606091505b505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611d639061324d565b60006040518083038185875af1925050503d8060008114611da0576040519150601f19603f3d011682016040523d82523d6000602084013e611da5565b606091505b50509050828434600e54611db991906134ed565b611dc39190613146565b611dcd9190613146565b600e81905550828434600f54611de391906134ed565b611ded9190613146565b611df79190613146565b600f81905550818015611e075750805b611e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3d906132ae565b60405180910390fd5b50505050505050565b600a6020528060005260406000206000915090505481565b600b60019054906101000a900460ff1615611eb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eae90613386565b60405180910390fd5b600b60009054906101000a900460ff1615611f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efe906133f2565b60405180910390fd5b60006009549050818111611f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f479061345e565b60405180910390fd5b6000611f678383611f619190613146565b84611770565b90506000670de0b6b3a764000060045483611f82919061317a565b611f8c91906131eb565b90506000670de0b6b3a764000060055484611fa7919061317a565b611fb191906131eb565b905084600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202c906130f7565b60405180910390fd5b84600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120809190613146565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084846120cf9190613146565b6009819055507fb0c5ecf77be2fe1053eb203023bbf03a951cffabc89d6d923852336cc245d728336000878686868b8b6121099190613146565b60405161211c979695949392919061347e565b60405180910390a160003373ffffffffffffffffffffffffffffffffffffffff1682848661214a9190613146565b6121549190613146565b6040516121609061324d565b60006040518083038185875af1925050503d806000811461219d576040519150601f19603f3d011682016040523d82523d6000602084013e6121a2565b606091505b505090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516121ee9061324d565b60006040518083038185875af1925050503d806000811461222b576040519150601f19603f3d011682016040523d82523d6000602084013e612230565b606091505b505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405161227c9061324d565b60006040518083038185875af1925050503d80600081146122b9576040519150601f19603f3d011682016040523d82523d6000602084013e6122be565b606091505b5050905085600e546122d09190613146565b600e81905550856010546122e49190613146565b6010819055508280156122f45750815b80156122fd5750805b61233c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612333906132ae565b60405180910390fd5b5050505050505050565b61234e612b85565b600b60019054906101000a900460ff1661239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239490612fb3565b60405180910390fd5b600d60019054906101000a900460ff16156123ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e4906135d9565b60405180910390fd5b6001600c54148061240057506002600c54145b61243f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124369061308b565b60405180910390fd5b6001600c54036125b8576000670de0b6b3a7640000600654601054612464919061317a565b61246e91906131eb565b905080600e54116124b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ab90613645565b60405180910390fd5b80600e546124c29190613146565b600e819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516125109061324d565b60006040518083038185875af1925050503d806000811461254d576040519150601f19603f3d011682016040523d82523d6000602084013e612552565b606091505b505090506001600d60016101000a81548160ff021916908315150217905550806125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a8906132ae565b60405180910390fd5b5050612723565b6000670de0b6b3a7640000600654600f546125d3919061317a565b6125dd91906131eb565b905080600e5411612623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261a90613645565b60405180910390fd5b80600e546126319190613146565b600e819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161267f9061324d565b60006040518083038185875af1925050503d80600081146126bc576040519150601f19603f3d011682016040523d82523d6000602084013e6126c1565b606091505b505090506001600d60016101000a81548160ff02191690831515021790555080612720576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612717906132ae565b60405180910390fd5b50505b565b60045481565b600b60019054906101000a900460ff161561277b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277290613386565b60405180910390fd5b60006009549050600061278e8284611770565b90506000670de0b6b3a7640000600454836127a9919061317a565b6127b391906131eb565b90506000670de0b6b3a7640000600554846127ce919061317a565b6127d891906131eb565b90508082846127e791906134ed565b6127f191906134ed565b341015612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282a9061356d565b60405180910390fd5b84600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e91906134ed565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084846128cd91906134ed565b6009819055507fb0c5ecf77be2fe1053eb203023bbf03a951cffabc89d6d923852336cc245d728336001878686868b8b61290791906134ed565b60405161291a979695949392919061347e565b60405180910390a16000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161296a9061324d565b60006040518083038185875af1925050503d80600081146129a7576040519150601f19603f3d011682016040523d82523d6000602084013e6129ac565b606091505b505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516129f89061324d565b60006040518083038185875af1925050503d8060008114612a35576040519150601f19603f3d011682016040523d82523d6000602084013e612a3a565b606091505b50509050828434600e54612a4e91906134ed565b612a589190613146565b612a629190613146565b600e81905550828434601054612a7891906134ed565b612a829190613146565b612a8c9190613146565b601081905550818015612a9c5750805b612adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ad2906132ae565b60405180910390fd5b50505050505050565b60095481565b612af2612b85565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b58906136d7565b60405180910390fd5b612b6a81612c74565b50565b60086020528060005260406000206000915090505481565b612b8d612d38565b73ffffffffffffffffffffffffffffffffffffffff16612bab61195d565b73ffffffffffffffffffffffffffffffffffffffff1614612c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf890613743565b60405180910390fd5b565b6000670de0b6b3a7640000821115612c6a57670de0b6b3a764000082612c299190613146565b670de0b6b3a764000083612c3d9190613146565b670de0b6b3a764000084612c519190613146565b612c5b919061317a565b612c65919061317a565b612c6d565b60005b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000819050919050565b612d5381612d40565b82525050565b6000602082019050612d6e6000830184612d4a565b92915050565b600080fd5b60008115159050919050565b612d8e81612d79565b8114612d9957600080fd5b50565b600081359050612dab81612d85565b92915050565b600060208284031215612dc757612dc6612d74565b5b6000612dd584828501612d9c565b91505092915050565b612de781612d40565b8114612df257600080fd5b50565b600081359050612e0481612dde565b92915050565b600060208284031215612e2057612e1f612d74565b5b6000612e2e84828501612df5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e6282612e37565b9050919050565b612e7281612e57565b82525050565b6000602082019050612e8d6000830184612e69565b92915050565b612e9c81612d79565b82525050565b6000602082019050612eb76000830184612e93565b92915050565b612ec681612e57565b8114612ed157600080fd5b50565b600081359050612ee381612ebd565b92915050565b600060208284031215612eff57612efe612d74565b5b6000612f0d84828501612ed4565b91505092915050565b60008060408385031215612f2d57612f2c612d74565b5b6000612f3b85828601612df5565b9250506020612f4c85828601612df5565b9150509250929050565b600082825260208201905092915050565b7f47616d696e670000000000000000000000000000000000000000000000000000600082015250565b6000612f9d600683612f56565b9150612fa882612f67565b602082019050919050565b60006020820190508181036000830152612fcc81612f90565b9050919050565b7f6e65787420626f6e757320756e636c61696d0000000000000000000000000000600082015250565b6000613009601283612f56565b915061301482612fd3565b602082019050919050565b6000602082019050818103600083015261303881612ffc565b9050919050565b7f696e76616c696420726573756c74000000000000000000000000000000000000600082015250565b6000613075600e83612f56565b91506130808261303f565b602082019050919050565b600060208201905081810360008301526130a481613068565b9050919050565b7f496e73756666696369656e742073686172657300000000000000000000000000600082015250565b60006130e1601383612f56565b91506130ec826130ab565b602082019050919050565b60006020820190508181036000830152613110816130d4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061315182612d40565b915061315c83612d40565b925082820390508181111561317457613173613117565b5b92915050565b600061318582612d40565b915061319083612d40565b925082820261319e81612d40565b915082820484148315176131b5576131b4613117565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131f682612d40565b915061320183612d40565b925082613211576132106131bc565b5b828204905092915050565b600081905092915050565b50565b600061323760008361321c565b915061324282613227565b600082019050919050565b60006132588261322a565b9150819050919050565b7f556e61626c6520746f2073656e642066756e6473000000000000000000000000600082015250565b6000613298601483612f56565b91506132a382613262565b602082019050919050565b600060208201905081810360008301526132c78161328b565b9050919050565b7f686173207075626c697368000000000000000000000000000000000000000000600082015250565b6000613304600b83612f56565b915061330f826132ce565b602082019050919050565b60006020820190508181036000830152613333816132f7565b9050919050565b7f47616d65204f7665720000000000000000000000000000000000000000000000600082015250565b6000613370600983612f56565b915061337b8261333a565b602082019050919050565b6000602082019050818103600083015261339f81613363565b9050919050565b7f52616765204d6f64650000000000000000000000000000000000000000000000600082015250565b60006133dc600983612f56565b91506133e7826133a6565b602082019050919050565b6000602082019050818103600083015261340b816133cf565b9050919050565b7f43616e6e6f742073656c6c20746865206c617374207368617265000000000000600082015250565b6000613448601a83612f56565b915061345382613412565b602082019050919050565b600060208201905081810360008301526134778161343b565b9050919050565b600060e082019050613493600083018a612e69565b6134a06020830189612e93565b6134ad6040830188612d4a565b6134ba6060830187612d4a565b6134c76080830186612d4a565b6134d460a0830185612d4a565b6134e160c0830184612d4a565b98975050505050505050565b60006134f882612d40565b915061350383612d40565b925082820190508082111561351b5761351a613117565b5b92915050565b7f496e73756666696369656e74207061796d656e74000000000000000000000000600082015250565b6000613557601483612f56565b915061356282613521565b602082019050919050565b600060208201905081810360008301526135868161354a565b9050919050565b7f6e65787420626f6e757320636c61696d65640000000000000000000000000000600082015250565b60006135c3601283612f56565b91506135ce8261358d565b602082019050919050565b600060208201905081810360008301526135f2816135b6565b9050919050565b7f496e73756666696369656e742073656c667442616c616e636500000000000000600082015250565b600061362f601983612f56565b915061363a826135f9565b602082019050919050565b6000602082019050818103600083015261365e81613622565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136c1602683612f56565b91506136cc82613665565b604082019050919050565b600060208201905081810360008301526136f0816136b4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061372d602083612f56565b9150613738826136f7565b602082019050919050565b6000602082019050818103600083015261375c81613720565b905091905056fea26469706673582212203d2904d0bb109a1fedfdc2f96f4f3a3b9cc15d1c588c76928b2a441cec3b946c64736f6c63430008130033
Deployed Bytecode
0x60806040526004361061027d5760003560e01c8063707dd89c1161014f578063a4983421116100c1578063cd91c83a1161007a578063cd91c83a1461098c578063d6e6eb9f146109a3578063e644787b146109ce578063f1079c52146109ea578063f2fde38b14610a15578063fe2909c614610a3e5761027d565b8063a498342114610874578063a7b83fbd1461089d578063aa359591146108da578063b1ebf92514610917578063b70e162214610933578063c86ba442146109705761027d565b806384f86cd21161011357806384f86cd2146107625780638a2662c91461078d5780638da5cb5b146107ca57806398d40fce146107f55780639c62192a14610820578063a10786b01461084b5761027d565b8063707dd89c1461068d578063715018a6146106b85780637792858a146106cf5780637ffb25ac146106fa57806381e6bcb1146107255761027d565b8063437a10fe116101f3578063500099ea116101ac578063500099ea1461055b5780635216050214610584578063587233a4146105c15780635cf4ee91146105ea5780635f4a5d0214610627578063616b2331146106645761027d565b8063437a10fe1461045d578063484ee4671461048657806349be8b0d146104b15780634ce7957c146104dc5780634dbd954a146105075780634e3f5408146105325761027d565b80631cef068b116102455780631cef068b146103465780631e048639146103625780632f75d81e1461038d57806332f77c64146103b85780633422339b146103f557806341ba9c08146104325761027d565b8063042569a914610282578063080b95e2146102ad5780630cc03e7a146102d657806313ebc6e2146102f257806315e786ad1461031b575b600080fd5b34801561028e57600080fd5b50610297610a7b565b6040516102a49190612d59565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf9190612db1565b610a81565b005b6102f060048036038101906102eb9190612e0a565b610aa6565b005b3480156102fe57600080fd5b5061031960048036038101906103149190612e0a565b610f63565b005b34801561032757600080fd5b50610330611097565b60405161033d9190612d59565b60405180910390f35b610360600480360381019061035b9190612e0a565b61109d565b005b34801561036e57600080fd5b5061037761157c565b6040516103849190612d59565b60405180910390f35b34801561039957600080fd5b506103a2611582565b6040516103af9190612e78565b60405180910390f35b3480156103c457600080fd5b506103df60048036038101906103da9190612e0a565b6115a8565b6040516103ec9190612d59565b60405180910390f35b34801561040157600080fd5b5061041c60048036038101906104179190612e0a565b611621565b6040516104299190612d59565b60405180910390f35b34801561043e57600080fd5b50610447611636565b6040516104549190612ea2565b60405180910390f35b34801561046957600080fd5b50610484600480360381019061047f9190612e0a565b611649565b005b34801561049257600080fd5b5061049b61165b565b6040516104a89190612ea2565b60405180910390f35b3480156104bd57600080fd5b506104c661166e565b6040516104d39190612e78565b60405180910390f35b3480156104e857600080fd5b506104f1611694565b6040516104fe9190612e78565b60405180910390f35b34801561051357600080fd5b5061051c6116ba565b6040516105299190612ea2565b60405180910390f35b34801561053e57600080fd5b5061055960048036038101906105549190612db1565b6116cd565b005b34801561056757600080fd5b50610582600480360381019061057d9190612e0a565b6116f2565b005b34801561059057600080fd5b506105ab60048036038101906105a69190612e0a565b611704565b6040516105b89190612d59565b60405180910390f35b3480156105cd57600080fd5b506105e860048036038101906105e39190612ee9565b611724565b005b3480156105f657600080fd5b50610611600480360381019061060c9190612f16565b611770565b60405161061e9190612d59565b60405180910390f35b34801561063357600080fd5b5061064e60048036038101906106499190612e0a565b6117d8565b60405161065b9190612d59565b60405180910390f35b34801561067057600080fd5b5061068b60048036038101906106869190612ee9565b611851565b005b34801561069957600080fd5b506106a261189d565b6040516106af9190612d59565b60405180910390f35b3480156106c457600080fd5b506106cd6118a3565b005b3480156106db57600080fd5b506106e46118b7565b6040516106f19190612d59565b60405180910390f35b34801561070657600080fd5b5061070f6118bd565b60405161071c9190612d59565b60405180910390f35b34801561073157600080fd5b5061074c60048036038101906107479190612e0a565b6118c9565b6040516107599190612d59565b60405180910390f35b34801561076e57600080fd5b50610777611942565b6040516107849190612d59565b60405180910390f35b34801561079957600080fd5b506107b460048036038101906107af9190612e0a565b611948565b6040516107c19190612d59565b60405180910390f35b3480156107d657600080fd5b506107df61195d565b6040516107ec9190612e78565b60405180910390f35b34801561080157600080fd5b5061080a611986565b6040516108179190612d59565b60405180910390f35b34801561082c57600080fd5b5061083561198c565b6040516108429190612ea2565b60405180910390f35b34801561085757600080fd5b50610872600480360381019061086d9190612ee9565b61199f565b005b34801561088057600080fd5b5061089b60048036038101906108969190612e0a565b6119eb565b005b3480156108a957600080fd5b506108c460048036038101906108bf9190612e0a565b6119fd565b6040516108d19190612d59565b60405180910390f35b3480156108e657600080fd5b5061090160048036038101906108fc9190612e0a565b611a76565b60405161090e9190612d59565b60405180910390f35b610931600480360381019061092c9190612e0a565b611a96565b005b34801561093f57600080fd5b5061095a60048036038101906109559190612ee9565b611e4f565b6040516109679190612d59565b60405180910390f35b61098a60048036038101906109859190612e0a565b611e67565b005b34801561099857600080fd5b506109a1612346565b005b3480156109af57600080fd5b506109b8612725565b6040516109c59190612d59565b60405180910390f35b6109e860048036038101906109e39190612e0a565b61272b565b005b3480156109f657600080fd5b506109ff612ae4565b604051610a0c9190612d59565b60405180910390f35b348015610a2157600080fd5b50610a3c6004803603810190610a379190612ee9565b612aea565b005b348015610a4a57600080fd5b50610a656004803603810190610a609190612ee9565b612b6d565b604051610a729190612d59565b60405180910390f35b60065481565b610a89612b85565b80600b60006101000a81548160ff02191690831515021790555050565b600b60019054906101000a900460ff16610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec90612fb3565b60405180910390fd5b600d60019054906101000a900460ff16610b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3b9061301f565b60405180910390fd5b6001600c541480610b5757506002600c54145b610b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8d9061308b565b60405180910390fd5b6001600c5403610d825780600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c19906130f7565b60405180910390fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c6d9190613146565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060075482600e54610cc3919061317a565b610ccd91906131eb565b905060003373ffffffffffffffffffffffffffffffffffffffff1682604051610cf59061324d565b60006040518083038185875af1925050503d8060008114610d32576040519150601f19603f3d011682016040523d82523d6000602084013e610d37565b606091505b5050905080610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d72906132ae565b60405180910390fd5b5050610f60565b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906130f7565b60405180910390fd5b80600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e4f9190613146565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060095482600e54610ea5919061317a565b610eaf91906131eb565b905060003373ffffffffffffffffffffffffffffffffffffffff1682604051610ed79061324d565b60006040518083038185875af1925050503d8060008114610f14576040519150601f19603f3d011682016040523d82523d6000602084013e610f19565b606091505b5050905080610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f54906132ae565b60405180910390fd5b50505b50565b610f6b612b85565b806001811480610f7b5750600281145b610f8457600080fd5b600d60009054906101000a900460ff1615610fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcb9061331a565b60405180910390fd5b600b60019054906101000a900460ff16611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a90612fb3565b60405180910390fd5b60018214806110325750600282145b611071576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110689061308b565b60405180910390fd5b81600c819055506001600d60006101000a81548160ff0219169083151502179055505050565b60055481565b600b60019054906101000a900460ff16156110ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e490613386565b60405180910390fd5b600b60009054906101000a900460ff161561113d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611134906133f2565b60405180910390fd5b60006007549050818111611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d9061345e565b60405180910390fd5b600061119d83836111979190613146565b84611770565b90506000670de0b6b3a7640000600454836111b8919061317a565b6111c291906131eb565b90506000670de0b6b3a7640000600554846111dd919061317a565b6111e791906131eb565b905084600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561126b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611262906130f7565b60405180910390fd5b84600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112b69190613146565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084846113059190613146565b6007819055507f50d60398263f0b8253c56e7f3098584296bd15c3c7fedcecfcaee645d403027b336000878686868b8b61133f9190613146565b604051611352979695949392919061347e565b60405180910390a160003373ffffffffffffffffffffffffffffffffffffffff168284866113809190613146565b61138a9190613146565b6040516113969061324d565b60006040518083038185875af1925050503d80600081146113d3576040519150601f19603f3d011682016040523d82523d6000602084013e6113d8565b606091505b505090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516114249061324d565b60006040518083038185875af1925050503d8060008114611461576040519150601f19603f3d011682016040523d82523d6000602084013e611466565b606091505b505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516114b29061324d565b60006040518083038185875af1925050503d80600081146114ef576040519150601f19603f3d011682016040523d82523d6000602084013e6114f4565b606091505b5050905085600e546115069190613146565b600e8190555085600f5461151a9190613146565b600f8190555082801561152a5750815b80156115335750805b611572576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611569906132ae565b60405180910390fd5b5050505050505050565b600e5481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806115b483611704565b90506000670de0b6b3a7640000600454836115cf919061317a565b6115d991906131eb565b90506000670de0b6b3a7640000600554846115f4919061317a565b6115fe91906131eb565b905080828461160d9190613146565b6116179190613146565b9350505050919050565b600061162f60095483611770565b9050919050565b600b60009054906101000a900460ff1681565b611651612b85565b8060068190555050565b600b60019054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60009054906101000a900460ff1681565b6116d5612b85565b80600b60016101000a81548160ff02191690831515021790555050565b6116fa612b85565b8060058190555050565b600061171d826009546117179190613146565b83611770565b9050919050565b61172c612b85565b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600361c350670de0b6b3a76400008061178a87612c03565b61179e878961179991906134ed565b612c03565b6117a89190613146565b6117b291906131eb565b6117bc91906131eb565b6117c691906131eb565b6117d091906131eb565b905092915050565b6000806117e483611948565b90506000670de0b6b3a7640000600454836117ff919061317a565b61180991906131eb565b90506000670de0b6b3a764000060055484611824919061317a565b61182e91906131eb565b905080828461183d91906134ed565b61184791906134ed565b9350505050919050565b611859612b85565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60075481565b6118ab612b85565b6118b56000612c74565b565b60105481565b670de0b6b3a764000081565b6000806118d583611a76565b90506000670de0b6b3a7640000600454836118f0919061317a565b6118fa91906131eb565b90506000670de0b6b3a764000060055484611915919061317a565b61191f91906131eb565b905080828461192e9190613146565b6119389190613146565b9350505050919050565b600f5481565b600061195660075483611770565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b600d60019054906101000a900460ff1681565b6119a7612b85565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119f3612b85565b8060048190555050565b600080611a0983611621565b90506000670de0b6b3a764000060045483611a24919061317a565b611a2e91906131eb565b90506000670de0b6b3a764000060055484611a49919061317a565b611a5391906131eb565b9050808284611a6291906134ed565b611a6c91906134ed565b9350505050919050565b6000611a8f82600754611a899190613146565b83611770565b9050919050565b600b60019054906101000a900460ff1615611ae6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611add90613386565b60405180910390fd5b600060075490506000611af98284611770565b90506000670de0b6b3a764000060045483611b14919061317a565b611b1e91906131eb565b90506000670de0b6b3a764000060055484611b39919061317a565b611b4391906131eb565b9050808284611b5291906134ed565b611b5c91906134ed565b341015611b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b959061356d565b60405180910390fd5b84600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be991906134ed565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508484611c3891906134ed565b6007819055507f50d60398263f0b8253c56e7f3098584296bd15c3c7fedcecfcaee645d403027b336001878686868b8b611c7291906134ed565b604051611c85979695949392919061347e565b60405180910390a16000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611cd59061324d565b60006040518083038185875af1925050503d8060008114611d12576040519150601f19603f3d011682016040523d82523d6000602084013e611d17565b606091505b505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611d639061324d565b60006040518083038185875af1925050503d8060008114611da0576040519150601f19603f3d011682016040523d82523d6000602084013e611da5565b606091505b50509050828434600e54611db991906134ed565b611dc39190613146565b611dcd9190613146565b600e81905550828434600f54611de391906134ed565b611ded9190613146565b611df79190613146565b600f81905550818015611e075750805b611e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3d906132ae565b60405180910390fd5b50505050505050565b600a6020528060005260406000206000915090505481565b600b60019054906101000a900460ff1615611eb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eae90613386565b60405180910390fd5b600b60009054906101000a900460ff1615611f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efe906133f2565b60405180910390fd5b60006009549050818111611f50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f479061345e565b60405180910390fd5b6000611f678383611f619190613146565b84611770565b90506000670de0b6b3a764000060045483611f82919061317a565b611f8c91906131eb565b90506000670de0b6b3a764000060055484611fa7919061317a565b611fb191906131eb565b905084600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202c906130f7565b60405180910390fd5b84600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120809190613146565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084846120cf9190613146565b6009819055507fb0c5ecf77be2fe1053eb203023bbf03a951cffabc89d6d923852336cc245d728336000878686868b8b6121099190613146565b60405161211c979695949392919061347e565b60405180910390a160003373ffffffffffffffffffffffffffffffffffffffff1682848661214a9190613146565b6121549190613146565b6040516121609061324d565b60006040518083038185875af1925050503d806000811461219d576040519150601f19603f3d011682016040523d82523d6000602084013e6121a2565b606091505b505090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516121ee9061324d565b60006040518083038185875af1925050503d806000811461222b576040519150601f19603f3d011682016040523d82523d6000602084013e612230565b606091505b505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405161227c9061324d565b60006040518083038185875af1925050503d80600081146122b9576040519150601f19603f3d011682016040523d82523d6000602084013e6122be565b606091505b5050905085600e546122d09190613146565b600e81905550856010546122e49190613146565b6010819055508280156122f45750815b80156122fd5750805b61233c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612333906132ae565b60405180910390fd5b5050505050505050565b61234e612b85565b600b60019054906101000a900460ff1661239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239490612fb3565b60405180910390fd5b600d60019054906101000a900460ff16156123ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e4906135d9565b60405180910390fd5b6001600c54148061240057506002600c54145b61243f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124369061308b565b60405180910390fd5b6001600c54036125b8576000670de0b6b3a7640000600654601054612464919061317a565b61246e91906131eb565b905080600e54116124b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ab90613645565b60405180910390fd5b80600e546124c29190613146565b600e819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826040516125109061324d565b60006040518083038185875af1925050503d806000811461254d576040519150601f19603f3d011682016040523d82523d6000602084013e612552565b606091505b505090506001600d60016101000a81548160ff021916908315150217905550806125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a8906132ae565b60405180910390fd5b5050612723565b6000670de0b6b3a7640000600654600f546125d3919061317a565b6125dd91906131eb565b905080600e5411612623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261a90613645565b60405180910390fd5b80600e546126319190613146565b600e819055506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161267f9061324d565b60006040518083038185875af1925050503d80600081146126bc576040519150601f19603f3d011682016040523d82523d6000602084013e6126c1565b606091505b505090506001600d60016101000a81548160ff02191690831515021790555080612720576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612717906132ae565b60405180910390fd5b50505b565b60045481565b600b60019054906101000a900460ff161561277b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277290613386565b60405180910390fd5b60006009549050600061278e8284611770565b90506000670de0b6b3a7640000600454836127a9919061317a565b6127b391906131eb565b90506000670de0b6b3a7640000600554846127ce919061317a565b6127d891906131eb565b90508082846127e791906134ed565b6127f191906134ed565b341015612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282a9061356d565b60405180910390fd5b84600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e91906134ed565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084846128cd91906134ed565b6009819055507fb0c5ecf77be2fe1053eb203023bbf03a951cffabc89d6d923852336cc245d728336001878686868b8b61290791906134ed565b60405161291a979695949392919061347e565b60405180910390a16000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161296a9061324d565b60006040518083038185875af1925050503d80600081146129a7576040519150601f19603f3d011682016040523d82523d6000602084013e6129ac565b606091505b505090506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516129f89061324d565b60006040518083038185875af1925050503d8060008114612a35576040519150601f19603f3d011682016040523d82523d6000602084013e612a3a565b606091505b50509050828434600e54612a4e91906134ed565b612a589190613146565b612a629190613146565b600e81905550828434601054612a7891906134ed565b612a829190613146565b612a8c9190613146565b601081905550818015612a9c5750805b612adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ad2906132ae565b60405180910390fd5b50505050505050565b60095481565b612af2612b85565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b58906136d7565b60405180910390fd5b612b6a81612c74565b50565b60086020528060005260406000206000915090505481565b612b8d612d38565b73ffffffffffffffffffffffffffffffffffffffff16612bab61195d565b73ffffffffffffffffffffffffffffffffffffffff1614612c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf890613743565b60405180910390fd5b565b6000670de0b6b3a7640000821115612c6a57670de0b6b3a764000082612c299190613146565b670de0b6b3a764000083612c3d9190613146565b670de0b6b3a764000084612c519190613146565b612c5b919061317a565b612c65919061317a565b612c6d565b60005b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000819050919050565b612d5381612d40565b82525050565b6000602082019050612d6e6000830184612d4a565b92915050565b600080fd5b60008115159050919050565b612d8e81612d79565b8114612d9957600080fd5b50565b600081359050612dab81612d85565b92915050565b600060208284031215612dc757612dc6612d74565b5b6000612dd584828501612d9c565b91505092915050565b612de781612d40565b8114612df257600080fd5b50565b600081359050612e0481612dde565b92915050565b600060208284031215612e2057612e1f612d74565b5b6000612e2e84828501612df5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e6282612e37565b9050919050565b612e7281612e57565b82525050565b6000602082019050612e8d6000830184612e69565b92915050565b612e9c81612d79565b82525050565b6000602082019050612eb76000830184612e93565b92915050565b612ec681612e57565b8114612ed157600080fd5b50565b600081359050612ee381612ebd565b92915050565b600060208284031215612eff57612efe612d74565b5b6000612f0d84828501612ed4565b91505092915050565b60008060408385031215612f2d57612f2c612d74565b5b6000612f3b85828601612df5565b9250506020612f4c85828601612df5565b9150509250929050565b600082825260208201905092915050565b7f47616d696e670000000000000000000000000000000000000000000000000000600082015250565b6000612f9d600683612f56565b9150612fa882612f67565b602082019050919050565b60006020820190508181036000830152612fcc81612f90565b9050919050565b7f6e65787420626f6e757320756e636c61696d0000000000000000000000000000600082015250565b6000613009601283612f56565b915061301482612fd3565b602082019050919050565b6000602082019050818103600083015261303881612ffc565b9050919050565b7f696e76616c696420726573756c74000000000000000000000000000000000000600082015250565b6000613075600e83612f56565b91506130808261303f565b602082019050919050565b600060208201905081810360008301526130a481613068565b9050919050565b7f496e73756666696369656e742073686172657300000000000000000000000000600082015250565b60006130e1601383612f56565b91506130ec826130ab565b602082019050919050565b60006020820190508181036000830152613110816130d4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061315182612d40565b915061315c83612d40565b925082820390508181111561317457613173613117565b5b92915050565b600061318582612d40565b915061319083612d40565b925082820261319e81612d40565b915082820484148315176131b5576131b4613117565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131f682612d40565b915061320183612d40565b925082613211576132106131bc565b5b828204905092915050565b600081905092915050565b50565b600061323760008361321c565b915061324282613227565b600082019050919050565b60006132588261322a565b9150819050919050565b7f556e61626c6520746f2073656e642066756e6473000000000000000000000000600082015250565b6000613298601483612f56565b91506132a382613262565b602082019050919050565b600060208201905081810360008301526132c78161328b565b9050919050565b7f686173207075626c697368000000000000000000000000000000000000000000600082015250565b6000613304600b83612f56565b915061330f826132ce565b602082019050919050565b60006020820190508181036000830152613333816132f7565b9050919050565b7f47616d65204f7665720000000000000000000000000000000000000000000000600082015250565b6000613370600983612f56565b915061337b8261333a565b602082019050919050565b6000602082019050818103600083015261339f81613363565b9050919050565b7f52616765204d6f64650000000000000000000000000000000000000000000000600082015250565b60006133dc600983612f56565b91506133e7826133a6565b602082019050919050565b6000602082019050818103600083015261340b816133cf565b9050919050565b7f43616e6e6f742073656c6c20746865206c617374207368617265000000000000600082015250565b6000613448601a83612f56565b915061345382613412565b602082019050919050565b600060208201905081810360008301526134778161343b565b9050919050565b600060e082019050613493600083018a612e69565b6134a06020830189612e93565b6134ad6040830188612d4a565b6134ba6060830187612d4a565b6134c76080830186612d4a565b6134d460a0830185612d4a565b6134e160c0830184612d4a565b98975050505050505050565b60006134f882612d40565b915061350383612d40565b925082820190508082111561351b5761351a613117565b5b92915050565b7f496e73756666696369656e74207061796d656e74000000000000000000000000600082015250565b6000613557601483612f56565b915061356282613521565b602082019050919050565b600060208201905081810360008301526135868161354a565b9050919050565b7f6e65787420626f6e757320636c61696d65640000000000000000000000000000600082015250565b60006135c3601283612f56565b91506135ce8261358d565b602082019050919050565b600060208201905081810360008301526135f2816135b6565b9050919050565b7f496e73756666696369656e742073656c667442616c616e636500000000000000600082015250565b600061362f601983612f56565b915061363a826135f9565b602082019050919050565b6000602082019050818103600083015261365e81613622565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136c1602683612f56565b91506136cc82613665565b604082019050919050565b600060208201905081810360008301526136f0816136b4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061372d602083612f56565b9150613738826136f7565b602082019050919050565b6000602082019050818103600083015261375c81613720565b905091905056fea26469706673582212203d2904d0bb109a1fedfdc2f96f4f3a3b9cc15d1c588c76928b2a441cec3b946c64736f6c63430008130033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$457.72
Net Worth in ETH
0.211125
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,168.02 | 0.2111 | $457.72 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.