Source Code
Overview
ETH Balance
0.023500000000000001 ETH
Eth Value
$45.06 (@ $1,917.42/ETH)Latest 25 from a total of 30 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Bet On Outcome A | 18444199 | 853 days ago | IN | 0.01 ETH | 0.00307142 | ||||
| Start New Match | 18444038 | 853 days ago | IN | 0 ETH | 0.00197294 | ||||
| Distribute Winni... | 18444036 | 853 days ago | IN | 0 ETH | 0.00139706 | ||||
| Declare Outcome | 18444000 | 853 days ago | IN | 0 ETH | 0.00126392 | ||||
| Bet On Outcome A | 18443989 | 853 days ago | IN | 0.02 ETH | 0.00251319 | ||||
| Bet On Outcome B | 18443955 | 853 days ago | IN | 0.02 ETH | 0.00272918 | ||||
| Start New Match | 18443843 | 853 days ago | IN | 0 ETH | 0.00208738 | ||||
| Distribute Winni... | 18443838 | 853 days ago | IN | 0 ETH | 0.00158541 | ||||
| Declare Outcome | 18443836 | 853 days ago | IN | 0 ETH | 0.00124578 | ||||
| Bet On Outcome A | 18443803 | 853 days ago | IN | 0.1 ETH | 0.00203714 | ||||
| Bet On Outcome B | 18443787 | 853 days ago | IN | 0.01 ETH | 0.00228022 | ||||
| Bet On Outcome B | 18443760 | 853 days ago | IN | 0.1 ETH | 0.00258507 | ||||
| Bet On Outcome A | 18443719 | 853 days ago | IN | 0.01 ETH | 0.00245537 | ||||
| Bet On Outcome A | 18443714 | 853 days ago | IN | 0.01 ETH | 0.00236445 | ||||
| Start New Match | 18443711 | 853 days ago | IN | 0 ETH | 0.00204298 | ||||
| Distribute Winni... | 18443706 | 853 days ago | IN | 0 ETH | 0.0018453 | ||||
| Declare Outcome | 18443702 | 853 days ago | IN | 0 ETH | 0.00093143 | ||||
| Bet On Outcome B | 18443693 | 853 days ago | IN | 0.02 ETH | 0.00194213 | ||||
| Bet On Outcome B | 18443691 | 853 days ago | IN | 0.1 ETH | 0.00208609 | ||||
| Bet On Outcome A | 18443688 | 853 days ago | IN | 0.02 ETH | 0.00198238 | ||||
| Bet On Outcome A | 18443684 | 853 days ago | IN | 0.05 ETH | 0.00191277 | ||||
| Bet On Outcome A | 18443681 | 853 days ago | IN | 0.01 ETH | 0.00194854 | ||||
| Bet On Outcome A | 18443679 | 853 days ago | IN | 0.02 ETH | 0.00260283 | ||||
| Start New Match | 18443582 | 854 days ago | IN | 0 ETH | 0.00132322 | ||||
| Distribute Winni... | 18443514 | 854 days ago | IN | 0 ETH | 0.00143879 |
Latest 8 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 18444036 | 853 days ago | 0.039 ETH | ||||
| Transfer | 18443838 | 853 days ago | 0.02036363 ETH | ||||
| Transfer | 18443838 | 853 days ago | 0.20363636 ETH | ||||
| Transfer | 18443706 | 853 days ago | 0.0428 ETH | ||||
| Transfer | 18443706 | 853 days ago | 0.107 ETH | ||||
| Transfer | 18443706 | 853 days ago | 0.0214 ETH | ||||
| Transfer | 18443706 | 853 days ago | 0.0428 ETH | ||||
| Transfer | 18443514 | 854 days ago | 0.0195 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DuelBettingContract
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
contract DuelBettingContract is Ownable, ReentrancyGuard {
using SafeMath for uint256;
enum MatchOutcome { NOT_FINISHED, A, B }
event NewMatchStarted();
event BetPlaced(address indexed bettor, MatchOutcome outcome, uint256 amount);
event OutcomeDeclared(MatchOutcome outcome);
event WinningsDistributed(MatchOutcome winningOutcome);
event AdminFeesWithdrawn(uint256 amount);
struct Match {
uint256 betA;
uint256 betB;
MatchOutcome outcome;
mapping(address => uint256) betsA;
mapping(address => uint256) betsB;
address[] bettorsA;
address[] bettorsB;
}
Match currentMatch;
bool public matchActive = false;
uint256 public minBetAmount = 10000000000000000; // 0.01e
uint256 public maxBetAmount = 100000000000000000; // 0.1e
uint256 public adminFeePercentage = 5;
uint256 public playerLimit = 25;
uint256 public accumulatedFees;
MatchOutcome previousOutcome;
mapping(address => uint256) lastParticipatedMatch;
uint256 public currentMatchNonce = 0;
function startNewMatch() external onlyOwner {
require(!matchActive, "Finish the current match first");
// bad code but scalable on l2 if required
for (uint i = 0; i < currentMatch.bettorsA.length; i++) {
delete currentMatch.betsA[currentMatch.bettorsA[i]];
delete currentMatch.bettorsA[i];
}
for (uint i = 0; i < currentMatch.bettorsB.length; i++) {
delete currentMatch.betsB[currentMatch.bettorsB[i]];
delete currentMatch.bettorsB[i];
}
currentMatch.betA = 0;
currentMatch.betB = 0;
currentMatch.outcome = MatchOutcome.NOT_FINISHED;
currentMatch.bettorsA = new address[](0);
currentMatch.bettorsB = new address[](0);
matchActive = true;
currentMatchNonce = currentMatchNonce.add(1);
emit NewMatchStarted();
}
function _recordBettor(address[] storage bettors, address bettor) private {
if (lastParticipatedMatch[bettor] < currentMatchNonce) {
bettors.push(bettor);
lastParticipatedMatch[bettor] = currentMatchNonce;
} else if (lastParticipatedMatch[bettor] == currentMatchNonce) {
revert("You can only bet once per match.");
}
}
function _isContract(address addr) private view returns(bool) {
uint32 size;
assembly { size := extcodesize(addr) }
return size > 0;
}
function _betOnOutcome(MatchOutcome outcome, uint256 amount) private {
require(!_isContract(msg.sender), "Contracts are not allowed to bet");
require(matchActive, "No active match");
require(amount >= minBetAmount && amount <= maxBetAmount, "Invalid bet amount");
require(msg.value == amount, "Mismatched ether sent");
if (outcome == MatchOutcome.A) {
require(currentMatch.bettorsA.length < playerLimit, "Player limit reached for Outcome A");
_recordBettor(currentMatch.bettorsA, msg.sender);
currentMatch.betA = currentMatch.betA.add(amount);
currentMatch.betsA[msg.sender] = currentMatch.betsA[msg.sender].add(amount);
} else if (outcome == MatchOutcome.B) {
require(currentMatch.bettorsB.length < playerLimit, "Player limit reached for Outcome B");
_recordBettor(currentMatch.bettorsB, msg.sender);
currentMatch.betB = currentMatch.betB.add(amount);
currentMatch.betsB[msg.sender] = currentMatch.betsB[msg.sender].add(amount);
}
emit BetPlaced(msg.sender, outcome, amount);
}
function betOnOutcomeA(uint256 amount) external payable {
_betOnOutcome(MatchOutcome.A, amount);
}
function betOnOutcomeB(uint256 amount) external payable {
_betOnOutcome(MatchOutcome.B, amount);
}
function declareOutcome(MatchOutcome outcome) external onlyOwner {
require(matchActive, "No active match");
require(outcome != MatchOutcome.NOT_FINISHED, "Invalid outcome");
require(currentMatch.bettorsA.length > 0, "No bets on Outcome A.");
require(currentMatch.bettorsB.length > 0, "No bets on Outcome B.");
currentMatch.outcome = outcome;
previousOutcome = outcome;
matchActive = false;
emit OutcomeDeclared(outcome);
}
function distributeWinnings() external onlyOwner nonReentrant {
require(!matchActive, "Match is still active");
require(currentMatch.outcome != MatchOutcome.NOT_FINISHED, "Match hasn't finished yet");
if (currentMatch.outcome == MatchOutcome.A) {
uint256 adminFee = currentMatch.betB.mul(adminFeePercentage).div(100);
accumulatedFees = accumulatedFees.add(adminFee);
uint256 payoutPool = currentMatch.betB.sub(adminFee);
for (uint i = 0; i < currentMatch.bettorsA.length; i++) {
address bettor = currentMatch.bettorsA[i];
uint256 initialBet = currentMatch.betsA[bettor];
uint256 reward = payoutPool.mul(initialBet).div(currentMatch.betA).add(initialBet); // Added initial bet
currentMatch.betsA[bettor] = 0; // Prevent re-entrancy
payable(bettor).transfer(reward);
}
} else if (currentMatch.outcome == MatchOutcome.B) {
uint256 adminFee = currentMatch.betA.mul(adminFeePercentage).div(100);
accumulatedFees = accumulatedFees.add(adminFee);
uint256 payoutPool = currentMatch.betA.sub(adminFee);
for (uint i = 0; i < currentMatch.bettorsB.length; i++) {
address bettor = currentMatch.bettorsB[i];
uint256 initialBet = currentMatch.betsB[bettor];
uint256 reward = payoutPool.mul(initialBet).div(currentMatch.betB).add(initialBet); // Added initial bet
currentMatch.betsB[bettor] = 0; // Prevent re-entrancy
payable(bettor).transfer(reward);
}
}
emit WinningsDistributed(currentMatch.outcome);
}
function withdrawAccumulatedFees() external onlyOwner {
require(accumulatedFees > 0, "No fees to withdraw");
uint256 amount = accumulatedFees;
accumulatedFees = 0;
payable(owner()).transfer(amount);
emit AdminFeesWithdrawn(amount);
}
function setLimits(uint256 _minBetAmount, uint256 _maxBetAmount, uint256 _playerLimit) external onlyOwner {
require(_minBetAmount < _maxBetAmount, "Invalid bet limits");
require(!matchActive, "Finish the current match first");
minBetAmount = _minBetAmount;
maxBetAmount = _maxBetAmount;
playerLimit = _playerLimit;
}
function setAdminFeePercentage(uint256 _adminFeePercentage) external onlyOwner {
require(_adminFeePercentage < 100, "Fee percentage too high");
adminFeePercentage = _adminFeePercentage;
}
function getNumberOfBettors() external view returns (uint256 numBettorsA, uint256 numBettorsB) {
numBettorsA = currentMatch.bettorsA.length;
numBettorsB = currentMatch.bettorsB.length;
}
function getMatchBetAmount() external view returns (uint256 betAmountA, uint256 betAmountB) {
betAmountA = currentMatch.betA;
betAmountB = currentMatch.betB;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)
pragma solidity ^0.8.0;
/**
* @dev Contract module that helps prevent reentrant calls to a function.
*
* Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
* available, which can be applied to functions to make sure there are no nested
* (reentrant) calls to them.
*
* Note that because there is a single `nonReentrant` guard, functions marked as
* `nonReentrant` may not call one another. This can be worked around by making
* those functions `private`, and then adding `external` `nonReentrant` entry
* points to them.
*
* TIP: If you would like to learn more about reentrancy and alternative ways
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
*/
abstract contract ReentrancyGuard {
// Booleans are more expensive than uint256 or any type that takes up a full
// word because each write operation emits an extra SLOAD to first read the
// slot's contents, replace the bits taken up by the boolean, and then write
// back. This is the compiler's defense against contract upgrades and
// pointer aliasing, and it cannot be disabled.
// The values being non-zero value makes deployment a bit more expensive,
// but in exchange the refund on every call to nonReentrant will be lower in
// amount. Since refunds are capped to a percentage of the total
// transaction's gas, it is best to keep them low in cases like this one, to
// increase the likelihood of the full refund coming into effect.
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor() {
_status = _NOT_ENTERED;
}
/**
* @dev Prevents a contract from calling itself, directly or indirectly.
* Calling a `nonReentrant` function from another `nonReentrant`
* function is not supported. It is possible to prevent this from happening
* by making the `nonReentrant` function external, and making it call a
* `private` function that does the actual work.
*/
modifier nonReentrant() {
_nonReentrantBefore();
_;
_nonReentrantAfter();
}
function _nonReentrantBefore() private {
// On the first call to nonReentrant, _status will be _NOT_ENTERED
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_status = _ENTERED;
}
function _nonReentrantAfter() private {
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = _NOT_ENTERED;
}
/**
* @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
* `nonReentrant` function in the call stack.
*/
function _reentrancyGuardEntered() internal view returns (bool) {
return _status == _ENTERED;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/SafeMath.sol)
pragma solidity ^0.8.0;
// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.
/**
* @dev Wrappers over Solidity's arithmetic operations.
*
* NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler
* now has built in overflow checking.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
}
/**
* @dev Returns the subtraction of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b > a) return (false, 0);
return (true, a - b);
}
}
/**
* @dev Returns the multiplication of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
// 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 (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
}
/**
* @dev Returns the division of two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a / b);
}
}
/**
* @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
unchecked {
if (b == 0) return (false, 0);
return (true, a % b);
}
}
/**
* @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) {
return a + b;
}
/**
* @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 a - b;
}
/**
* @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) {
return a * b;
}
/**
* @dev Returns the integer division of two unsigned integers, reverting on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator.
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return a / b;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting 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 a % b;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {trySub}.
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
unchecked {
require(b <= a, errorMessage);
return a - b;
}
}
/**
* @dev Returns the integer division of two unsigned integers, reverting 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) {
unchecked {
require(b > 0, errorMessage);
return a / b;
}
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting with custom message when dividing by zero.
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {tryMod}.
*
* 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) {
unchecked {
require(b > 0, errorMessage);
return a % b;
}
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AdminFeesWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bettor","type":"address"},{"indexed":false,"internalType":"enum DuelBettingContract.MatchOutcome","name":"outcome","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BetPlaced","type":"event"},{"anonymous":false,"inputs":[],"name":"NewMatchStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"enum DuelBettingContract.MatchOutcome","name":"outcome","type":"uint8"}],"name":"OutcomeDeclared","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":"enum DuelBettingContract.MatchOutcome","name":"winningOutcome","type":"uint8"}],"name":"WinningsDistributed","type":"event"},{"inputs":[],"name":"accumulatedFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"adminFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"betOnOutcomeA","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"betOnOutcomeB","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"currentMatchNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum DuelBettingContract.MatchOutcome","name":"outcome","type":"uint8"}],"name":"declareOutcome","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributeWinnings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getMatchBetAmount","outputs":[{"internalType":"uint256","name":"betAmountA","type":"uint256"},{"internalType":"uint256","name":"betAmountB","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumberOfBettors","outputs":[{"internalType":"uint256","name":"numBettorsA","type":"uint256"},{"internalType":"uint256","name":"numBettorsB","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"matchActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minBetAmount","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":"playerLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_adminFeePercentage","type":"uint256"}],"name":"setAdminFeePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minBetAmount","type":"uint256"},{"internalType":"uint256","name":"_maxBetAmount","type":"uint256"},{"internalType":"uint256","name":"_playerLimit","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startNewMatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAccumulatedFees","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040525f60095f6101000a81548160ff021916908315150217905550662386f26fc10000600a5567016345785d8a0000600b556005600c556019600d555f60115534801561004d575f80fd5b505f61005d61010560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506001808190555061010c565b5f33905090565b6128f0806101195f395ff3fe608060405260043610610113575f3560e01c8063964676b21161009f578063f1ee843011610063578063f1ee8430146102f4578063f8bb7ec21461031f578063f997e80814610349578063fa968eea14610373578063fe9d08721461039d57610113565b8063964676b214610254578063b3e1e4051461027c578063b433e47c14610298578063cab11d5d146102ae578063cc4c55c1146102d857610113565b8063587f5ed7116100e6578063587f5ed7146101aa578063715018a6146101d45780637d2026cd146101ea578063831490f9146102005780638da5cb5b1461022a57610113565b80630cd62e8d14610117578063189ae5f2146101425780631a0676fe1461016a5780632e185ec714610194575b5f80fd5b348015610122575f80fd5b5061012b6103c5565b604051610139929190611cc7565b60405180910390f35b34801561014d575f80fd5b5061016860048036038101906101639190611d1c565b6103e1565b005b348015610175575f80fd5b5061017e610520565b60405161018b9190611d6c565b60405180910390f35b34801561019f575f80fd5b506101a8610526565b005b3480156101b5575f80fd5b506101be610690565b6040516101cb9190611d6c565b60405180910390f35b3480156101df575f80fd5b506101e8610696565b005b3480156101f5575f80fd5b506101fe6107e4565b005b34801561020b575f80fd5b50610214610dcf565b6040516102219190611d6c565b60405180910390f35b348015610235575f80fd5b5061023e610dd5565b60405161024b9190611dc4565b60405180910390f35b34801561025f575f80fd5b5061027a60048036038101906102759190611e00565b610dfc565b005b61029660048036038101906102919190611e2b565b61107f565b005b3480156102a3575f80fd5b506102ac61108d565b005b3480156102b9575f80fd5b506102c26114a6565b6040516102cf9190611d6c565b60405180910390f35b6102f260048036038101906102ed9190611e2b565b6114ac565b005b3480156102ff575f80fd5b506103086114ba565b604051610316929190611cc7565b60405180910390f35b34801561032a575f80fd5b506103336114cf565b6040516103409190611d6c565b60405180910390f35b348015610354575f80fd5b5061035d6114d5565b60405161036a9190611e70565b60405180910390f35b34801561037e575f80fd5b506103876114e7565b6040516103949190611d6c565b60405180910390f35b3480156103a8575f80fd5b506103c360048036038101906103be9190611e2b565b6114ed565b005b5f80600260050180549050915060026006018054905090509091565b6103e96115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046c90611ee3565b60405180910390fd5b8183106104b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ae90611f4b565b60405180910390fd5b60095f9054906101000a900460ff1615610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90611fb3565b60405180910390fd5b82600a8190555081600b8190555080600d81905550505050565b60115481565b61052e6115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b190611ee3565b60405180910390fd5b5f600e54116105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f59061201b565b60405180910390fd5b5f600e5490505f600e81905550610613610dd5565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610655573d5f803e3d5ffd5b507f7b9b39abdbad5ebd784c4a30b87ebacf8e568dadd9ce0392b7863d1e916eb26c816040516106859190611d6c565b60405180910390a150565b600e5481565b61069e6115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072190611ee3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107ec6115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086f90611ee3565b60405180910390fd5b6108806115d5565b60095f9054906101000a900460ff16156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690612083565b60405180910390fd5b5f60028111156108e2576108e16120a1565b5b600280015f9054906101000a900460ff166002811115610905576109046120a1565b5b03610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90612118565b60405180910390fd5b60016002811115610959576109586120a1565b5b600280015f9054906101000a900460ff16600281111561097c5761097b6120a1565b5b03610b64575f6109af60646109a1600c5460026001015461162490919063ffffffff16565b61163990919063ffffffff16565b90506109c681600e5461164e90919063ffffffff16565b600e819055505f6109e58260026001015461166390919063ffffffff16565b90505f5b600260050180549050811015610b5c575f60026005018281548110610a1157610a10612136565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60026003015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f610abb82610aad60025f0154610a9f868a61162490919063ffffffff16565b61163990919063ffffffff16565b61164e90919063ffffffff16565b90505f60026003015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610b45573d5f803e3d5ffd5b505050508080610b5490612190565b9150506109e9565b505050610d7e565b600280811115610b7757610b766120a1565b5b600280015f9054906101000a900460ff166002811115610b9a57610b996120a1565b5b03610d7d575f610bcc6064610bbe600c5460025f015461162490919063ffffffff16565b61163990919063ffffffff16565b9050610be381600e5461164e90919063ffffffff16565b600e819055505f610c018260025f015461166390919063ffffffff16565b90505f5b600260060180549050811015610d79575f60026006018281548110610c2d57610c2c612136565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60026004015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f610cd882610cca600260010154610cbc868a61162490919063ffffffff16565b61163990919063ffffffff16565b61164e90919063ffffffff16565b90505f60026004015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610d62573d5f803e3d5ffd5b505050508080610d7190612190565b915050610c05565b5050505b5b7fbf7f8a5d205753f1dc65122fdb3f428abcde7078f83d0af8cd16c704c94fe9ed600280015f9054906101000a900460ff16604051610dbd919061221d565b60405180910390a1610dcd611678565b565b600c5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e046115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8790611ee3565b60405180910390fd5b60095f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed590612280565b60405180910390fd5b5f6002811115610ef157610ef06120a1565b5b816002811115610f0457610f036120a1565b5b03610f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3b906122e8565b60405180910390fd5b5f60026005018054905011610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8590612350565b60405180910390fd5b5f60026006018054905011610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcf906123b8565b60405180910390fd5b80600280015f6101000a81548160ff02191690836002811115610ffe57610ffd6120a1565b5b021790555080600f5f6101000a81548160ff02191690836002811115611027576110266120a1565b5b02179055505f60095f6101000a81548160ff0219169083151502179055507f0a53a1872465adbb6013c72ee52a209362180ab1b257a485c505e17875e3b4ea81604051611074919061221d565b60405180910390a150565b61108a600282611681565b50565b6110956115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111890611ee3565b60405180910390fd5b60095f9054906101000a900460ff1615611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790611fb3565b60405180910390fd5b5f5b6002600501805490508110156112575760026003015f6002600501838154811061119f5761119e612136565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f90556002600501818154811061121a57611219612136565b5b905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808061124f90612190565b915050611172565b505f5b60026006018054905081101561133f5760026004015f6002600601838154811061128757611286612136565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f90556002600601818154811061130257611301612136565b5b905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808061133790612190565b91505061125a565b505f60025f01819055505f6002600101819055505f600280015f6101000a81548160ff02191690836002811115611379576113786120a1565b5b02179055505f67ffffffffffffffff811115611398576113976123d6565b5b6040519080825280602002602001820160405280156113c65781602001602082028036833780820191505090505b50600260050190805190602001906113df929190611c0d565b505f67ffffffffffffffff8111156113fa576113f96123d6565b5b6040519080825280602002602001820160405280156114285781602001602082028036833780820191505090505b5060026006019080519060200190611441929190611c0d565b50600160095f6101000a81548160ff021916908315150217905550611472600160115461164e90919063ffffffff16565b6011819055507fc284988e0695413d6925535f5d1123d7de8b507032892a0c33280c2fc51c760c60405160405180910390a1565b600b5481565b6114b7600182611681565b50565b5f8060025f0154915060026001015490509091565b600d5481565b60095f9054906101000a900460ff1681565b600a5481565b6114f56115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890611ee3565b60405180910390fd5b606481106115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb9061244d565b60405180910390fd5b80600c8190555050565b5f33905090565b60026001540361161a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611611906124b5565b60405180910390fd5b6002600181905550565b5f818361163191906124d3565b905092915050565b5f81836116469190612541565b905092915050565b5f818361165b9190612571565b905092915050565b5f818361167091906125a4565b905092915050565b60018081905550565b61168a33611a81565b156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c190612621565b60405180910390fd5b60095f9054906101000a900460ff16611718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170f90612280565b60405180910390fd5b600a54811015801561172c5750600b548111155b61176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612689565b60405180910390fd5b8034146117ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a4906126f1565b60405180910390fd5b600160028111156117c1576117c06120a1565b5b8260028111156117d4576117d36120a1565b5b036118ee57600d5460026005018054905010611825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181c9061277f565b60405180910390fd5b611833600260050133611a98565b61184a8160025f015461164e90919063ffffffff16565b60025f01819055506118a58160026003015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461164e90919063ffffffff16565b60026003015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a2d565b600280811115611901576119006120a1565b5b826002811115611914576119136120a1565b5b03611a2c57600d5460026006018054905010611965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195c9061280d565b60405180910390fd5b611973600260060133611a98565b61198b8160026001015461164e90919063ffffffff16565b6002600101819055506119e78160026004015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461164e90919063ffffffff16565b60026004015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b3373ffffffffffffffffffffffffffffffffffffffff167f9f6b4cced64244a64465098f682029975b1614400b96bc6bd12c6680837191668383604051611a7592919061282b565b60405180910390a25050565b5f80823b90505f8163ffffffff1611915050919050565b60115460105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611b87578181908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115460105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c09565b60115460105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403611c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bff9061289c565b60405180910390fd5b5b5050565b828054828255905f5260205f20908101928215611c83579160200282015b82811115611c82578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611c2b565b5b509050611c909190611c94565b5090565b5b80821115611cab575f815f905550600101611c95565b5090565b5f819050919050565b611cc181611caf565b82525050565b5f604082019050611cda5f830185611cb8565b611ce76020830184611cb8565b9392505050565b5f80fd5b611cfb81611caf565b8114611d05575f80fd5b50565b5f81359050611d1681611cf2565b92915050565b5f805f60608486031215611d3357611d32611cee565b5b5f611d4086828701611d08565b9350506020611d5186828701611d08565b9250506040611d6286828701611d08565b9150509250925092565b5f602082019050611d7f5f830184611cb8565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611dae82611d85565b9050919050565b611dbe81611da4565b82525050565b5f602082019050611dd75f830184611db5565b92915050565b60038110611de9575f80fd5b50565b5f81359050611dfa81611ddd565b92915050565b5f60208284031215611e1557611e14611cee565b5b5f611e2284828501611dec565b91505092915050565b5f60208284031215611e4057611e3f611cee565b5b5f611e4d84828501611d08565b91505092915050565b5f8115159050919050565b611e6a81611e56565b82525050565b5f602082019050611e835f830184611e61565b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611ecd602083611e89565b9150611ed882611e99565b602082019050919050565b5f6020820190508181035f830152611efa81611ec1565b9050919050565b7f496e76616c696420626574206c696d69747300000000000000000000000000005f82015250565b5f611f35601283611e89565b9150611f4082611f01565b602082019050919050565b5f6020820190508181035f830152611f6281611f29565b9050919050565b7f46696e697368207468652063757272656e74206d6174636820666972737400005f82015250565b5f611f9d601e83611e89565b9150611fa882611f69565b602082019050919050565b5f6020820190508181035f830152611fca81611f91565b9050919050565b7f4e6f206665657320746f207769746864726177000000000000000000000000005f82015250565b5f612005601383611e89565b915061201082611fd1565b602082019050919050565b5f6020820190508181035f83015261203281611ff9565b9050919050565b7f4d61746368206973207374696c6c2061637469766500000000000000000000005f82015250565b5f61206d601583611e89565b915061207882612039565b602082019050919050565b5f6020820190508181035f83015261209a81612061565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4d61746368206861736e27742066696e697368656420796574000000000000005f82015250565b5f612102601983611e89565b915061210d826120ce565b602082019050919050565b5f6020820190508181035f83015261212f816120f6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61219a82611caf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121cc576121cb612163565b5b600182019050919050565b600381106121e8576121e76120a1565b5b50565b5f8190506121f8826121d7565b919050565b5f612207826121eb565b9050919050565b612217816121fd565b82525050565b5f6020820190506122305f83018461220e565b92915050565b7f4e6f20616374697665206d6174636800000000000000000000000000000000005f82015250565b5f61226a600f83611e89565b915061227582612236565b602082019050919050565b5f6020820190508181035f8301526122978161225e565b9050919050565b7f496e76616c6964206f7574636f6d6500000000000000000000000000000000005f82015250565b5f6122d2600f83611e89565b91506122dd8261229e565b602082019050919050565b5f6020820190508181035f8301526122ff816122c6565b9050919050565b7f4e6f2062657473206f6e204f7574636f6d6520412e00000000000000000000005f82015250565b5f61233a601583611e89565b915061234582612306565b602082019050919050565b5f6020820190508181035f8301526123678161232e565b9050919050565b7f4e6f2062657473206f6e204f7574636f6d6520422e00000000000000000000005f82015250565b5f6123a2601583611e89565b91506123ad8261236e565b602082019050919050565b5f6020820190508181035f8301526123cf81612396565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4665652070657263656e7461676520746f6f20686967680000000000000000005f82015250565b5f612437601783611e89565b915061244282612403565b602082019050919050565b5f6020820190508181035f8301526124648161242b565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f61249f601f83611e89565b91506124aa8261246b565b602082019050919050565b5f6020820190508181035f8301526124cc81612493565b9050919050565b5f6124dd82611caf565b91506124e883611caf565b92508282026124f681611caf565b9150828204841483151761250d5761250c612163565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61254b82611caf565b915061255683611caf565b92508261256657612565612514565b5b828204905092915050565b5f61257b82611caf565b915061258683611caf565b925082820190508082111561259e5761259d612163565b5b92915050565b5f6125ae82611caf565b91506125b983611caf565b92508282039050818111156125d1576125d0612163565b5b92915050565b7f436f6e74726163747320617265206e6f7420616c6c6f77656420746f206265745f82015250565b5f61260b602083611e89565b9150612616826125d7565b602082019050919050565b5f6020820190508181035f830152612638816125ff565b9050919050565b7f496e76616c69642062657420616d6f756e7400000000000000000000000000005f82015250565b5f612673601283611e89565b915061267e8261263f565b602082019050919050565b5f6020820190508181035f8301526126a081612667565b9050919050565b7f4d69736d6174636865642065746865722073656e7400000000000000000000005f82015250565b5f6126db601583611e89565b91506126e6826126a7565b602082019050919050565b5f6020820190508181035f830152612708816126cf565b9050919050565b7f506c61796572206c696d6974207265616368656420666f72204f7574636f6d655f8201527f2041000000000000000000000000000000000000000000000000000000000000602082015250565b5f612769602283611e89565b91506127748261270f565b604082019050919050565b5f6020820190508181035f8301526127968161275d565b9050919050565b7f506c61796572206c696d6974207265616368656420666f72204f7574636f6d655f8201527f2042000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127f7602283611e89565b91506128028261279d565b604082019050919050565b5f6020820190508181035f830152612824816127eb565b9050919050565b5f60408201905061283e5f83018561220e565b61284b6020830184611cb8565b9392505050565b7f596f752063616e206f6e6c7920626574206f6e636520706572206d617463682e5f82015250565b5f612886602083611e89565b915061289182612852565b602082019050919050565b5f6020820190508181035f8301526128b38161287a565b905091905056fea2646970667358221220042e12d739d2f985a2eeacfda9ed791042d4350a4489781c9b2340ec6cbe520564736f6c63430008140033
Deployed Bytecode
0x608060405260043610610113575f3560e01c8063964676b21161009f578063f1ee843011610063578063f1ee8430146102f4578063f8bb7ec21461031f578063f997e80814610349578063fa968eea14610373578063fe9d08721461039d57610113565b8063964676b214610254578063b3e1e4051461027c578063b433e47c14610298578063cab11d5d146102ae578063cc4c55c1146102d857610113565b8063587f5ed7116100e6578063587f5ed7146101aa578063715018a6146101d45780637d2026cd146101ea578063831490f9146102005780638da5cb5b1461022a57610113565b80630cd62e8d14610117578063189ae5f2146101425780631a0676fe1461016a5780632e185ec714610194575b5f80fd5b348015610122575f80fd5b5061012b6103c5565b604051610139929190611cc7565b60405180910390f35b34801561014d575f80fd5b5061016860048036038101906101639190611d1c565b6103e1565b005b348015610175575f80fd5b5061017e610520565b60405161018b9190611d6c565b60405180910390f35b34801561019f575f80fd5b506101a8610526565b005b3480156101b5575f80fd5b506101be610690565b6040516101cb9190611d6c565b60405180910390f35b3480156101df575f80fd5b506101e8610696565b005b3480156101f5575f80fd5b506101fe6107e4565b005b34801561020b575f80fd5b50610214610dcf565b6040516102219190611d6c565b60405180910390f35b348015610235575f80fd5b5061023e610dd5565b60405161024b9190611dc4565b60405180910390f35b34801561025f575f80fd5b5061027a60048036038101906102759190611e00565b610dfc565b005b61029660048036038101906102919190611e2b565b61107f565b005b3480156102a3575f80fd5b506102ac61108d565b005b3480156102b9575f80fd5b506102c26114a6565b6040516102cf9190611d6c565b60405180910390f35b6102f260048036038101906102ed9190611e2b565b6114ac565b005b3480156102ff575f80fd5b506103086114ba565b604051610316929190611cc7565b60405180910390f35b34801561032a575f80fd5b506103336114cf565b6040516103409190611d6c565b60405180910390f35b348015610354575f80fd5b5061035d6114d5565b60405161036a9190611e70565b60405180910390f35b34801561037e575f80fd5b506103876114e7565b6040516103949190611d6c565b60405180910390f35b3480156103a8575f80fd5b506103c360048036038101906103be9190611e2b565b6114ed565b005b5f80600260050180549050915060026006018054905090509091565b6103e96115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046c90611ee3565b60405180910390fd5b8183106104b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ae90611f4b565b60405180910390fd5b60095f9054906101000a900460ff1615610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90611fb3565b60405180910390fd5b82600a8190555081600b8190555080600d81905550505050565b60115481565b61052e6115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b190611ee3565b60405180910390fd5b5f600e54116105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f59061201b565b60405180910390fd5b5f600e5490505f600e81905550610613610dd5565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610655573d5f803e3d5ffd5b507f7b9b39abdbad5ebd784c4a30b87ebacf8e568dadd9ce0392b7863d1e916eb26c816040516106859190611d6c565b60405180910390a150565b600e5481565b61069e6115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072190611ee3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107ec6115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086f90611ee3565b60405180910390fd5b6108806115d5565b60095f9054906101000a900460ff16156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690612083565b60405180910390fd5b5f60028111156108e2576108e16120a1565b5b600280015f9054906101000a900460ff166002811115610905576109046120a1565b5b03610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90612118565b60405180910390fd5b60016002811115610959576109586120a1565b5b600280015f9054906101000a900460ff16600281111561097c5761097b6120a1565b5b03610b64575f6109af60646109a1600c5460026001015461162490919063ffffffff16565b61163990919063ffffffff16565b90506109c681600e5461164e90919063ffffffff16565b600e819055505f6109e58260026001015461166390919063ffffffff16565b90505f5b600260050180549050811015610b5c575f60026005018281548110610a1157610a10612136565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60026003015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f610abb82610aad60025f0154610a9f868a61162490919063ffffffff16565b61163990919063ffffffff16565b61164e90919063ffffffff16565b90505f60026003015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610b45573d5f803e3d5ffd5b505050508080610b5490612190565b9150506109e9565b505050610d7e565b600280811115610b7757610b766120a1565b5b600280015f9054906101000a900460ff166002811115610b9a57610b996120a1565b5b03610d7d575f610bcc6064610bbe600c5460025f015461162490919063ffffffff16565b61163990919063ffffffff16565b9050610be381600e5461164e90919063ffffffff16565b600e819055505f610c018260025f015461166390919063ffffffff16565b90505f5b600260060180549050811015610d79575f60026006018281548110610c2d57610c2c612136565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60026004015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f610cd882610cca600260010154610cbc868a61162490919063ffffffff16565b61163990919063ffffffff16565b61164e90919063ffffffff16565b90505f60026004015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610d62573d5f803e3d5ffd5b505050508080610d7190612190565b915050610c05565b5050505b5b7fbf7f8a5d205753f1dc65122fdb3f428abcde7078f83d0af8cd16c704c94fe9ed600280015f9054906101000a900460ff16604051610dbd919061221d565b60405180910390a1610dcd611678565b565b600c5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e046115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8790611ee3565b60405180910390fd5b60095f9054906101000a900460ff16610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed590612280565b60405180910390fd5b5f6002811115610ef157610ef06120a1565b5b816002811115610f0457610f036120a1565b5b03610f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3b906122e8565b60405180910390fd5b5f60026005018054905011610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8590612350565b60405180910390fd5b5f60026006018054905011610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcf906123b8565b60405180910390fd5b80600280015f6101000a81548160ff02191690836002811115610ffe57610ffd6120a1565b5b021790555080600f5f6101000a81548160ff02191690836002811115611027576110266120a1565b5b02179055505f60095f6101000a81548160ff0219169083151502179055507f0a53a1872465adbb6013c72ee52a209362180ab1b257a485c505e17875e3b4ea81604051611074919061221d565b60405180910390a150565b61108a600282611681565b50565b6110956115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111890611ee3565b60405180910390fd5b60095f9054906101000a900460ff1615611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790611fb3565b60405180910390fd5b5f5b6002600501805490508110156112575760026003015f6002600501838154811061119f5761119e612136565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f90556002600501818154811061121a57611219612136565b5b905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808061124f90612190565b915050611172565b505f5b60026006018054905081101561133f5760026004015f6002600601838154811061128757611286612136565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f90556002600601818154811061130257611301612136565b5b905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808061133790612190565b91505061125a565b505f60025f01819055505f6002600101819055505f600280015f6101000a81548160ff02191690836002811115611379576113786120a1565b5b02179055505f67ffffffffffffffff811115611398576113976123d6565b5b6040519080825280602002602001820160405280156113c65781602001602082028036833780820191505090505b50600260050190805190602001906113df929190611c0d565b505f67ffffffffffffffff8111156113fa576113f96123d6565b5b6040519080825280602002602001820160405280156114285781602001602082028036833780820191505090505b5060026006019080519060200190611441929190611c0d565b50600160095f6101000a81548160ff021916908315150217905550611472600160115461164e90919063ffffffff16565b6011819055507fc284988e0695413d6925535f5d1123d7de8b507032892a0c33280c2fc51c760c60405160405180910390a1565b600b5481565b6114b7600182611681565b50565b5f8060025f0154915060026001015490509091565b600d5481565b60095f9054906101000a900460ff1681565b600a5481565b6114f56115ce565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890611ee3565b60405180910390fd5b606481106115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb9061244d565b60405180910390fd5b80600c8190555050565b5f33905090565b60026001540361161a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611611906124b5565b60405180910390fd5b6002600181905550565b5f818361163191906124d3565b905092915050565b5f81836116469190612541565b905092915050565b5f818361165b9190612571565b905092915050565b5f818361167091906125a4565b905092915050565b60018081905550565b61168a33611a81565b156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c190612621565b60405180910390fd5b60095f9054906101000a900460ff16611718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170f90612280565b60405180910390fd5b600a54811015801561172c5750600b548111155b61176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612689565b60405180910390fd5b8034146117ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a4906126f1565b60405180910390fd5b600160028111156117c1576117c06120a1565b5b8260028111156117d4576117d36120a1565b5b036118ee57600d5460026005018054905010611825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181c9061277f565b60405180910390fd5b611833600260050133611a98565b61184a8160025f015461164e90919063ffffffff16565b60025f01819055506118a58160026003015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461164e90919063ffffffff16565b60026003015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a2d565b600280811115611901576119006120a1565b5b826002811115611914576119136120a1565b5b03611a2c57600d5460026006018054905010611965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195c9061280d565b60405180910390fd5b611973600260060133611a98565b61198b8160026001015461164e90919063ffffffff16565b6002600101819055506119e78160026004015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461164e90919063ffffffff16565b60026004015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b3373ffffffffffffffffffffffffffffffffffffffff167f9f6b4cced64244a64465098f682029975b1614400b96bc6bd12c6680837191668383604051611a7592919061282b565b60405180910390a25050565b5f80823b90505f8163ffffffff1611915050919050565b60115460105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611b87578181908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115460105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c09565b60115460105f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403611c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bff9061289c565b60405180910390fd5b5b5050565b828054828255905f5260205f20908101928215611c83579160200282015b82811115611c82578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611c2b565b5b509050611c909190611c94565b5090565b5b80821115611cab575f815f905550600101611c95565b5090565b5f819050919050565b611cc181611caf565b82525050565b5f604082019050611cda5f830185611cb8565b611ce76020830184611cb8565b9392505050565b5f80fd5b611cfb81611caf565b8114611d05575f80fd5b50565b5f81359050611d1681611cf2565b92915050565b5f805f60608486031215611d3357611d32611cee565b5b5f611d4086828701611d08565b9350506020611d5186828701611d08565b9250506040611d6286828701611d08565b9150509250925092565b5f602082019050611d7f5f830184611cb8565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611dae82611d85565b9050919050565b611dbe81611da4565b82525050565b5f602082019050611dd75f830184611db5565b92915050565b60038110611de9575f80fd5b50565b5f81359050611dfa81611ddd565b92915050565b5f60208284031215611e1557611e14611cee565b5b5f611e2284828501611dec565b91505092915050565b5f60208284031215611e4057611e3f611cee565b5b5f611e4d84828501611d08565b91505092915050565b5f8115159050919050565b611e6a81611e56565b82525050565b5f602082019050611e835f830184611e61565b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611ecd602083611e89565b9150611ed882611e99565b602082019050919050565b5f6020820190508181035f830152611efa81611ec1565b9050919050565b7f496e76616c696420626574206c696d69747300000000000000000000000000005f82015250565b5f611f35601283611e89565b9150611f4082611f01565b602082019050919050565b5f6020820190508181035f830152611f6281611f29565b9050919050565b7f46696e697368207468652063757272656e74206d6174636820666972737400005f82015250565b5f611f9d601e83611e89565b9150611fa882611f69565b602082019050919050565b5f6020820190508181035f830152611fca81611f91565b9050919050565b7f4e6f206665657320746f207769746864726177000000000000000000000000005f82015250565b5f612005601383611e89565b915061201082611fd1565b602082019050919050565b5f6020820190508181035f83015261203281611ff9565b9050919050565b7f4d61746368206973207374696c6c2061637469766500000000000000000000005f82015250565b5f61206d601583611e89565b915061207882612039565b602082019050919050565b5f6020820190508181035f83015261209a81612061565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4d61746368206861736e27742066696e697368656420796574000000000000005f82015250565b5f612102601983611e89565b915061210d826120ce565b602082019050919050565b5f6020820190508181035f83015261212f816120f6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61219a82611caf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121cc576121cb612163565b5b600182019050919050565b600381106121e8576121e76120a1565b5b50565b5f8190506121f8826121d7565b919050565b5f612207826121eb565b9050919050565b612217816121fd565b82525050565b5f6020820190506122305f83018461220e565b92915050565b7f4e6f20616374697665206d6174636800000000000000000000000000000000005f82015250565b5f61226a600f83611e89565b915061227582612236565b602082019050919050565b5f6020820190508181035f8301526122978161225e565b9050919050565b7f496e76616c6964206f7574636f6d6500000000000000000000000000000000005f82015250565b5f6122d2600f83611e89565b91506122dd8261229e565b602082019050919050565b5f6020820190508181035f8301526122ff816122c6565b9050919050565b7f4e6f2062657473206f6e204f7574636f6d6520412e00000000000000000000005f82015250565b5f61233a601583611e89565b915061234582612306565b602082019050919050565b5f6020820190508181035f8301526123678161232e565b9050919050565b7f4e6f2062657473206f6e204f7574636f6d6520422e00000000000000000000005f82015250565b5f6123a2601583611e89565b91506123ad8261236e565b602082019050919050565b5f6020820190508181035f8301526123cf81612396565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4665652070657263656e7461676520746f6f20686967680000000000000000005f82015250565b5f612437601783611e89565b915061244282612403565b602082019050919050565b5f6020820190508181035f8301526124648161242b565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f61249f601f83611e89565b91506124aa8261246b565b602082019050919050565b5f6020820190508181035f8301526124cc81612493565b9050919050565b5f6124dd82611caf565b91506124e883611caf565b92508282026124f681611caf565b9150828204841483151761250d5761250c612163565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61254b82611caf565b915061255683611caf565b92508261256657612565612514565b5b828204905092915050565b5f61257b82611caf565b915061258683611caf565b925082820190508082111561259e5761259d612163565b5b92915050565b5f6125ae82611caf565b91506125b983611caf565b92508282039050818111156125d1576125d0612163565b5b92915050565b7f436f6e74726163747320617265206e6f7420616c6c6f77656420746f206265745f82015250565b5f61260b602083611e89565b9150612616826125d7565b602082019050919050565b5f6020820190508181035f830152612638816125ff565b9050919050565b7f496e76616c69642062657420616d6f756e7400000000000000000000000000005f82015250565b5f612673601283611e89565b915061267e8261263f565b602082019050919050565b5f6020820190508181035f8301526126a081612667565b9050919050565b7f4d69736d6174636865642065746865722073656e7400000000000000000000005f82015250565b5f6126db601583611e89565b91506126e6826126a7565b602082019050919050565b5f6020820190508181035f830152612708816126cf565b9050919050565b7f506c61796572206c696d6974207265616368656420666f72204f7574636f6d655f8201527f2041000000000000000000000000000000000000000000000000000000000000602082015250565b5f612769602283611e89565b91506127748261270f565b604082019050919050565b5f6020820190508181035f8301526127968161275d565b9050919050565b7f506c61796572206c696d6974207265616368656420666f72204f7574636f6d655f8201527f2042000000000000000000000000000000000000000000000000000000000000602082015250565b5f6127f7602283611e89565b91506128028261279d565b604082019050919050565b5f6020820190508181035f830152612824816127eb565b9050919050565b5f60408201905061283e5f83018561220e565b61284b6020830184611cb8565b9392505050565b7f596f752063616e206f6e6c7920626574206f6e636520706572206d617463682e5f82015250565b5f612886602083611e89565b915061289182612852565b602082019050919050565b5f6020820190508181035f8301526128b38161287a565b905091905056fea2646970667358221220042e12d739d2f985a2eeacfda9ed791042d4350a4489781c9b2340ec6cbe520564736f6c63430008140033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$45.06
Net Worth in ETH
0.0235
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1,917.42 | 0.0235 | $45.06 |
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.