Contract 0xaBeB320fb3500ACF4E8c9406b93cdbfaa584988D

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x99190351a725949736ef7444f13cb198aa5699e5c00195ab584abc017da08035Withdraw Ether390478862023-02-08 7:08:2546 days 5 hrs ago0x7612128bde69d375adfecb792a04ad1d717cc446 IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0 MATIC0.006507566408203.075874809
0x7941445bc19cd72284a042fce5e3e288ae993ebda2808a3c315d91c18c12b282Withdraw Ether383672742023-01-21 23:32:3163 days 12 hrs ago0x7612128bde69d375adfecb792a04ad1d717cc446 IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0 MATIC0.001731999622 54.048981838
0x558c384adebe8ca432ca7ba0dab33c908c589558d45ce4c25699f8a48e3f600dGame382878072023-01-19 23:11:3265 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d100 MATIC0.02603425 110
0x542c4d15e43c83ccca4a6e24dc07b93d13a94f62a3f45725fd7b90f1ef67dcd8Game382877672023-01-19 23:10:0865 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d50 MATIC0.02603425110
0x3637bec11ab8302ee92e3473e2fda8937ffdcdbd75ff6494c8586579b1ff8242Game382877272023-01-19 23:08:4265 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d10 MATIC0.02603425 110
0x146e264df6fe2b23a44fe265c01e75dc51690255b6c752943f21fe0980f9a31eGame382876992023-01-19 23:07:2065 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d10 MATIC0.02603425 110
0x85ca60bde172e29c6f24dec83453c10c4263a816be5f78bfb6530373bcdf3558Game382876732023-01-19 23:06:1665 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d5 MATIC0.02603425 110
0x09c324594f2090adabc275d4045a0e342c591d156b5ee1ff627008f972538969Game382876482023-01-19 23:05:2465 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0x9906f5d491044c69a85844540a60863f086e57424d94339284346f69011a6a8aGame382876212023-01-19 23:04:2665 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d10 MATIC0.02603425 110
0x3df24e8dc2bcbb173cbbcaa694e8fb39e9fbc57b70808ab396eb574efd4675abGame382875892023-01-19 23:02:5865 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0x3c0e9c63ff702608abe55ec2eed220be9af1fcb2aa12a16281260ea5bde7c6f2Game382875692023-01-19 23:02:0465 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0x75c2a7ad316be342b7c7d7a81e183365d4af0ab43a5447e63c3930c6cea2c6b6Game382875232023-01-19 23:00:2665 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425110
0x2c67723a2ecf65807d410346ead6406dd6da9e9db537148e7cd643e93f38b997Game382874992023-01-19 22:58:3065 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0x7f221c561e4c702e53068294e0b7ae3adb1d7a6ba57b5fd9bad58c2a00264b41Game382874742023-01-19 22:57:3865 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0x1fe4bdbba41f8e3efa6982738097c1968fbcbd5f2281248e2336b1704660e54cGame382874082023-01-19 22:55:1865 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0x1fc6620294d3374cad0136fe8305c7d7bc6ccc5d1a6b691d2588b32f76fc3aa9Game382873632023-01-19 22:53:4265 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0x829b8b4ef5737615b0e35bf50e4e0a2a0e181cb9b691cf89624da3395a543190Game382872962023-01-19 22:51:2065 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0x7a215c493e575a6c25e8dc50dd0fdf79ca5e52a1435bc34d7d6dfa9bc2ff00caGame382872682023-01-19 22:50:2065 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0xaf21b089cd3ba7940a4928e31045dff0bf36008b09e2cb134ce785a89a42d2d2Game382872232023-01-19 22:48:1265 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0xe9da925dab444cd7132323b5750e41ce6532b275fb2f5ac1878eaabae459f889Game382872042023-01-19 22:47:0065 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
0xb4474d099dbf15b0735957ab0f87c02772f5eebba83897d63259daefcdbea4dfGame382871462023-01-19 22:44:5665 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425110
0xf309ab64e4429794c69b2158d69eaf3bed9b2b63ecbe492a3d63b3a64ad4ef31Game382871082023-01-19 22:43:3665 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425110
0xca9512f8f8f3efeaaafdd61949b3596409c07127122e64c645a44ab9c6f26abeGame382870542023-01-19 22:41:4065 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d10 MATIC0.02603425 110
0xc9475ee06cc99cf222a6016db5fcf01258cf2125d7bce7d2d7e397c6cb6225c0Game382870162023-01-19 22:40:2065 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d5 MATIC0.02603425 110
0x91a0a289c4c60a4f440fd3ec16192d23bec3399d1b15ba056488f097e37598e1Game382869842023-01-19 22:39:1265 days 13 hrs ago0x0920f44f59c9617eb0ed56996ee90d6546ec11ce IN  0xabeb320fb3500acf4e8c9406b93cdbfaa584988d25 MATIC0.02603425 110
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x99190351a725949736ef7444f13cb198aa5699e5c00195ab584abc017da08035390478862023-02-08 7:08:2546 days 5 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc44670 MATIC
0x7941445bc19cd72284a042fce5e3e288ae993ebda2808a3c315d91c18c12b282383672742023-01-21 23:32:3163 days 12 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc44670 MATIC
0xce6d5745f6d16c36764545c49810b02f2664b98ce11a10954d79e7d0030830b3382878202023-01-19 23:12:0065 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4463 MATIC
0x6a71744840284c178daf0625a2cb0b8e59b3328c92982ca639a31fdb0445e954382877802023-01-19 23:10:3665 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x0920f44f59c9617eb0ed56996ee90d6546ec11ce95 MATIC
0x6a71744840284c178daf0625a2cb0b8e59b3328c92982ca639a31fdb0445e954382877802023-01-19 23:10:3665 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4461.5 MATIC
0xd9f2199f6788dbea4d6abc17fb94bef07bfb343f51afd252cea1294084fb1a11382877392023-01-19 23:09:0865 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.3 MATIC
0x39e419566ccc459c6e338e4251616722a8359f731a33d9f692b44e65f3927d92382877112023-01-19 23:08:0865 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x0920f44f59c9617eb0ed56996ee90d6546ec11ce19 MATIC
0x39e419566ccc459c6e338e4251616722a8359f731a33d9f692b44e65f3927d92382877112023-01-19 23:08:0865 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.3 MATIC
0x9ec2abb05fda2289462d5b3cd49f6299a29a196b29e796cda88034be283dd0e8382876862023-01-19 23:06:4465 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x0920f44f59c9617eb0ed56996ee90d6546ec11ce9.5 MATIC
0x9ec2abb05fda2289462d5b3cd49f6299a29a196b29e796cda88034be283dd0e8382876862023-01-19 23:06:4465 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.15 MATIC
0x89d4c8dffb2073e89a6ca136e4d36b96119eb6f8baed7e68f2a4ccdc215807f8382876602023-01-19 23:05:4865 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0x58091758eeae494906e4dd0c09067d933bf0a792aff0589687c9d7c425f0b3c1382876332023-01-19 23:04:5265 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x0920f44f59c9617eb0ed56996ee90d6546ec11ce19 MATIC
0x58091758eeae494906e4dd0c09067d933bf0a792aff0589687c9d7c425f0b3c1382876332023-01-19 23:04:5265 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.3 MATIC
0xd6195cb174b345b3970963dedd7ccd46828ab661cbc4edbb30739067560b2460382876022023-01-19 23:03:4665 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x0920f44f59c9617eb0ed56996ee90d6546ec11ce47.5 MATIC
0xd6195cb174b345b3970963dedd7ccd46828ab661cbc4edbb30739067560b2460382876022023-01-19 23:03:4665 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0x2658bb05b56fcfb20c988e2f9fb9adcc49228bf8de6974ff3cd4efd71c06a8c9382875822023-01-19 23:02:3065 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0x338ac2522bfb573a736a9963e8702e90c560e28317079e00a8244c2aa14bc119382875362023-01-19 23:00:5465 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0xbacd805bcab4bc2d5a12e59988157651813681b01ecfed6c6e3b44f29d9c8193382875112023-01-19 22:59:2865 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0x4a1146e5fac872940c630e5dd7a047b1d71689b8c979749dcee106f080f21981382874872023-01-19 22:58:0465 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0x91f8c6cb84f2a15a7eebda79501d5fe6276786963dae7d9ec5a5f9f64927f8f6382874212023-01-19 22:55:4465 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x0920f44f59c9617eb0ed56996ee90d6546ec11ce47.5 MATIC
0x91f8c6cb84f2a15a7eebda79501d5fe6276786963dae7d9ec5a5f9f64927f8f6382874212023-01-19 22:55:4465 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0x481a4a4263503f35ef4621a8b84447e4651adaef3760e10894993c098d3de405382873762023-01-19 22:54:1065 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x0920f44f59c9617eb0ed56996ee90d6546ec11ce47.5 MATIC
0x481a4a4263503f35ef4621a8b84447e4651adaef3760e10894993c098d3de405382873762023-01-19 22:54:1065 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0x168efc6a64d51732d1513b806712c33fd8fe14decfea31b56006b569c0b732d0382873082023-01-19 22:51:4465 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x7612128bde69d375adfecb792a04ad1d717cc4460.75 MATIC
0x34a5bca0111ea79f5f062c5af3f6721b27d667682fd320337de2944492e14727382872802023-01-19 22:50:4665 days 13 hrs ago 0xabeb320fb3500acf4e8c9406b93cdbfaa584988d0x0920f44f59c9617eb0ed56996ee90d6546ec11ce47.5 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BettingGame

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

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

Contract ABI

[{"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"}]

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
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.