Contract Overview
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
BettingGame
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2022-05-21 */ /** *Submitted for verification at polygonscan.com on 2022-05-21 */ // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; library SafeMathChainlink { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } interface LinkTokenInterface { function allowance(address owner, address spender) external view returns (uint256 remaining); function approve(address spender, uint256 value) external returns (bool success); function balanceOf(address owner) external view returns (uint256 balance); function decimals() external view returns (uint8 decimalPlaces); function decreaseApproval(address spender, uint256 addedValue) external returns (bool success); function increaseApproval(address spender, uint256 subtractedValue) external; function name() external view returns (string memory tokenName); function symbol() external view returns (string memory tokenSymbol); function totalSupply() external view returns (uint256 totalTokensIssued); function transfer(address to, uint256 value) external returns (bool success); function transferAndCall(address to, uint256 value, bytes calldata data) external returns (bool success); function transferFrom(address from, address to, uint256 value) external returns (bool success); } contract VRFRequestIDBase { function makeVRFInputSeed(bytes32 _keyHash, uint256 _userSeed, address _requester, uint256 _nonce) internal pure returns (uint256) { return uint256(keccak256(abi.encode(_keyHash, _userSeed, _requester, _nonce))); } function makeRequestId( bytes32 _keyHash, uint256 _vRFInputSeed) internal pure returns (bytes32) { return keccak256(abi.encodePacked(_keyHash, _vRFInputSeed)); } } abstract contract VRFConsumerBase is VRFRequestIDBase { using SafeMathChainlink for uint256; function fulfillRandomness(bytes32 requestId, uint256 randomness) internal virtual; uint256 constant private USER_SEED_PLACEHOLDER = 0; function requestRandomness(bytes32 _keyHash, uint256 _fee, uint256 _seed) internal returns (bytes32 requestId) { LINK.transferAndCall(vrfCoordinator, _fee, abi.encode(_keyHash, _seed)); // This is the seed passed to VRFCoordinator. The oracle will mix this with // the hash of the block containing this request to obtain the seed/input // which is finally passed to the VRF cryptographic machinery. uint256 vRFSeed = makeVRFInputSeed(_keyHash, _seed, address(this), nonces[_keyHash]); // nonces[_keyHash] must stay in sync with // VRFCoordinator.nonces[_keyHash][this], which was incremented by the above // successful LINK.transferAndCall (in VRFCoordinator.randomnessRequest). // This provides protection against the user repeating their input seed, // which would result in a predictable/duplicate output, if multiple such // requests appeared in the same block. nonces[_keyHash] = nonces[_keyHash].add(1); return makeRequestId(_keyHash, vRFSeed); } LinkTokenInterface immutable internal LINK; address immutable private vrfCoordinator; // Nonces for each VRF key from which randomness has been requested. // // Must stay in sync with VRFCoordinator[_keyHash][this] mapping(bytes32 /* keyHash */ => uint256 /* nonce */) private nonces; /** * @param _vrfCoordinator address of VRFCoordinator contract * @param _link address of LINK token contract * * @dev https://docs.chain.link/docs/link-token-contracts */ constructor(address _vrfCoordinator, address _link) public { vrfCoordinator = _vrfCoordinator; LINK = LinkTokenInterface(_link); } // rawFulfillRandomness is called by VRFCoordinator when it receives a valid VRF // proof. rawFulfillRandomness then calls fulfillRandomness, after validating // the origin of the call function rawFulfillRandomness(bytes32 requestId, uint256 randomness) external { require(msg.sender == vrfCoordinator, "Only VRFCoordinator can fulfill"); fulfillRandomness(requestId, randomness); } } contract BettingGame is VRFConsumerBase { uint256 public constant MIN_DEPOSIT_AMOUNT = 5 ether; uint256 public constant MAX_DEPOSIT_AMOUNT = 160 ether; uint256 private rewardFee = 3; uint256 private bettingFee = 5; address public adminWallet; uint256 internal fee; uint256 public randomResult; //Network: Polygon mainnet address constant VFRC_address = 0x3d2341ADb2D31f1c5530cDC622016af293177AE0; // VRF Coordinator address constant LINK_address = 0xb0897686c545045aFc77CF20eC7A532E3120E0F1; // LINK token //declaring 50% chance, (0.5*(uint256+1)) uint256 constant half = 57896044618658097711785492504343953926634992332820282019728792003956564819968; //keyHash - one of the component from which will be generated final random value by Chainlink VFRC. bytes32 constant internal keyHash = 0xf86195cf7690c55907b2b611ebb7343a6f649bff128701cc542f0569e2c549da; uint256 public gameId; uint256 public lastGameId; mapping(uint256 => Game) public games; mapping(address => bool) public managers; struct Game{ uint256 id; uint256 bet; uint256 seed; uint256 amount; uint256 winAmount; uint256 time; address payable player; } modifier onlyManager() { require(managers[msg.sender] == true, 'caller is not the manager'); _; } modifier onlyVFRC() { require(msg.sender == VFRC_address, 'only VFRC can call this function'); _; } event Withdraw(address manager, uint256 amount); event Received(address indexed sender, uint256 amount); event Result(uint256 id, uint256 bet, uint256 randomSeed, uint256 amount, address player, uint256 winAmount, uint256 randomResult, uint256 time); /** * Constructor inherits VRFConsumerBase. */ constructor(address _admin) VRFConsumerBase(VFRC_address, LINK_address) public { fee = 0.0001 * 10 ** 18; // 0.0001 LINK managers[msg.sender] = true; adminWallet = _admin; } /* Allows this contract to receive payments */ receive() external payable { emit Received(msg.sender, msg.value); } function addManager(address _addr) external { require(managers[msg.sender] == true, 'Error, You are not allowed!'); managers[_addr] = true; } function removeManager(address _addr) external { require(managers[msg.sender] == true, 'Error, You are not allowed!'); managers[_addr] = false; } function fund() external payable {} /** * Taking bets function. * By winning, user 2x his betAmount. * Chances to win and lose are the same. */ function game(uint256 bet, uint256 seed) public payable returns (bool) { require(msg.value>=MIN_DEPOSIT_AMOUNT, 'Error, msg.value must be >= 5 matic'); require(msg.value<=MAX_DEPOSIT_AMOUNT, 'Error, msg.value must be <= 160 matic'); //bet=0 is grey //bet=1 is orange require(bet<=1, 'Error, accept only 0 and 1'); //vault balance must be at least equal to msg.value require(address(this).balance>=msg.value, 'Error, insufficent vault balance'); //each bet has unique id games[gameId] = Game(gameId, bet, seed, msg.value, 0, 0, payable(msg.sender)); //increase gameId for the next bet gameId = gameId+1; //seed is auto-generated by DApp getRandomNumber(seed); return true; } /** * Request for randomness. */ function getRandomNumber(uint256 userProvidedSeed) internal returns (bytes32 requestId) { require(LINK.balanceOf(address(this)) > fee, "Error, not enough LINK - fill contract with faucet"); return requestRandomness(keyHash, fee, userProvidedSeed); } /** * Callback function used by VRF Coordinator. */ function fulfillRandomness(bytes32 requestId, uint256 randomness) internal override { randomResult = randomness; //send final random value to the verdict(); verdict(randomResult); } /** * Send rewards to the winners. */ function verdict(uint256 random) public payable onlyVFRC { //check bets from latest betting round, one by one for(uint256 i=lastGameId; i<gameId; i++){ //reset winAmount for current user uint256 winAmount = 0; // send fee to the adminWallet 3% uint256 rewardFeeAmount = getRewardFee(games[i].amount); payable(adminWallet).transfer(rewardFeeAmount); //if user wins, then receives 2x of their betting amount if((random>=half && games[i].bet==1) || (random<half && games[i].bet==0)){ uint256 bettingFeeAmount = getBettingFee(games[i].amount); winAmount = (games[i].amount - bettingFeeAmount) * 2; games[i].player.transfer(winAmount); } games[i].winAmount = winAmount; games[i].time = block.timestamp; emit Result(games[i].id, games[i].bet, games[i].seed, games[i].amount, games[i].player, games[i].winAmount, random, games[i].time); } //save current gameId to lastGameId for the next betting round lastGameId = gameId; } /** * Withdraw LINK from this contract (admin option). */ function withdrawLink(uint256 amount) external onlyManager { require(LINK.transfer(msg.sender, amount), "Error, unable to transfer"); } /** * Withdraw Ether from this contract (admin option). */ function withdrawEther(uint256 amount) external payable onlyManager { require(address(this).balance>=amount, 'Error, contract has insufficent balance'); payable(msg.sender).transfer(amount); emit Withdraw(msg.sender, amount); } function getRewardFee(uint256 amount) private view returns(uint256) { return amount * rewardFee / 100; } function getBettingFee(uint256 amount) private view returns(uint256) { return amount * bettingFee / 100; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bet","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomSeed","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"winAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomResult","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"Result","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"manager","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"MAX_DEPOSIT_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_DEPOSIT_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"addManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"adminWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fund","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"bet","type":"uint256"},{"internalType":"uint256","name":"seed","type":"uint256"}],"name":"game","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"gameId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"games","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"bet","type":"uint256"},{"internalType":"uint256","name":"seed","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"winAmount","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"address payable","name":"player","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastGameId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"managers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"randomResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"uint256","name":"randomness","type":"uint256"}],"name":"rawFulfillRandomness","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"removeManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"random","type":"uint256"}],"name":"verdict","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawLink","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526003600155600560025534801561001a57600080fd5b50604051611b28380380611b288339818101604052602081101561003d57600080fd5b8101908080519060200190929190505050733d2341adb2d31f1c5530cdc622016af293177ae073b0897686c545045afc77cf20ec7a532e3120e0f18173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250505050655af3107a40006004819055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060805160601c60a05160601c6119616101c760003980610d8452806115b052508061098952806113dd528061157452506119616000f3fe6080604052600436106100f75760003560e01c80637a8042bd1161008a578063b60d428811610059578063b60d42881461046b578063d3dc1fdf14610475578063d7c81b55146104a3578063fdff9b4d146104ce5761014c565b80637a8042bd1461034c57806383f818b41461038757806394985ddd146103d5578063ac18de431461041a5761014c565b80633bed33ce116100c65780633bed33ce1461029d5780633ee9d648146102cb57806342619f66146102f65780634c34a982146103215761014c565b8063117a5b90146101515780631ea30fef146101e05780632d06177a1461020b57806336b19cd71461025c5761014c565b3661014c573373ffffffffffffffffffffffffffffffffffffffff167f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874346040518082815260200191505060405180910390a2005b600080fd5b34801561015d57600080fd5b5061018a6004803603602081101561017457600080fd5b8101908080359060200190929190505050610535565b604051808881526020018781526020018681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200197505050505050505060405180910390f35b3480156101ec57600080fd5b506101f5610597565b6040518082815260200191505060405180910390f35b34801561021757600080fd5b5061025a6004803603602081101561022e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a3565b005b34801561026857600080fd5b506102716106c4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102c9600480360360208110156102b357600080fd5b81019080803590602001909291905050506106ea565b005b3480156102d757600080fd5b506102e06108a8565b6040518082815260200191505060405180910390f35b34801561030257600080fd5b5061030b6108ae565b6040518082815260200191505060405180910390f35b34801561032d57600080fd5b506103366108b4565b6040518082815260200191505060405180910390f35b34801561035857600080fd5b506103856004803603602081101561036f57600080fd5b81019080803590602001909291905050506108c1565b005b6103bd6004803603604081101561039d57600080fd5b810190808035906020019092919080359060200190929190505050610ac8565b60405180821515815260200191505060405180910390f35b3480156103e157600080fd5b50610418600480360360408110156103f857600080fd5b810190808035906020019092919080359060200190929190505050610d82565b005b34801561042657600080fd5b506104696004803603602081101561043d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e51565b005b610473610f72565b005b6104a16004803603602081101561048b57600080fd5b8101908080359060200190929190505050610f74565b005b3480156104af57600080fd5b506104b86113b0565b6040518082815260200191505060405180910390f35b3480156104da57600080fd5b5061051d600480360360208110156104f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113b6565b60405180821515815260200191505060405180910390f35b60086020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b674563918244f4000081565b60011515600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610669576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4572726f722c20596f7520617265206e6f7420616c6c6f77656421000000000081525060200191505060405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60011515600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146107b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206973206e6f7420746865206d616e616765720000000000000081525060200191505060405180910390fd5b80471015610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061188b6027913960400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561084f573d6000803e3d6000fd5b507f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243643382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60075481565b60055481565b6808ac7230489e80000081565b60011515600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610987576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206973206e6f7420746865206d616e616765720000000000000081525060200191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a1857600080fd5b505af1158015610a2c573d6000803e3d6000fd5b505050506040513d6020811015610a4257600080fd5b8101908080519060200190929190505050610ac5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4572726f722c20756e61626c6520746f207472616e736665720000000000000081525060200191505060405180910390fd5b50565b6000674563918244f40000341015610b2b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806119096023913960400191505060405180910390fd5b6808ac7230489e800000341115610b8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806118b26025913960400191505060405180910390fd5b6001831115610c04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4572726f722c20616363657074206f6e6c79203020616e64203100000000000081525060200191505060405180910390fd5b34471015610c7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4572726f722c20696e737566666963656e74207661756c742062616c616e636581525060200191505060405180910390fd5b6040518060e00160405280600654815260200184815260200183815260200134815260200160008152602001600081526020013373ffffffffffffffffffffffffffffffffffffffff16815250600860006006548152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050600160065401600681905550610d77826113d6565b506001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c0081525060200191505060405180910390fd5b610e4d828261152a565b5050565b60011515600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610f17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4572726f722c20596f7520617265206e6f7420616c6c6f77656421000000000081525060200191505060405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b565b733d2341adb2d31f1c5530cdc622016af293177ae073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611029576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6f6e6c7920564652432063616e2063616c6c20746869732066756e6374696f6e81525060200191505060405180910390fd5b600060075490505b6006548110156113a35760008061105d6008600085815260200190815260200160002060030154611540565b9050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156110c7573d6000803e3d6000fd5b507f8000000000000000000000000000000000000000000000000000000000000000841015801561110e575060016008600085815260200190815260200160002060010154145b8061115a57507f800000000000000000000000000000000000000000000000000000000000000084108015611159575060006008600085815260200190815260200160002060010154145b5b1561121f5760006111806008600086815260200190815260200160002060030154611558565b90506002816008600087815260200190815260200160002060030154030292506008600085815260200190815260200160002060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015801561121c573d6000803e3d6000fd5b50505b8160086000858152602001908152602001600020600401819055504260086000858152602001908152602001600020600501819055507f42454dd863e57d7fc7c2c8c6a3d1385748e0c2c5224b37d27cad5fb088ddf47b60086000858152602001908152602001600020600001546008600086815260200190815260200160002060010154600860008781526020019081526020016000206002015460086000888152602001908152602001600020600301546008600089815260200190815260200160002060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860008a8152602001908152602001600020600401548a600860008c815260200190815260200160002060050154604051808981526020018881526020018781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018281526020019850505050505050505060405180910390a150508080600101915050611031565b5060065460078190555050565b60065481565b60096020528060005260406000206000915054906101000a900460ff1681565b60006004547f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561146257600080fd5b505afa158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b8101908080519060200190929190505050116114f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806118d76032913960400191505060405180910390fd5b6115237ff86195cf7690c55907b2b611ebb7343a6f649bff128701cc542f0569e2c549da60001b60045484611570565b9050919050565b8060058190555061153c600554610f74565b5050565b6000606460015483028161155057fe5b049050919050565b6000606460025483028161156857fe5b049050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16634000aea07f000000000000000000000000000000000000000000000000000000000000000085878660405160200180838152602001828152602001925050506040516020818303038152906040526040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561166957808201518184015260208101905061164e565b50505050905090810190601f1680156116965780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b1580156116b757600080fd5b505af11580156116cb573d6000803e3d6000fd5b505050506040513d60208110156116e157600080fd5b81019080805190602001909291905050505060006117138584306000808a815260200190815260200160002054611765565b905061173b6001600080888152602001908152602001600020546117c990919063ffffffff16565b6000808781526020019081526020016000208190555061175b8582611851565b9150509392505050565b600084848484604051602001808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019450505050506040516020818303038152906040528051906020012060001c9050949350505050565b600080828401905083811015611847576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000828260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090509291505056fe4572726f722c20636f6e74726163742068617320696e737566666963656e742062616c616e63654572726f722c206d73672e76616c7565206d757374206265203c3d20313630206d617469634572726f722c206e6f7420656e6f756768204c494e4b202d2066696c6c20636f6e74726163742077697468206661756365744572726f722c206d73672e76616c7565206d757374206265203e3d2035206d61746963a2646970667358221220b8a08bbf6990d46165456ea802086fe7620dcab046b8ff82bc54f6011c1b183e64736f6c634300060c00330000000000000000000000007612128bde69d375adfecb792a04ad1d717cc446
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007612128bde69d375adfecb792a04ad1d717cc446
-----Decoded View---------------
Arg [0] : _admin (address): 0x7612128bde69d375adfecb792a04ad1d717cc446
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007612128bde69d375adfecb792a04ad1d717cc446
Deployed ByteCode Sourcemap
5274:6356:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7502:10;7493:31;;;7514:9;7493:31;;;;;;;;;;;;;;;;;;5274:6356;;;;;6290:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5321:52;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7540:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5518:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11103:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6258:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5584:27;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5380:54;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10868:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8068:848;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5057:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7712:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7888:35;;;:::i;:::-;;9604:1179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6230:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6334:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6290:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5321:52::-;5366:7;5321:52;:::o;7540:164::-;7627:4;7603:28;;:8;:20;7612:10;7603:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;7595:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7692:4;7674:8;:15;7683:5;7674:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;7540:164;:::o;5518:26::-;;;;;;;;;;;;;:::o;11103:269::-;6651:4;6627:28;;:8;:20;6636:10;6627:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6619:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11213:6:::1;11190:21;:29;;11182:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11282:10;11274:28;;:36;11303:6;11274:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11336:28;11345:10;11357:6;11336:28;;;;;;;;;;;;;;;;;;;;;;;;;;11103:269:::0;:::o;6258:25::-;;;;:::o;5584:27::-;;;;:::o;5380:54::-;5425:9;5380:54;:::o;10868:149::-;6651:4;6627:28;;:8;:20;6636:10;6627:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6619:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10946:4:::1;:13;;;10960:10;10972:6;10946:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;10938:71;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;10868:149:::0;:::o;8068:848::-;8133:4;5366:7;8158:9;:29;;8150:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5425:9;8246;:29;;8238:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8403:1;8398:3;:6;;8390:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8540:9;8517:21;:32;;8509:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8657:61;;;;;;;;8662:6;;8657:61;;;;8670:3;8657:61;;;;8675:4;8657:61;;;;8681:9;8657:61;;;;8692:1;8657:61;;;;8695:1;8657:61;;;;8706:10;8657:61;;;;;8641:5;:13;8647:6;;8641:13;;;;;;;;;;;:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8799:1;8792:6;;:8;8783:6;:17;;;;8855:21;8871:4;8855:15;:21::i;:::-;;8904:4;8897:11;;8068:848;;;;:::o;5057:210::-;5164:14;5150:28;;:10;:28;;;5142:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5221:40;5239:9;5250:10;5221:17;:40::i;:::-;5057:210;;:::o;7712:168::-;7802:4;7778:28;;:8;:20;7787:10;7778:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;7770:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7867:5;7849:8;:15;7858:5;7849:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;7712:168;:::o;7888:35::-;:::o;9604:1179::-;5686:42;6752:26;;:10;:26;;;6744:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9736:9:::1;9746:10;;9736:20;;9732:942;9760:6;;9758:1;:8;9732:942;;;9835:17;9932:23:::0;9958:29:::1;9971:5;:8;9977:1;9971:8;;;;;;;;;;;:15;;;9958:12;:29::i;:::-;9932:55;;10010:11;;;;;;;;;;;10002:29;;:46;10032:15;10002:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;5924:77;10139:6;:12;;:31;;;;;10169:1;10155:5;:8;10161:1;10155:8;;;;;;;;;;;:12;;;:15;10139:31;10138:69;;;;5924:77;10176:6;:11;:30;;;;;10205:1;10191:5;:8;10197:1;10191:8;;;;;;;;;;;:12;;;:15;10176:30;10138:69;10135:290;;;10227:24;10254:30;10268:5;:8;10274:1;10268:8;;;;;;;;;;;:15;;;10254:13;:30::i;:::-;10227:57;;10354:1;10334:16;10316:5;:8;10322:1;10316:8;;;;;;;;;;;:15;;;:34;10315:40;10303:52;;10374:5;:8;10380:1;10374:8;;;;;;;;;;;:15;;;;;;;;;;;;:24;;:35;10399:9;10374:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10135:290;;10462:9;10441:5;:8;10447:1;10441:8;;;;;;;;;;;:18;;:30;;;;10502:15;10486:5;:8;10492:1;10486:8;;;;;;;;;;;:13;;:31;;;;10537:125;10544:5;:8;10550:1;10544:8;;;;;;;;;;;:11;;;10557:5;:8;10563:1;10557:8;;;;;;;;;;;:12;;;10571:5;:8;10577:1;10571:8;;;;;;;;;;;:13;;;10586:5;:8;10592:1;10586:8;;;;;;;;;;;:15;;;10603:5;:8;10609:1;10603:8;;;;;;;;;;;:15;;;;;;;;;;;;10620:5;:8;10626:1;10620:8;;;;;;;;;;;:18;;;10640:6;10648:5;:8;10654:1;10648:8;;;;;;;;;;;:13;;;10537:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9732:942;;9768:3;;;;;;;9732:942;;;;10769:6;;10756:10;:19;;;;9604:1179:::0;:::o;6230:21::-;;;;:::o;6334:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;8977:272::-;9046:17;9116:3;;9084:4;:14;;;9107:4;9084:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:35;9076:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9192:49;6153:66;9210:7;;9219:3;;9224:16;9192:17;:49::i;:::-;9185:56;;8977:272;;;:::o;9324:215::-;9434:10;9419:12;:25;;;;9510:21;9518:12;;9510:7;:21::i;:::-;9324:215;;:::o;11380:119::-;11439:7;11487:3;11475:9;;11466:6;:18;:24;;;;;;11459:31;;11380:119;;;:::o;11507:120::-;11567:7;11616:3;11603:10;;11594:6;:19;:25;;;;;;11587:32;;11507:120;;;:::o;3177:1029::-;3274:17;3303:4;:20;;;3324:14;3340:4;3357:8;3367:5;3346:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3303:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3609:15;3628:66;3645:8;3655:5;3670:4;3677:6;:16;3684:8;3677:16;;;;;;;;;;;;3628;:66::i;:::-;3609:85;;4131:23;4152:1;4131:6;:16;4138:8;4131:16;;;;;;;;;;;;:20;;:23;;;;:::i;:::-;4112:6;:16;4119:8;4112:16;;;;;;;;;;;:42;;;;4168:32;4182:8;4192:7;4168:13;:32::i;:::-;4161:39;;;3177:1029;;;;;:::o;2500:236::-;2632:7;2688:8;2698:9;2709:10;2721:6;2677:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2667:62;;;;;;2659:71;;2651:79;;2500:236;;;;;;:::o;167:167::-;225:7;241:9;257:1;253;:5;241:17;;278:1;273;:6;;265:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;327:1;320:8;;;167:167;;;;:::o;2742:174::-;2835:7;2885:8;2895:13;2868:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2858:52;;;;;;2851:59;;2742:174;;;;:::o
Swarm Source
ipfs://b8a08bbf6990d46165456ea802086fe7620dcab046b8ff82bc54f6011c1b183e
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.