Source Code
Overview
MATIC Balance
0 MATIC
Token Holdings
More Info
ContractCreator:
Multichain Info
N/A
Latest 25 from a total of 7,835 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Execute Meta Tra... | 32786344 | 388 days ago | IN | 0 MATIC | 0.00014471 | ||||
Execute Meta Tra... | 32770274 | 389 days ago | IN | 0 MATIC | 0.00013267 | ||||
Execute Meta Tra... | 32764981 | 389 days ago | IN | 0 MATIC | 0.00023384 | ||||
Execute Meta Tra... | 32764806 | 389 days ago | IN | 0 MATIC | 0.00028948 | ||||
Execute Meta Tra... | 32764679 | 389 days ago | IN | 0 MATIC | 0.00025555 | ||||
Execute Meta Tra... | 32764666 | 389 days ago | IN | 0 MATIC | 0.00024033 | ||||
Execute Meta Tra... | 32764639 | 389 days ago | IN | 0 MATIC | 0.00027237 | ||||
Execute Meta Tra... | 32764563 | 389 days ago | IN | 0 MATIC | 0.00028079 | ||||
Execute Meta Tra... | 32764509 | 389 days ago | IN | 0 MATIC | 0.00028948 | ||||
Execute Meta Tra... | 32764488 | 389 days ago | IN | 0 MATIC | 0.00028942 | ||||
Execute Meta Tra... | 32764471 | 389 days ago | IN | 0 MATIC | 0.00028942 | ||||
Execute Meta Tra... | 32764445 | 389 days ago | IN | 0 MATIC | 0.00025549 | ||||
Execute Meta Tra... | 32764316 | 389 days ago | IN | 0 MATIC | 0.00025555 | ||||
Execute Meta Tra... | 32764300 | 389 days ago | IN | 0 MATIC | 0.00025555 | ||||
Execute Meta Tra... | 32761318 | 389 days ago | IN | 0 MATIC | 0.00008186 | ||||
Execute Meta Tra... | 32761299 | 389 days ago | IN | 0 MATIC | 0.00006565 | ||||
Execute Meta Tra... | 32761280 | 389 days ago | IN | 0 MATIC | 0.00006565 | ||||
Execute Meta Tra... | 32761260 | 389 days ago | IN | 0 MATIC | 0.00006368 | ||||
Execute Meta Tra... | 32761240 | 389 days ago | IN | 0 MATIC | 0.00008684 | ||||
Execute Meta Tra... | 32761228 | 389 days ago | IN | 0 MATIC | 0.00007666 | ||||
Execute Meta Tra... | 32761208 | 389 days ago | IN | 0 MATIC | 0.00005926 | ||||
Execute Meta Tra... | 32761196 | 389 days ago | IN | 0 MATIC | 0.00005622 | ||||
Execute Meta Tra... | 32761121 | 389 days ago | IN | 0 MATIC | 0.00008684 | ||||
Execute Meta Tra... | 32761083 | 389 days ago | IN | 0 MATIC | 0.00008682 | ||||
Execute Meta Tra... | 32761071 | 389 days ago | IN | 0 MATIC | 0.00008684 |
Loading...
Loading
Contract Name:
FundManager
Compiler Version
v0.5.13+commit.5b0b510c
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.5.13; pragma experimental ABIEncoderV2; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address from, address to, uint256 amount ) external returns (bool); } import "./EIP712MetaTransaction.sol"; contract FundManager is EIP712MetaTransaction("FundManager", "1") { IERC20 dwin; event BetPlaced(uint256 indexed id, address indexed bettorAddress, uint256 indexed amount); event Claimed(uint256 indexed amount); uint256 public counter = 0; mapping(address => uint256) public addressToBalance; constructor(address _dwin) public { dwin = IERC20(_dwin); } function depositDwin(address to, uint256 amount) public { require(dwin.balanceOf(msgSender()) >= amount, "Insufficent Dwin Tokens"); addressToBalance[msgSender()] += amount; dwin.transferFrom(msgSender(), to, amount); } function palcebet(uint256 _amount) public { require(addressToBalance[msgSender()] >= _amount, "Insufficent balance"); counter += 1; addressToBalance[msgSender()] -= _amount; emit BetPlaced(counter, msgSender(), _amount); } function claim(uint256 amount) public { addressToBalance[msgSender()] += amount; emit Claimed(amount); } function withdrawDwin(uint256 amount) public { require(addressToBalance[msgSender()] >= amount, "Witdraw Amt is more than balance"); addressToBalance[msgSender()] -= amount; dwin.transfer(msgSender(), amount); } } //Deploying FundManger to prod
pragma solidity ^0.5.13; pragma experimental ABIEncoderV2; import "./lib/EIP712Base.sol"; import "./lib/SafeMath.sol"; contract EIP712MetaTransaction is EIP712Base { using SafeMath for uint256; bytes32 private constant META_TRANSACTION_TYPEHASH = keccak256(bytes("MetaTransaction(uint256 nonce,address from,bytes functionSignature)")); event MetaTransactionExecuted(address userAddress, address payable relayerAddress, bytes functionSignature); mapping(address => uint256) nonces; /* * Meta transaction structure. * No point of including value field here as if user is doing value transfer then he has the funds to pay for gas * He should call the desired function directly in that case. */ struct MetaTransaction { uint256 nonce; address from; bytes functionSignature; } constructor(string memory name, string memory version) public EIP712Base(name, version) {} function executeMetaTransaction(address userAddress, bytes memory functionSignature, bytes32 sigR, bytes32 sigS, uint8 sigV) public payable returns(bytes memory) { MetaTransaction memory metaTx = MetaTransaction({ nonce: nonces[userAddress], from: userAddress, functionSignature: functionSignature }); require(verify(userAddress, metaTx, sigR, sigS, sigV), "Signer and signature do not match"); nonces[userAddress] = nonces[userAddress].add(1); // Append userAddress at the end to extract it from calling context (bool success, bytes memory returnData) = address(this).call(abi.encodePacked(functionSignature, userAddress, msg.sender)); require(success, "Function call not successfull"); emit MetaTransactionExecuted(userAddress, msg.sender, functionSignature); return returnData; } function hashMetaTransaction(MetaTransaction memory metaTx) internal view returns (bytes32) { return keccak256(abi.encode( META_TRANSACTION_TYPEHASH, metaTx.nonce, metaTx.from, keccak256(metaTx.functionSignature) )); } function getNonce(address user) public view returns(uint256 nonce) { nonce = nonces[user]; } function verify(address user, MetaTransaction memory metaTx, bytes32 sigR, bytes32 sigS, uint8 sigV) internal view returns (bool) { address signer = ecrecover(toTypedMessageHash(hashMetaTransaction(metaTx)), sigV, sigR, sigS); require(signer != address(0), "Invalid signature"); return signer == user; } function msgSender() internal view returns(address sender) { if(msg.sender == address(this)) { bytes20 userAddress; bytes memory data = msg.data; uint256 dataLength = msg.data.length; assembly { calldatacopy(0x0, sub(dataLength, 40), sub(dataLength, 20)) userAddress := mload(0x0) } sender = address(uint160(userAddress)); } else { sender = msg.sender; } } function msgRelayer() internal view returns(address relayer) { if(msg.sender == address(this)) { bytes20 relayerAddress; bytes memory data = msg.data; uint256 dataLength = msg.data.length; assembly { calldatacopy(0x0, sub(dataLength, 20), dataLength) relayerAddress := mload(0x0) } relayer = address(uint160(relayerAddress)); } } }
pragma solidity ^0.5.13; contract EIP712Base { struct EIP712Domain { string name; string version; uint256 chainId; address verifyingContract; } bytes32 internal constant EIP712_DOMAIN_TYPEHASH = keccak256(bytes("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")); bytes32 internal domainSeperator; constructor(string memory name, string memory version) public { domainSeperator = keccak256(abi.encode( EIP712_DOMAIN_TYPEHASH, keccak256(bytes(name)), keccak256(bytes(version)), getChainID(), address(this) )); } function getChainID() internal pure returns (uint256 id) { assembly { id := 80001 } } function getDomainSeperator() private view returns(bytes32) { return domainSeperator; } /** * Accept message hash and returns hash message in EIP712 compatible form * So that it can be used to recover signer from signature signed using EIP712 formatted data * https://eips.ethereum.org/EIPS/eip-712 * "\\x19" makes the encoding deterministic * "\\x01" is the version byte to make it compatible to EIP-191 */ function toTypedMessageHash(bytes32 messageHash) internal view returns(bytes32) { return keccak256(abi.encodePacked("\x19\x01", getDomainSeperator(), messageHash)); } }
pragma solidity ^0.5.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * _Available since v2.4.0._ */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_dwin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":true,"internalType":"address","name":"bettorAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BetPlaced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"address payable","name":"relayerAddress","type":"address"},{"indexed":false,"internalType":"bytes","name":"functionSignature","type":"bytes"}],"name":"MetaTransactionExecuted","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressToBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"counter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"depositDwin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bytes","name":"functionSignature","type":"bytes"},{"internalType":"bytes32","name":"sigR","type":"bytes32"},{"internalType":"bytes32","name":"sigS","type":"bytes32"},{"internalType":"uint8","name":"sigV","type":"uint8"}],"name":"executeMetaTransaction","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"palcebet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawDwin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405260006003553480156200001657600080fd5b5060405162001b8838038062001b8883398181016040526200003c91908101906200018c565b6040518060400160405280600b81526020017f46756e644d616e616765720000000000000000000000000000000000000000008152506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250818160405180608001604052806052815260200162001b36605291398051906020012082805190602001208280519060200120620000eb6200016a60201b60201c565b3060405160200162000102959493929190620001eb565b604051602081830303815290604052805190602001206000819055505050505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620002aa565b600062013881905090565b600081519050620001868162000290565b92915050565b6000602082840312156200019f57600080fd5b6000620001af8482850162000175565b91505092915050565b620001c38162000248565b82525050565b620001d4816200025c565b82525050565b620001e58162000286565b82525050565b600060a082019050620002026000830188620001c9565b620002116020830187620001c9565b620002206040830186620001c9565b6200022f6060830185620001da565b6200023e6080830184620001b8565b9695505050505050565b6000620002558262000266565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6200029b8162000248565b8114620002a757600080fd5b50565b61187c80620002ba6000396000f3fe60806040526004361061007b5760003560e01c806361bc221a1161004e57806361bc221a14610153578063715073f91461017e578063e2d5cfa7146101a7578063ee44d490146101d05761007b565b80630c53c51c14610080578063237c980a146100b05780632d0335ab146100ed578063379607f51461012a575b600080fd5b61009a60048036036100959190810190610e36565b6101f9565b6040516100a791906114ae565b60405180910390f35b3480156100bc57600080fd5b506100d760048036036100d29190810190610e0d565b610473565b6040516100e491906115b0565b60405180910390f35b3480156100f957600080fd5b50610114600480360361010f9190810190610e0d565b61048b565b60405161012191906115b0565b60405180910390f35b34801561013657600080fd5b50610151600480360361014c9190810190610f2a565b6104d4565b005b34801561015f57600080fd5b50610168610558565b60405161017591906115b0565b60405180910390f35b34801561018a57600080fd5b506101a560048036036101a09190810190610f2a565b61055e565b005b3480156101b357600080fd5b506101ce60048036036101c99190810190610f2a565b61069d565b005b3480156101dc57600080fd5b506101f760048036036101f29190810190610ec5565b610834565b005b6060610203610d04565b6040518060600160405280600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506102828782878787610a39565b6102c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b890611590565b60405180910390fd5b61031360018060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b4890919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060603073ffffffffffffffffffffffffffffffffffffffff16888a33604051602001610386939291906112fb565b6040516020818303038152906040526040516103a291906112e4565b6000604051808303816000865af19150503d80600081146103df576040519150601f19603f3d011682016040523d82523d6000602084013e6103e4565b606091505b509150915081610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042090611510565b60405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b89338a60405161045c93929190611386565b60405180910390a180935050505095945050505050565b60046020528060005260406000206000915090505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b80600460006104e1610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550807f7a355715549cfe7c1cba26304350343fbddc4b4f72d3ce3e7c27117dd20b5cb860405160405180910390a250565b60035481565b806004600061056b610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156105e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105de90611570565b60405180910390fd5b60016003600082825401925050819055508060046000610605610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080610655610b9d565b73ffffffffffffffffffffffffffffffffffffffff166003547f87b9df6fa7123c2e6044c3a3a37b4b0662c188d7a58ef86ee55067c46e4613ad60405160405180910390a450565b80600460006106aa610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90611550565b60405180910390fd5b8060046000610733610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6107c0610b9d565b836040518363ffffffff1660e01b81526004016107de9291906113fb565b602060405180830381600087803b1580156107f857600080fd5b505af115801561080c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108309190810190610f01565b5050565b80600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823161087b610b9d565b6040518263ffffffff1660e01b8152600401610897919061136b565b60206040518083038186803b1580156108af57600080fd5b505afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e79190810190610f53565b1015610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f906114d0565b60405180910390fd5b8060046000610935610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd6109c2610b9d565b84846040518463ffffffff1660e01b81526004016109e2939291906113c4565b602060405180830381600087803b1580156109fc57600080fd5b505af1158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a349190810190610f01565b505050565b6000806001610a4f610a4a88610c4c565b610cc2565b84878760405160008152602001604052604051610a6f9493929190611469565b6020604051602081039080840390855afa158015610a91573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0490611530565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161491505095945050505050565b600080828401905083811015610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a906114f0565b60405180910390fd5b8091505092915050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610c4557600060606000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505090506000803690509050601481036028820360003760005192508260601c9350505050610c49565b3390505b90565b60006040518060800160405280604381526020016117f76043913980519060200120826000015183602001518460400151604051610c8a91906112cd565b6040518091039020604051602001610ca59493929190611424565b604051602081830303815290604052805190602001209050919050565b6000610ccc610cfb565b82604051602001610cde929190611334565b604051602081830303815290604052805190602001209050919050565b60008054905090565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600081359050610d4a81611783565b92915050565b600081519050610d5f8161179a565b92915050565b600081359050610d74816117b1565b92915050565b600082601f830112610d8b57600080fd5b8135610d9e610d99826115f8565b6115cb565b91508082526020830160208301858383011115610dba57600080fd5b610dc58382846116e3565b50505092915050565b600081359050610ddd816117c8565b92915050565b600081519050610df2816117c8565b92915050565b600081359050610e07816117df565b92915050565b600060208284031215610e1f57600080fd5b6000610e2d84828501610d3b565b91505092915050565b600080600080600060a08688031215610e4e57600080fd5b6000610e5c88828901610d3b565b955050602086013567ffffffffffffffff811115610e7957600080fd5b610e8588828901610d7a565b9450506040610e9688828901610d65565b9350506060610ea788828901610d65565b9250506080610eb888828901610df8565b9150509295509295909350565b60008060408385031215610ed857600080fd5b6000610ee685828601610d3b565b9250506020610ef785828601610dce565b9150509250929050565b600060208284031215610f1357600080fd5b6000610f2184828501610d50565b91505092915050565b600060208284031215610f3c57600080fd5b6000610f4a84828501610dce565b91505092915050565b600060208284031215610f6557600080fd5b6000610f7384828501610de3565b91505092915050565b610f8581611684565b82525050565b610f9c610f9782611684565b611737565b82525050565b610fab81611672565b82525050565b610fc2610fbd82611672565b611725565b82525050565b610fd1816116a2565b82525050565b610fe8610fe3826116a2565b611749565b82525050565b6000610ff98261162f565b611003818561163a565b93506110138185602086016116f2565b61101c81611765565b840191505092915050565b60006110328261162f565b61103c818561164b565b935061104c8185602086016116f2565b80840191505092915050565b600061106382611624565b61106d818561164b565b935061107d8185602086016116f2565b80840191505092915050565b6000611096601783611656565b91507f496e737566666963656e74204477696e20546f6b656e730000000000000000006000830152602082019050919050565b60006110d6600283611667565b91507f19010000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b6000611116601b83611656565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000611156601d83611656565b91507f46756e6374696f6e2063616c6c206e6f74207375636365737366756c6c0000006000830152602082019050919050565b6000611196601183611656565b91507f496e76616c6964207369676e61747572650000000000000000000000000000006000830152602082019050919050565b60006111d6602083611656565b91507f5769746472617720416d74206973206d6f7265207468616e2062616c616e63656000830152602082019050919050565b6000611216601383611656565b91507f496e737566666963656e742062616c616e6365000000000000000000000000006000830152602082019050919050565b6000611256602183611656565b91507f5369676e657220616e64207369676e617475726520646f206e6f74206d61746360008301527f68000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6112b8816116cc565b82525050565b6112c7816116d6565b82525050565b60006112d98284611058565b915081905092915050565b60006112f08284611027565b915081905092915050565b60006113078286611027565b91506113138285610fb1565b6014820191506113238284610f8b565b601482019150819050949350505050565b600061133f826110c9565b915061134b8285610fd7565b60208201915061135b8284610fd7565b6020820191508190509392505050565b60006020820190506113806000830184610fa2565b92915050565b600060608201905061139b6000830186610fa2565b6113a86020830185610f7c565b81810360408301526113ba8184610fee565b9050949350505050565b60006060820190506113d96000830186610fa2565b6113e66020830185610fa2565b6113f360408301846112af565b949350505050565b60006040820190506114106000830185610fa2565b61141d60208301846112af565b9392505050565b60006080820190506114396000830187610fc8565b61144660208301866112af565b6114536040830185610fa2565b6114606060830184610fc8565b95945050505050565b600060808201905061147e6000830187610fc8565b61148b60208301866112be565b6114986040830185610fc8565b6114a56060830184610fc8565b95945050505050565b600060208201905081810360008301526114c88184610fee565b905092915050565b600060208201905081810360008301526114e981611089565b9050919050565b6000602082019050818103600083015261150981611109565b9050919050565b6000602082019050818103600083015261152981611149565b9050919050565b6000602082019050818103600083015261154981611189565b9050919050565b60006020820190508181036000830152611569816111c9565b9050919050565b6000602082019050818103600083015261158981611209565b9050919050565b600060208201905081810360008301526115a981611249565b9050919050565b60006020820190506115c560008301846112af565b92915050565b6000604051905081810181811067ffffffffffffffff821117156115ee57600080fd5b8060405250919050565b600067ffffffffffffffff82111561160f57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061167d826116ac565b9050919050565b600061168f826116ac565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156117105780820151818401526020810190506116f5565b8381111561171f576000848401525b50505050565b600061173082611753565b9050919050565b600061174282611753565b9050919050565b6000819050919050565b600061175e82611776565b9050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61178c81611672565b811461179757600080fd5b50565b6117a381611696565b81146117ae57600080fd5b50565b6117ba816116a2565b81146117c557600080fd5b50565b6117d1816116cc565b81146117dc57600080fd5b50565b6117e8816116d6565b81146117f357600080fd5b5056fe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a365627a7a723158200e9c98f16a67fe2fb7106846c1668f64e743ef2be8d9bd196b7ec4284085a9d36c6578706572696d656e74616cf564736f6c634300050d0040454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429000000000000000000000000245f0fd9f2f759aef82935a6f933f786c37bfbfe
Deployed Bytecode
0x60806040526004361061007b5760003560e01c806361bc221a1161004e57806361bc221a14610153578063715073f91461017e578063e2d5cfa7146101a7578063ee44d490146101d05761007b565b80630c53c51c14610080578063237c980a146100b05780632d0335ab146100ed578063379607f51461012a575b600080fd5b61009a60048036036100959190810190610e36565b6101f9565b6040516100a791906114ae565b60405180910390f35b3480156100bc57600080fd5b506100d760048036036100d29190810190610e0d565b610473565b6040516100e491906115b0565b60405180910390f35b3480156100f957600080fd5b50610114600480360361010f9190810190610e0d565b61048b565b60405161012191906115b0565b60405180910390f35b34801561013657600080fd5b50610151600480360361014c9190810190610f2a565b6104d4565b005b34801561015f57600080fd5b50610168610558565b60405161017591906115b0565b60405180910390f35b34801561018a57600080fd5b506101a560048036036101a09190810190610f2a565b61055e565b005b3480156101b357600080fd5b506101ce60048036036101c99190810190610f2a565b61069d565b005b3480156101dc57600080fd5b506101f760048036036101f29190810190610ec5565b610834565b005b6060610203610d04565b6040518060600160405280600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018781525090506102828782878787610a39565b6102c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b890611590565b60405180910390fd5b61031360018060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b4890919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060603073ffffffffffffffffffffffffffffffffffffffff16888a33604051602001610386939291906112fb565b6040516020818303038152906040526040516103a291906112e4565b6000604051808303816000865af19150503d80600081146103df576040519150601f19603f3d011682016040523d82523d6000602084013e6103e4565b606091505b509150915081610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042090611510565b60405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b89338a60405161045c93929190611386565b60405180910390a180935050505095945050505050565b60046020528060005260406000206000915090505481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b80600460006104e1610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550807f7a355715549cfe7c1cba26304350343fbddc4b4f72d3ce3e7c27117dd20b5cb860405160405180910390a250565b60035481565b806004600061056b610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156105e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105de90611570565b60405180910390fd5b60016003600082825401925050819055508060046000610605610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080610655610b9d565b73ffffffffffffffffffffffffffffffffffffffff166003547f87b9df6fa7123c2e6044c3a3a37b4b0662c188d7a58ef86ee55067c46e4613ad60405160405180910390a450565b80600460006106aa610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071d90611550565b60405180910390fd5b8060046000610733610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6107c0610b9d565b836040518363ffffffff1660e01b81526004016107de9291906113fb565b602060405180830381600087803b1580156107f857600080fd5b505af115801561080c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108309190810190610f01565b5050565b80600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a0823161087b610b9d565b6040518263ffffffff1660e01b8152600401610897919061136b565b60206040518083038186803b1580156108af57600080fd5b505afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108e79190810190610f53565b1015610928576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091f906114d0565b60405180910390fd5b8060046000610935610b9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd6109c2610b9d565b84846040518463ffffffff1660e01b81526004016109e2939291906113c4565b602060405180830381600087803b1580156109fc57600080fd5b505af1158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a349190810190610f01565b505050565b6000806001610a4f610a4a88610c4c565b610cc2565b84878760405160008152602001604052604051610a6f9493929190611469565b6020604051602081039080840390855afa158015610a91573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0490611530565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161491505095945050505050565b600080828401905083811015610b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8a906114f0565b60405180910390fd5b8091505092915050565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610c4557600060606000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505090506000803690509050601481036028820360003760005192508260601c9350505050610c49565b3390505b90565b60006040518060800160405280604381526020016117f76043913980519060200120826000015183602001518460400151604051610c8a91906112cd565b6040518091039020604051602001610ca59493929190611424565b604051602081830303815290604052805190602001209050919050565b6000610ccc610cfb565b82604051602001610cde929190611334565b604051602081830303815290604052805190602001209050919050565b60008054905090565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b600081359050610d4a81611783565b92915050565b600081519050610d5f8161179a565b92915050565b600081359050610d74816117b1565b92915050565b600082601f830112610d8b57600080fd5b8135610d9e610d99826115f8565b6115cb565b91508082526020830160208301858383011115610dba57600080fd5b610dc58382846116e3565b50505092915050565b600081359050610ddd816117c8565b92915050565b600081519050610df2816117c8565b92915050565b600081359050610e07816117df565b92915050565b600060208284031215610e1f57600080fd5b6000610e2d84828501610d3b565b91505092915050565b600080600080600060a08688031215610e4e57600080fd5b6000610e5c88828901610d3b565b955050602086013567ffffffffffffffff811115610e7957600080fd5b610e8588828901610d7a565b9450506040610e9688828901610d65565b9350506060610ea788828901610d65565b9250506080610eb888828901610df8565b9150509295509295909350565b60008060408385031215610ed857600080fd5b6000610ee685828601610d3b565b9250506020610ef785828601610dce565b9150509250929050565b600060208284031215610f1357600080fd5b6000610f2184828501610d50565b91505092915050565b600060208284031215610f3c57600080fd5b6000610f4a84828501610dce565b91505092915050565b600060208284031215610f6557600080fd5b6000610f7384828501610de3565b91505092915050565b610f8581611684565b82525050565b610f9c610f9782611684565b611737565b82525050565b610fab81611672565b82525050565b610fc2610fbd82611672565b611725565b82525050565b610fd1816116a2565b82525050565b610fe8610fe3826116a2565b611749565b82525050565b6000610ff98261162f565b611003818561163a565b93506110138185602086016116f2565b61101c81611765565b840191505092915050565b60006110328261162f565b61103c818561164b565b935061104c8185602086016116f2565b80840191505092915050565b600061106382611624565b61106d818561164b565b935061107d8185602086016116f2565b80840191505092915050565b6000611096601783611656565b91507f496e737566666963656e74204477696e20546f6b656e730000000000000000006000830152602082019050919050565b60006110d6600283611667565b91507f19010000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b6000611116601b83611656565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000611156601d83611656565b91507f46756e6374696f6e2063616c6c206e6f74207375636365737366756c6c0000006000830152602082019050919050565b6000611196601183611656565b91507f496e76616c6964207369676e61747572650000000000000000000000000000006000830152602082019050919050565b60006111d6602083611656565b91507f5769746472617720416d74206973206d6f7265207468616e2062616c616e63656000830152602082019050919050565b6000611216601383611656565b91507f496e737566666963656e742062616c616e6365000000000000000000000000006000830152602082019050919050565b6000611256602183611656565b91507f5369676e657220616e64207369676e617475726520646f206e6f74206d61746360008301527f68000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6112b8816116cc565b82525050565b6112c7816116d6565b82525050565b60006112d98284611058565b915081905092915050565b60006112f08284611027565b915081905092915050565b60006113078286611027565b91506113138285610fb1565b6014820191506113238284610f8b565b601482019150819050949350505050565b600061133f826110c9565b915061134b8285610fd7565b60208201915061135b8284610fd7565b6020820191508190509392505050565b60006020820190506113806000830184610fa2565b92915050565b600060608201905061139b6000830186610fa2565b6113a86020830185610f7c565b81810360408301526113ba8184610fee565b9050949350505050565b60006060820190506113d96000830186610fa2565b6113e66020830185610fa2565b6113f360408301846112af565b949350505050565b60006040820190506114106000830185610fa2565b61141d60208301846112af565b9392505050565b60006080820190506114396000830187610fc8565b61144660208301866112af565b6114536040830185610fa2565b6114606060830184610fc8565b95945050505050565b600060808201905061147e6000830187610fc8565b61148b60208301866112be565b6114986040830185610fc8565b6114a56060830184610fc8565b95945050505050565b600060208201905081810360008301526114c88184610fee565b905092915050565b600060208201905081810360008301526114e981611089565b9050919050565b6000602082019050818103600083015261150981611109565b9050919050565b6000602082019050818103600083015261152981611149565b9050919050565b6000602082019050818103600083015261154981611189565b9050919050565b60006020820190508181036000830152611569816111c9565b9050919050565b6000602082019050818103600083015261158981611209565b9050919050565b600060208201905081810360008301526115a981611249565b9050919050565b60006020820190506115c560008301846112af565b92915050565b6000604051905081810181811067ffffffffffffffff821117156115ee57600080fd5b8060405250919050565b600067ffffffffffffffff82111561160f57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061167d826116ac565b9050919050565b600061168f826116ac565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156117105780820151818401526020810190506116f5565b8381111561171f576000848401525b50505050565b600061173082611753565b9050919050565b600061174282611753565b9050919050565b6000819050919050565b600061175e82611776565b9050919050565b6000601f19601f8301169050919050565b60008160601b9050919050565b61178c81611672565b811461179757600080fd5b50565b6117a381611696565b81146117ae57600080fd5b50565b6117ba816116a2565b81146117c557600080fd5b50565b6117d1816116cc565b81146117dc57600080fd5b50565b6117e8816116d6565b81146117f357600080fd5b5056fe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a365627a7a723158200e9c98f16a67fe2fb7106846c1668f64e743ef2be8d9bd196b7ec4284085a9d36c6578706572696d656e74616cf564736f6c634300050d0040
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000245f0fd9f2f759aef82935a6f933f786c37bfbfe
-----Decoded View---------------
Arg [0] : _dwin (address): 0x245F0fd9f2F759AeF82935A6F933F786C37BfbfE
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000245f0fd9f2f759aef82935a6f933f786c37bfbfe
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.