Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,249 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim War Fund D... | 9866289 | 1567 days ago | IN | 0 ETH | 0.00030927 | ||||
Claim War Fund D... | 9866161 | 1567 days ago | IN | 0 ETH | 0.00017547 | ||||
Claim War Fund D... | 9865956 | 1567 days ago | IN | 0 ETH | 0.0004619 | ||||
Snapshot Daily W... | 9864956 | 1568 days ago | IN | 0 ETH | 0.00447969 | ||||
Claim War Fund D... | 9862613 | 1568 days ago | IN | 0 ETH | 0.00046501 | ||||
Snapshot Daily W... | 9858737 | 1569 days ago | IN | 0 ETH | 0.00447969 | ||||
Claim War Fund D... | 9852547 | 1570 days ago | IN | 0 ETH | 0.00007337 | ||||
Claim War Fund D... | 9852527 | 1570 days ago | IN | 0 ETH | 0.00025388 | ||||
Snapshot Daily W... | 9852463 | 1570 days ago | IN | 0 ETH | 0.00316683 | ||||
Claim War Fund D... | 9852076 | 1570 days ago | IN | 0 ETH | 0.00018171 | ||||
Claim War Fund D... | 9852076 | 1570 days ago | IN | 0 ETH | 0.00008724 | ||||
Claim War Fund D... | 9852060 | 1570 days ago | IN | 0 ETH | 0.00027124 | ||||
Claim War Fund D... | 9852060 | 1570 days ago | IN | 0 ETH | 0.00022491 | ||||
Claim War Fund D... | 9848905 | 1570 days ago | IN | 0 ETH | 0.00069424 | ||||
Claim War Fund D... | 9846318 | 1571 days ago | IN | 0 ETH | 0.00046501 | ||||
Snapshot Daily W... | 9846283 | 1571 days ago | IN | 0 ETH | 0.00296556 | ||||
Claim War Fund D... | 9841621 | 1571 days ago | IN | 0 ETH | 0.00017001 | ||||
Claim War Fund D... | 9840820 | 1571 days ago | IN | 0 ETH | 0.00011404 | ||||
Claim War Fund D... | 9840120 | 1571 days ago | IN | 0 ETH | 0.00071481 | ||||
Claim War Fund D... | 9840078 | 1571 days ago | IN | 0 ETH | 0.0002971 | ||||
Snapshot Daily W... | 9840058 | 1571 days ago | IN | 0 ETH | 0.00285071 | ||||
Claim War Fund D... | 9834591 | 1572 days ago | IN | 0 ETH | 0.00028159 | ||||
Snapshot Daily W... | 9833816 | 1572 days ago | IN | 0 ETH | 0.00295571 | ||||
Claim War Fund D... | 9832911 | 1573 days ago | IN | 0 ETH | 0.00046501 | ||||
Claim War Fund D... | 9828897 | 1573 days ago | IN | 0 ETH | 0.00027591 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Army
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-05-05 */ pragma solidity ^0.4.25; /** * * World War Goo - Competitive Idle Game * * https://ethergoo.io * */ contract Army { GooToken constant goo = GooToken(0xdf0960778c6e6597f197ed9a25f12f5d971da86c); Clans clans = Clans(0x0); uint224 public totalArmyPower; // Global power of players (attack + defence) uint224 public gooBankroll; // Goo dividends to be split over time between clans/players' army power uint256 public nextSnapshotTime; address public owner; // Minor management of game mapping(address => mapping(uint256 => ArmyPower)) public armyPowerSnapshots; // Store player's army power for given day (snapshot) mapping(address => mapping(uint256 => bool)) public armyPowerZeroedSnapshots; // Edgecase to determine difference between 0 army and an unused/inactive day. mapping(address => uint256) public lastWarFundClaim; // Days (snapshot number) mapping(address => uint256) public lastArmyPowerUpdate; // Days (last snapshot) player's army was updated mapping(address => bool) operator; uint224[] public totalArmyPowerSnapshots; // The total player army power for each prior day past uint224[] public allocatedWarFundSnapshots; // Div pot (goo allocated to each prior day past) uint224 public playerDivPercent = 2; uint224 public clanDivPercent = 2; struct ArmyPower { uint80 attack; uint80 defense; uint80 looting; } constructor(uint256 firstSnapshotTime) public { nextSnapshotTime = firstSnapshotTime; owner = msg.sender; } function setClans(address clansContract) external { require(msg.sender == owner); clans = Clans(clansContract); } function setOperator(address gameContract, bool isOperator) external { require(msg.sender == owner); operator[gameContract] = isOperator; } function updateDailyDivPercents(uint224 newPlayersPercent, uint224 newClansPercent) external { require(msg.sender == owner); require(newPlayersPercent > 0 && newPlayersPercent <= 10); // 1-10% daily require(newClansPercent > 0 && newClansPercent <= 10); // 1-10% daily playerDivPercent = newPlayersPercent; clanDivPercent = newClansPercent; } function depositSpentGoo(uint224 gooSpent) external { require(operator[msg.sender]); gooBankroll += gooSpent; } function getArmyPower(address player) external view returns (uint80, uint80, uint80) { ArmyPower memory armyPower = armyPowerSnapshots[player][lastArmyPowerUpdate[player]]; return (armyPower.attack, armyPower.defense, armyPower.looting); } // Convenience function function getArmiesPower(address player, address target) external view returns (uint80 playersAttack, uint80 playersLooting, uint80 targetsDefense) { ArmyPower memory armyPower = armyPowerSnapshots[player][lastArmyPowerUpdate[player]]; playersAttack = armyPower.attack; playersLooting = armyPower.looting; targetsDefense = armyPowerSnapshots[target][lastArmyPowerUpdate[target]].defense; } function increasePlayersArmyPowerTrio(address player, uint80 attackGain, uint80 defenseGain, uint80 lootingGain) public { require(operator[msg.sender]); ArmyPower memory existingArmyPower = armyPowerSnapshots[player][lastArmyPowerUpdate[player]]; uint256 snapshotDay = allocatedWarFundSnapshots.length; // Adjust army power (reusing struct) existingArmyPower.attack += attackGain; existingArmyPower.defense += defenseGain; existingArmyPower.looting += lootingGain; armyPowerSnapshots[player][snapshotDay] = existingArmyPower; if (lastArmyPowerUpdate[player] != snapshotDay) { lastArmyPowerUpdate[player] = snapshotDay; } totalArmyPower += (attackGain + defenseGain); clans.increaseClanPower(player, attackGain + defenseGain); } function decreasePlayersArmyPowerTrio(address player, uint80 attackLoss, uint80 defenseLoss, uint80 lootingLoss) public { require(operator[msg.sender]); ArmyPower memory existingArmyPower = armyPowerSnapshots[player][lastArmyPowerUpdate[player]]; uint256 snapshotDay = allocatedWarFundSnapshots.length; // Adjust army power (reusing struct) existingArmyPower.attack -= attackLoss; existingArmyPower.defense -= defenseLoss; existingArmyPower.looting -= lootingLoss; if (existingArmyPower.attack == 0 && existingArmyPower.defense == 0) { // Special case which tangles with "inactive day" snapshots (claiming divs) armyPowerZeroedSnapshots[player][snapshotDay] = true; delete armyPowerSnapshots[player][snapshotDay]; // 0 } else { armyPowerSnapshots[player][snapshotDay] = existingArmyPower; } if (lastArmyPowerUpdate[player] != snapshotDay) { lastArmyPowerUpdate[player] = snapshotDay; } totalArmyPower -= (attackLoss + defenseLoss); clans.decreaseClanPower(player, attackLoss + defenseLoss); } function changePlayersArmyPowerTrio(address player, int attackChange, int defenseChange, int lootingChange) public { require(operator[msg.sender]); ArmyPower memory existingArmyPower = armyPowerSnapshots[player][lastArmyPowerUpdate[player]]; uint256 snapshotDay = allocatedWarFundSnapshots.length; // Allow change to be positive or negative existingArmyPower.attack = uint80(int(existingArmyPower.attack) + attackChange); existingArmyPower.defense = uint80(int(existingArmyPower.defense) + defenseChange); existingArmyPower.looting = uint80(int(existingArmyPower.looting) + lootingChange); if (existingArmyPower.attack == 0 && existingArmyPower.defense == 0) { // Special case which tangles with "inactive day" snapshots (claiming divs) armyPowerZeroedSnapshots[player][snapshotDay] = true; delete armyPowerSnapshots[player][snapshotDay]; // 0 } else { armyPowerSnapshots[player][snapshotDay] = existingArmyPower; } if (lastArmyPowerUpdate[player] != snapshotDay) { lastArmyPowerUpdate[player] = snapshotDay; } changeTotalArmyPower(player, attackChange, defenseChange); } function changeTotalArmyPower(address player, int attackChange, int defenseChange) internal { uint224 newTotal = uint224(int(totalArmyPower) + attackChange + defenseChange); if (newTotal > totalArmyPower) { clans.increaseClanPower(player, newTotal - totalArmyPower); } else if (newTotal < totalArmyPower) { clans.decreaseClanPower(player, totalArmyPower - newTotal); } totalArmyPower = newTotal; } // Allocate army power divs for the day (00:00 cron job) function snapshotDailyWarFunding() external { require(msg.sender == owner); require(now + 6 hours > nextSnapshotTime); totalArmyPowerSnapshots.push(totalArmyPower); allocatedWarFundSnapshots.push((gooBankroll * playerDivPercent) / 100); uint256 allocatedClanWarFund = (gooBankroll * clanDivPercent) / 100; // No daily snapshots needed for Clans (as below will also claim between the handful of clans) gooBankroll -= (gooBankroll * (playerDivPercent + clanDivPercent)) / 100; // % of pool daily uint256 numClans = clans.totalSupply(); uint256[] memory clanArmyPower = new uint256[](numClans); // Get total power from all clans uint256 todaysTotalClanPower; for (uint256 i = 1; i <= numClans; i++) { clanArmyPower[i-1] = clans.clanTotalArmyPower(i); todaysTotalClanPower += clanArmyPower[i-1]; } // Distribute goo divs to clans based on their relative power for (i = 1; i <= numClans; i++) { clans.depositGoo((allocatedClanWarFund * clanArmyPower[i-1]) / todaysTotalClanPower, i); } nextSnapshotTime = now + 24 hours; } function claimWarFundDividends(uint256 startSnapshot, uint256 endSnapShot) external { require(startSnapshot <= endSnapShot); require(startSnapshot >= lastWarFundClaim[msg.sender]); require(endSnapShot < allocatedWarFundSnapshots.length); uint224 gooShare; ArmyPower memory previousArmyPower = armyPowerSnapshots[msg.sender][lastWarFundClaim[msg.sender] - 1]; // Underflow won't be a problem as armyPowerSnapshots[][0xffffffff] = 0; for (uint256 i = startSnapshot; i <= endSnapShot; i++) { // Slightly complex things by accounting for days/snapshots when user made no tx's ArmyPower memory armyPowerDuringSnapshot = armyPowerSnapshots[msg.sender][i]; bool soldAllArmy = armyPowerZeroedSnapshots[msg.sender][i]; if (!soldAllArmy && armyPowerDuringSnapshot.attack == 0 && armyPowerDuringSnapshot.defense == 0) { armyPowerDuringSnapshot = previousArmyPower; } else { previousArmyPower = armyPowerDuringSnapshot; } gooShare += (allocatedWarFundSnapshots[i] * (armyPowerDuringSnapshot.attack + armyPowerDuringSnapshot.defense)) / totalArmyPowerSnapshots[i]; } ArmyPower memory endSnapshotArmyPower = armyPowerSnapshots[msg.sender][endSnapShot]; if (endSnapshotArmyPower.attack == 0 && endSnapshotArmyPower.defense == 0 && !armyPowerZeroedSnapshots[msg.sender][endSnapShot] && (previousArmyPower.attack + previousArmyPower.defense) > 0) { armyPowerSnapshots[msg.sender][endSnapShot] = previousArmyPower; // Checkpoint for next claim } lastWarFundClaim[msg.sender] = endSnapShot + 1; (uint224 clanFee, uint224 leaderFee, address leader, uint224 referalFee, address referer) = clans.getPlayerFees(msg.sender); if (clanFee > 0) { clanFee = (gooShare * clanFee) / 100; // Convert from percent to goo leaderFee = (gooShare * leaderFee) / 100; // Convert from percent to goo clans.mintGoo(msg.sender, clanFee); goo.mintGoo(leaderFee, leader); } if (referer == address(0)) { referalFee = 0; } else if (referalFee > 0) { referalFee = (gooShare * referalFee) / 100; // Convert from percent to goo goo.mintGoo(referalFee, referer); } goo.mintGoo(gooShare - (clanFee + leaderFee + referalFee), msg.sender); } function getSnapshotDay() external view returns (uint256 snapshot) { snapshot = allocatedWarFundSnapshots.length; } } contract GooToken { function transfer(address to, uint256 tokens) external returns (bool); function increasePlayersGooProduction(address player, uint256 increase) external; function decreasePlayersGooProduction(address player, uint256 decrease) external; function updatePlayersGooFromPurchase(address player, uint224 purchaseCost) external; function updatePlayersGoo(address player) external; function mintGoo(uint224 amount, address player) external; } contract Clans { mapping(uint256 => uint256) public clanTotalArmyPower; function totalSupply() external view returns (uint256); function depositGoo(uint256 amount, uint256 clanId) external; function getPlayerFees(address player) external view returns (uint224 clansFee, uint224 leadersFee, address leader, uint224 referalsFee, address referer); function getPlayersClanUpgrade(address player, uint256 upgradeClass) external view returns (uint224 upgradeGain); function mintGoo(address player, uint256 amount) external; function increaseClanPower(address player, uint256 amount) external; function decreaseClanPower(address player, uint256 amount) external; } contract Factories { uint256 public constant MAX_SIZE = 40; function getFactories(address player) external returns (uint256[]); function addFactory(address player, uint8 position, uint256 unitId) external; } library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint224 a, uint224 b) internal pure returns (uint224) { if (a == 0) { return 0; } uint224 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } library SafeMath224 { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint224 a, uint224 b) internal pure returns (uint224) { if (a == 0) { return 0; } uint224 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint224 a, uint224 b) internal pure returns (uint224) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint224 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint224 a, uint224 b) internal pure returns (uint224) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint224 a, uint224 b) internal pure returns (uint224) { uint224 c = a + b; assert(c >= a); return c; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"player","type":"address"},{"name":"attackChange","type":"int256"},{"name":"defenseChange","type":"int256"},{"name":"lootingChange","type":"int256"}],"name":"changePlayersArmyPowerTrio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gooSpent","type":"uint224"}],"name":"depositSpentGoo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getSnapshotDay","outputs":[{"name":"snapshot","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allocatedWarFundSnapshots","outputs":[{"name":"","type":"uint224"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"startSnapshot","type":"uint256"},{"name":"endSnapShot","type":"uint256"}],"name":"claimWarFundDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"armyPowerZeroedSnapshots","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"player","type":"address"},{"name":"attackGain","type":"uint80"},{"name":"defenseGain","type":"uint80"},{"name":"lootingGain","type":"uint80"}],"name":"increasePlayersArmyPowerTrio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"gameContract","type":"address"},{"name":"isOperator","type":"bool"}],"name":"setOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gooBankroll","outputs":[{"name":"","type":"uint224"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"armyPowerSnapshots","outputs":[{"name":"attack","type":"uint80"},{"name":"defense","type":"uint80"},{"name":"looting","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"snapshotDailyWarFunding","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalArmyPower","outputs":[{"name":"","type":"uint224"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPlayersPercent","type":"uint224"},{"name":"newClansPercent","type":"uint224"}],"name":"updateDailyDivPercents","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"playerDivPercent","outputs":[{"name":"","type":"uint224"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextSnapshotTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"player","type":"address"},{"name":"target","type":"address"}],"name":"getArmiesPower","outputs":[{"name":"playersAttack","type":"uint80"},{"name":"playersLooting","type":"uint80"},{"name":"targetsDefense","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lastArmyPowerUpdate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"totalArmyPowerSnapshots","outputs":[{"name":"","type":"uint224"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"clanDivPercent","outputs":[{"name":"","type":"uint224"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"player","type":"address"}],"name":"getArmyPower","outputs":[{"name":"","type":"uint80"},{"name":"","type":"uint80"},{"name":"","type":"uint80"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lastWarFundClaim","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"clansContract","type":"address"}],"name":"setClans","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"player","type":"address"},{"name":"attackLoss","type":"uint80"},{"name":"defenseLoss","type":"uint80"},{"name":"lootingLoss","type":"uint80"}],"name":"decreasePlayersArmyPowerTrio","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"firstSnapshotTime","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]
Contract Creation Code
608060405260008054600160a060020a0319169055600c805460027fffffffff000000000000000000000000000000000000000000000000000000009182168117909255600d8054909116909117905534801561005b57600080fd5b50604051602080611bdb833981016040525160035560048054600160a060020a03191633179055611b4a806100916000396000f3006080604052600436106101245763ffffffff60e060020a60003504166308688ce081146101295780631149ef5a14610155578063158993fd146101765780631b7ab0311461019d57806322ea067a146101d15780632928f883146101ec57806336bce99814610224578063558a729714610260578063560a28df146102865780636ede9ca81461029b5780638b26819f146102ed5780638da5cb5b1461030257806398a72e11146103335780639e33c2eb14610348578063a41b7d861461036f578063a89cdad914610384578063aabd985714610399578063b03ee6c0146103c0578063b5648fa8146103e1578063da01ebc9146103f9578063dd53c7281461040e578063e0ef84b91461042f578063f40b26bd14610450578063fa5ccd0b14610471575b600080fd5b34801561013557600080fd5b50610153600160a060020a03600435166024356044356064356104ad565b005b34801561016157600080fd5b50610153600160e060020a03600435166106b8565b34801561018257600080fd5b5061018b6106fd565b60408051918252519081900360200190f35b3480156101a957600080fd5b506101b5600435610703565b60408051600160e060020a039092168252519081900360200190f35b3480156101dd57600080fd5b5061015360043560243561072b565b3480156101f857600080fd5b50610210600160a060020a0360043516602435610e3a565b604080519115158252519081900360200190f35b34801561023057600080fd5b50610153600160a060020a036004351669ffffffffffffffffffff60243581169060443581169060643516610e5a565b34801561026c57600080fd5b50610153600160a060020a03600435166024351515611049565b34801561029257600080fd5b506101b561108b565b3480156102a757600080fd5b506102bf600160a060020a036004351660243561109a565b6040805169ffffffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b3480156102f957600080fd5b506101536110d9565b34801561030e57600080fd5b50610317611446565b60408051600160a060020a039092168252519081900360200190f35b34801561033f57600080fd5b506101b5611455565b34801561035457600080fd5b50610153600160e060020a0360043581169060243516611464565b34801561037b57600080fd5b506101b5611505565b34801561039057600080fd5b5061018b611514565b3480156103a557600080fd5b506102bf600160a060020a036004358116906024351661151a565b3480156103cc57600080fd5b5061018b600160a060020a03600435166115b8565b3480156103ed57600080fd5b506101b56004356115ca565b34801561040557600080fd5b506101b56115d8565b34801561041a57600080fd5b506102bf600160a060020a03600435166115e7565b34801561043b57600080fd5b5061018b600160a060020a0360043516611663565b34801561045c57600080fd5b50610153600160a060020a0360043516611675565b34801561047d57600080fd5b50610153600160a060020a036004351669ffffffffffffffffffff602435811690604435811690606435166116bb565b6104b5611ade565b3360009081526009602052604081205460ff1615156104d357600080fd5b5050600160a060020a03841660009081526005602090815260408083206008835281842054845282529182902082516060810184529054600b5469ffffffffffffffffffff80831689018116808552605060020a84048216890182169585019590955260a060020a909204821686019091169382019390935291901580156105695750602082015169ffffffffffffffffffff16155b156105d757600160a060020a03861660008181526006602090815260408083208584528252808320805460ff191660011790559282526005815282822084835290522080547fffff00000000000000000000000000000000000000000000000000000000000016905561066a565b600160a060020a038616600090815260056020908152604080832084845282529182902084518154928601519386015169ffffffffffffffffffff90811660a060020a02600080516020611aff833981519152958216605060020a0273ffffffffffffffffffff00000000000000000000199290931669ffffffffffffffffffff19909516949094171617929092161790555b600160a060020a03861660009081526008602052604090205481146106a557600160a060020a03861660009081526008602052604090208190555b6106b0868686611957565b505050505050565b3360009081526009602052604090205460ff1615156106d657600080fd5b60028054600160e060020a03198116600160e060020a039182169390930116919091179055565b600b5490565b600b80548290811061071157fe5b600091825260209091200154600160e060020a0316905081565b6000610735611ade565b600061073f611ade565b6000610749611ade565b6000808080808b8d111561075c57600080fd5b336000908152600760205260409020548d101561077857600080fd5b600b548c1061078657600080fd5b33600090815260056020908152604080832060078352818420546000190184528252918290208251606081018452905469ffffffffffffffffffff8082168352605060020a820481169383019390935260a060020a90049091169181019190915299508c98505b8b8911610932573360008181526005602090815260408083208d845282528083208151606081018352905469ffffffffffffffffffff8082168352605060020a820481168386015260a060020a9091041681830152938352600682528083208d845290915290205490985060ff169650861580156108765750875169ffffffffffffffffffff16155b80156108905750602088015169ffffffffffffffffffff16155b1561089d578997506108a1565b8799505b600a80548a9081106108af57fe5b9060005260206000200160009054906101000a9004600160e060020a0316600160e060020a0316886020015189600001510169ffffffffffffffffffff16600b8b8154811015156108fc57fe5b600091825260209091200154600160e060020a03908116919091021681151561092157fe5b049a909a01996001909801976107ed565b3360009081526005602090815260408083208f84528252918290208251606081018452905469ffffffffffffffffffff808216808452605060020a830482169484019490945260a060020a90910416928101929092529096501580156109a65750602086015169ffffffffffffffffffff16155b80156109cd57503360009081526006602090815260408083208f845290915290205460ff16155b80156109ef575060008a602001518b600001510169ffffffffffffffffffff16115b15610a7e573360009081526005602090815260408083208f84528252918290208c518154928e0151938e015169ffffffffffffffffffff90811660a060020a02600080516020611aff833981519152958216605060020a0273ffffffffffffffffffff00000000000000000000199290931669ffffffffffffffffffff19909516949094171617929092161790555b8b6001016007600033600160a060020a0316600160a060020a03168152602001908152602001600020819055506000809054906101000a9004600160a060020a0316600160a060020a031663118382ff336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060a060405180830381600087803b158015610b1a57600080fd5b505af1158015610b2e573d6000803e3d6000fd5b505050506040513d60a0811015610b4457600080fd5b508051602082015160408301516060840151608090940151929850909650945090925090506000600160e060020a0386161115610cc3576064600160e060020a038c8702160494506064600160e060020a038c86021660008054604080517f70b11a35000000000000000000000000000000000000000000000000000000008152336004820152600160e060020a038b1660248201529051949093049750600160a060020a0316926370b11a3592604480820193929182900301818387803b158015610c0f57600080fd5b505af1158015610c23573d6000803e3d6000fd5b5050604080517f4f03f17c000000000000000000000000000000000000000000000000000000008152600160e060020a0388166004820152600160a060020a0387166024820152905173df0960778c6e6597f197ed9a25f12f5d971da86c9350634f03f17c9250604480830192600092919082900301818387803b158015610caa57600080fd5b505af1158015610cbe573d6000803e3d6000fd5b505050505b600160a060020a0381161515610cdc5760009150610d93565b600082600160e060020a03161115610d9357604080517f4f03f17c0000000000000000000000000000000000000000000000000000000081526064600160e060020a03948e028516049384166004820152600160a060020a0383166024820152905173df0960778c6e6597f197ed9a25f12f5d971da86c91634f03f17c91604480830192600092919082900301818387803b158015610d7a57600080fd5b505af1158015610d8e573d6000803e3d6000fd5b505050505b604080517f4f03f17c000000000000000000000000000000000000000000000000000000008152600160e060020a0387870185018e03166004820152336024820152905173df0960778c6e6597f197ed9a25f12f5d971da86c91634f03f17c91604480830192600092919082900301818387803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b5050505050505050505050505050505050565b600660209081526000928352604080842090915290825290205460ff1681565b610e62611ade565b3360009081526009602052604081205460ff161515610e8057600080fd5b5050600160a060020a038416600081815260056020908152604080832060088084528285208054865282855283862084516060810186529054600b5469ffffffffffffffffffff8083168e0181168452605060020a80840482168e018216858b0190815260a060020a9485900483168e018316868b01908152848d52988b52988b20855181549a51995169ffffffffffffffffffff19909b169084161773ffffffffffffffffffff00000000000000000000191698831690910297909717600080516020611aff83398151915216971690910295909517909355959094529290915291549091908114610f8957600160a060020a03861660009081526008602052604090208190555b60018054600160e060020a0319811686880169ffffffffffffffffffff16600160e060020a0392831681019092161790915560008054604080517f4defaa78000000000000000000000000000000000000000000000000000000008152600160a060020a038b81166004830152602482019590955290519390911692634defaa789260448084019391929182900301818387803b15801561102957600080fd5b505af115801561103d573d6000803e3d6000fd5b50505050505050505050565b600454600160a060020a0316331461106057600080fd5b600160a060020a03919091166000908152600960205260409020805460ff1916911515919091179055565b600254600160e060020a031681565b600560209081526000928352604080842090915290825290205469ffffffffffffffffffff80821691605060020a810482169160a060020a9091041683565b600454600090819060609082908190600160a060020a031633146110fc57600080fd5b60035461546042011161110e57600080fd5b60018054600a80548084019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8018054600160e060020a0319908116600160e060020a0393841617909155600c805460028054600b8054978801815560009081527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9909701805486166064928816948816949094028716829004871693909317909255600d5481549354948416938616908616948616850181028616839004810386169390931790558454604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051939094028516919091049093169850600160a060020a03909216926318160ddd926004808401936020939083900390910190829087803b15801561124757600080fd5b505af115801561125b573d6000803e3d6000fd5b505050506040513d602081101561127157600080fd5b505160408051828152602080840282010190915290945084801561129f578160200160208202803883390190505b509250600190505b8381116113875760008054604080517fe3d39e66000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a039092169263e3d39e66926024808401936020939083900390910190829087803b15801561131657600080fd5b505af115801561132a573d6000803e3d6000fd5b505050506040513d602081101561134057600080fd5b505183518490600019840190811061135457fe5b6020908102909101015282518390600019830190811061137057fe5b6020908102909101015191909101906001016112a7565b5060015b838111611436576000548351600160a060020a0390911690635d74979e908490869060001986019081106113bb57fe5b9060200190602002015188028115156113d057fe5b04836040518363ffffffff1660e060020a0281526004018083815260200182815260200192505050600060405180830381600087803b15801561141257600080fd5b505af1158015611426573d6000803e3d6000fd5b50506001909201915061138b9050565b5050506201518042016003555050565b600454600160a060020a031681565b600154600160e060020a031681565b600454600160a060020a0316331461147b57600080fd5b600082600160e060020a031611801561149e5750600a82600160e060020a031611155b15156114a957600080fd5b600081600160e060020a03161180156114cc5750600a81600160e060020a031611155b15156114d757600080fd5b600c8054600160e060020a03938416600160e060020a031991821617909155600d8054929093169116179055565b600c54600160e060020a031681565b60035481565b6000806000611527611ade565b50505050600160a060020a03918216600090815260056020818152604080842060088084528286205486529083528185208251606081018452905469ffffffffffffffffffff808216808452605060020a80840483168589015260a060020a909304821693860184905298909916875294845282862091845282862054865292529092205492949193920490911690565b60086020526000908152604090205481565b600a80548290811061071157fe5b600d54600160e060020a031681565b60008060006115f4611ade565b50505050600160a060020a03166000908152600560209081526040808320600883528184205484528252918290208251606081018452905469ffffffffffffffffffff808216808452605060020a8304821694840185905260a060020a90920416919093018190529192909190565b60076020526000908152604090205481565b600454600160a060020a0316331461168c57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6116c3611ade565b3360009081526009602052604081205460ff1615156116e157600080fd5b5050600160a060020a03841660009081526005602090815260408083206008835281842054845282529182902082516060810184529054600b5469ffffffffffffffffffff8083168990038116808552605060020a8404821689900382169585019590955260a060020a909204821686900390911693820193909352919015801561177a5750602082015169ffffffffffffffffffff16155b156117e857600160a060020a03861660008181526006602090815260408083208584528252808320805460ff191660011790559282526005815282822084835290522080547fffff00000000000000000000000000000000000000000000000000000000000016905561187b565b600160a060020a038616600090815260056020908152604080832084845282529182902084518154928601519386015169ffffffffffffffffffff90811660a060020a02600080516020611aff833981519152958216605060020a0273ffffffffffffffffffff00000000000000000000199290931669ffffffffffffffffffff19909516949094171617929092161790555b600160a060020a03861660009081526008602052604090205481146118b657600160a060020a03861660009081526008602052604090208190555b60018054600160e060020a0319811686880169ffffffffffffffffffff16600160e060020a039283168190039092161790915560008054604080517f646a59b3000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015260248201959095529051939091169263646a59b39260448084019391929182900301818387803b15801561102957600080fd5b600154600160e060020a0390811680840183019182161115611a0c5760008054600154604080517f4defaa78000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152600160e060020a039384168703909316602482015290519190921692634defaa78926044808201939182900301818387803b1580156119ef57600080fd5b505af1158015611a03573d6000803e3d6000fd5b50505050611ab9565b600154600160e060020a039081169082161015611ab95760008054600154604080517f646a59b3000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152600160e060020a0393841687900390931660248201529051919092169263646a59b3926044808201939182900301818387803b158015611aa057600080fd5b505af1158015611ab4573d6000803e3d6000fd5b505050505b60018054600160e060020a031916600160e060020a0392909216919091179055505050565b6040805160608101825260008082526020820181905291810191909152905600ffff00000000000000000000ffffffffffffffffffffffffffffffffffffffffa165627a7a72305820f80843ec46150aac0f4ce6539e4cbe259e44e99936b05dcc69ac1e69597cc9c70029000000000000000000000000000000000000000000000000000000005cce2780
Deployed Bytecode
0x6080604052600436106101245763ffffffff60e060020a60003504166308688ce081146101295780631149ef5a14610155578063158993fd146101765780631b7ab0311461019d57806322ea067a146101d15780632928f883146101ec57806336bce99814610224578063558a729714610260578063560a28df146102865780636ede9ca81461029b5780638b26819f146102ed5780638da5cb5b1461030257806398a72e11146103335780639e33c2eb14610348578063a41b7d861461036f578063a89cdad914610384578063aabd985714610399578063b03ee6c0146103c0578063b5648fa8146103e1578063da01ebc9146103f9578063dd53c7281461040e578063e0ef84b91461042f578063f40b26bd14610450578063fa5ccd0b14610471575b600080fd5b34801561013557600080fd5b50610153600160a060020a03600435166024356044356064356104ad565b005b34801561016157600080fd5b50610153600160e060020a03600435166106b8565b34801561018257600080fd5b5061018b6106fd565b60408051918252519081900360200190f35b3480156101a957600080fd5b506101b5600435610703565b60408051600160e060020a039092168252519081900360200190f35b3480156101dd57600080fd5b5061015360043560243561072b565b3480156101f857600080fd5b50610210600160a060020a0360043516602435610e3a565b604080519115158252519081900360200190f35b34801561023057600080fd5b50610153600160a060020a036004351669ffffffffffffffffffff60243581169060443581169060643516610e5a565b34801561026c57600080fd5b50610153600160a060020a03600435166024351515611049565b34801561029257600080fd5b506101b561108b565b3480156102a757600080fd5b506102bf600160a060020a036004351660243561109a565b6040805169ffffffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b3480156102f957600080fd5b506101536110d9565b34801561030e57600080fd5b50610317611446565b60408051600160a060020a039092168252519081900360200190f35b34801561033f57600080fd5b506101b5611455565b34801561035457600080fd5b50610153600160e060020a0360043581169060243516611464565b34801561037b57600080fd5b506101b5611505565b34801561039057600080fd5b5061018b611514565b3480156103a557600080fd5b506102bf600160a060020a036004358116906024351661151a565b3480156103cc57600080fd5b5061018b600160a060020a03600435166115b8565b3480156103ed57600080fd5b506101b56004356115ca565b34801561040557600080fd5b506101b56115d8565b34801561041a57600080fd5b506102bf600160a060020a03600435166115e7565b34801561043b57600080fd5b5061018b600160a060020a0360043516611663565b34801561045c57600080fd5b50610153600160a060020a0360043516611675565b34801561047d57600080fd5b50610153600160a060020a036004351669ffffffffffffffffffff602435811690604435811690606435166116bb565b6104b5611ade565b3360009081526009602052604081205460ff1615156104d357600080fd5b5050600160a060020a03841660009081526005602090815260408083206008835281842054845282529182902082516060810184529054600b5469ffffffffffffffffffff80831689018116808552605060020a84048216890182169585019590955260a060020a909204821686019091169382019390935291901580156105695750602082015169ffffffffffffffffffff16155b156105d757600160a060020a03861660008181526006602090815260408083208584528252808320805460ff191660011790559282526005815282822084835290522080547fffff00000000000000000000000000000000000000000000000000000000000016905561066a565b600160a060020a038616600090815260056020908152604080832084845282529182902084518154928601519386015169ffffffffffffffffffff90811660a060020a02600080516020611aff833981519152958216605060020a0273ffffffffffffffffffff00000000000000000000199290931669ffffffffffffffffffff19909516949094171617929092161790555b600160a060020a03861660009081526008602052604090205481146106a557600160a060020a03861660009081526008602052604090208190555b6106b0868686611957565b505050505050565b3360009081526009602052604090205460ff1615156106d657600080fd5b60028054600160e060020a03198116600160e060020a039182169390930116919091179055565b600b5490565b600b80548290811061071157fe5b600091825260209091200154600160e060020a0316905081565b6000610735611ade565b600061073f611ade565b6000610749611ade565b6000808080808b8d111561075c57600080fd5b336000908152600760205260409020548d101561077857600080fd5b600b548c1061078657600080fd5b33600090815260056020908152604080832060078352818420546000190184528252918290208251606081018452905469ffffffffffffffffffff8082168352605060020a820481169383019390935260a060020a90049091169181019190915299508c98505b8b8911610932573360008181526005602090815260408083208d845282528083208151606081018352905469ffffffffffffffffffff8082168352605060020a820481168386015260a060020a9091041681830152938352600682528083208d845290915290205490985060ff169650861580156108765750875169ffffffffffffffffffff16155b80156108905750602088015169ffffffffffffffffffff16155b1561089d578997506108a1565b8799505b600a80548a9081106108af57fe5b9060005260206000200160009054906101000a9004600160e060020a0316600160e060020a0316886020015189600001510169ffffffffffffffffffff16600b8b8154811015156108fc57fe5b600091825260209091200154600160e060020a03908116919091021681151561092157fe5b049a909a01996001909801976107ed565b3360009081526005602090815260408083208f84528252918290208251606081018452905469ffffffffffffffffffff808216808452605060020a830482169484019490945260a060020a90910416928101929092529096501580156109a65750602086015169ffffffffffffffffffff16155b80156109cd57503360009081526006602090815260408083208f845290915290205460ff16155b80156109ef575060008a602001518b600001510169ffffffffffffffffffff16115b15610a7e573360009081526005602090815260408083208f84528252918290208c518154928e0151938e015169ffffffffffffffffffff90811660a060020a02600080516020611aff833981519152958216605060020a0273ffffffffffffffffffff00000000000000000000199290931669ffffffffffffffffffff19909516949094171617929092161790555b8b6001016007600033600160a060020a0316600160a060020a03168152602001908152602001600020819055506000809054906101000a9004600160a060020a0316600160a060020a031663118382ff336040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060a060405180830381600087803b158015610b1a57600080fd5b505af1158015610b2e573d6000803e3d6000fd5b505050506040513d60a0811015610b4457600080fd5b508051602082015160408301516060840151608090940151929850909650945090925090506000600160e060020a0386161115610cc3576064600160e060020a038c8702160494506064600160e060020a038c86021660008054604080517f70b11a35000000000000000000000000000000000000000000000000000000008152336004820152600160e060020a038b1660248201529051949093049750600160a060020a0316926370b11a3592604480820193929182900301818387803b158015610c0f57600080fd5b505af1158015610c23573d6000803e3d6000fd5b5050604080517f4f03f17c000000000000000000000000000000000000000000000000000000008152600160e060020a0388166004820152600160a060020a0387166024820152905173df0960778c6e6597f197ed9a25f12f5d971da86c9350634f03f17c9250604480830192600092919082900301818387803b158015610caa57600080fd5b505af1158015610cbe573d6000803e3d6000fd5b505050505b600160a060020a0381161515610cdc5760009150610d93565b600082600160e060020a03161115610d9357604080517f4f03f17c0000000000000000000000000000000000000000000000000000000081526064600160e060020a03948e028516049384166004820152600160a060020a0383166024820152905173df0960778c6e6597f197ed9a25f12f5d971da86c91634f03f17c91604480830192600092919082900301818387803b158015610d7a57600080fd5b505af1158015610d8e573d6000803e3d6000fd5b505050505b604080517f4f03f17c000000000000000000000000000000000000000000000000000000008152600160e060020a0387870185018e03166004820152336024820152905173df0960778c6e6597f197ed9a25f12f5d971da86c91634f03f17c91604480830192600092919082900301818387803b158015610e1357600080fd5b505af1158015610e27573d6000803e3d6000fd5b5050505050505050505050505050505050565b600660209081526000928352604080842090915290825290205460ff1681565b610e62611ade565b3360009081526009602052604081205460ff161515610e8057600080fd5b5050600160a060020a038416600081815260056020908152604080832060088084528285208054865282855283862084516060810186529054600b5469ffffffffffffffffffff8083168e0181168452605060020a80840482168e018216858b0190815260a060020a9485900483168e018316868b01908152848d52988b52988b20855181549a51995169ffffffffffffffffffff19909b169084161773ffffffffffffffffffff00000000000000000000191698831690910297909717600080516020611aff83398151915216971690910295909517909355959094529290915291549091908114610f8957600160a060020a03861660009081526008602052604090208190555b60018054600160e060020a0319811686880169ffffffffffffffffffff16600160e060020a0392831681019092161790915560008054604080517f4defaa78000000000000000000000000000000000000000000000000000000008152600160a060020a038b81166004830152602482019590955290519390911692634defaa789260448084019391929182900301818387803b15801561102957600080fd5b505af115801561103d573d6000803e3d6000fd5b50505050505050505050565b600454600160a060020a0316331461106057600080fd5b600160a060020a03919091166000908152600960205260409020805460ff1916911515919091179055565b600254600160e060020a031681565b600560209081526000928352604080842090915290825290205469ffffffffffffffffffff80821691605060020a810482169160a060020a9091041683565b600454600090819060609082908190600160a060020a031633146110fc57600080fd5b60035461546042011161110e57600080fd5b60018054600a80548084019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8018054600160e060020a0319908116600160e060020a0393841617909155600c805460028054600b8054978801815560009081527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9909701805486166064928816948816949094028716829004871693909317909255600d5481549354948416938616908616948616850181028616839004810386169390931790558454604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051939094028516919091049093169850600160a060020a03909216926318160ddd926004808401936020939083900390910190829087803b15801561124757600080fd5b505af115801561125b573d6000803e3d6000fd5b505050506040513d602081101561127157600080fd5b505160408051828152602080840282010190915290945084801561129f578160200160208202803883390190505b509250600190505b8381116113875760008054604080517fe3d39e66000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a039092169263e3d39e66926024808401936020939083900390910190829087803b15801561131657600080fd5b505af115801561132a573d6000803e3d6000fd5b505050506040513d602081101561134057600080fd5b505183518490600019840190811061135457fe5b6020908102909101015282518390600019830190811061137057fe5b6020908102909101015191909101906001016112a7565b5060015b838111611436576000548351600160a060020a0390911690635d74979e908490869060001986019081106113bb57fe5b9060200190602002015188028115156113d057fe5b04836040518363ffffffff1660e060020a0281526004018083815260200182815260200192505050600060405180830381600087803b15801561141257600080fd5b505af1158015611426573d6000803e3d6000fd5b50506001909201915061138b9050565b5050506201518042016003555050565b600454600160a060020a031681565b600154600160e060020a031681565b600454600160a060020a0316331461147b57600080fd5b600082600160e060020a031611801561149e5750600a82600160e060020a031611155b15156114a957600080fd5b600081600160e060020a03161180156114cc5750600a81600160e060020a031611155b15156114d757600080fd5b600c8054600160e060020a03938416600160e060020a031991821617909155600d8054929093169116179055565b600c54600160e060020a031681565b60035481565b6000806000611527611ade565b50505050600160a060020a03918216600090815260056020818152604080842060088084528286205486529083528185208251606081018452905469ffffffffffffffffffff808216808452605060020a80840483168589015260a060020a909304821693860184905298909916875294845282862091845282862054865292529092205492949193920490911690565b60086020526000908152604090205481565b600a80548290811061071157fe5b600d54600160e060020a031681565b60008060006115f4611ade565b50505050600160a060020a03166000908152600560209081526040808320600883528184205484528252918290208251606081018452905469ffffffffffffffffffff808216808452605060020a8304821694840185905260a060020a90920416919093018190529192909190565b60076020526000908152604090205481565b600454600160a060020a0316331461168c57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6116c3611ade565b3360009081526009602052604081205460ff1615156116e157600080fd5b5050600160a060020a03841660009081526005602090815260408083206008835281842054845282529182902082516060810184529054600b5469ffffffffffffffffffff8083168990038116808552605060020a8404821689900382169585019590955260a060020a909204821686900390911693820193909352919015801561177a5750602082015169ffffffffffffffffffff16155b156117e857600160a060020a03861660008181526006602090815260408083208584528252808320805460ff191660011790559282526005815282822084835290522080547fffff00000000000000000000000000000000000000000000000000000000000016905561187b565b600160a060020a038616600090815260056020908152604080832084845282529182902084518154928601519386015169ffffffffffffffffffff90811660a060020a02600080516020611aff833981519152958216605060020a0273ffffffffffffffffffff00000000000000000000199290931669ffffffffffffffffffff19909516949094171617929092161790555b600160a060020a03861660009081526008602052604090205481146118b657600160a060020a03861660009081526008602052604090208190555b60018054600160e060020a0319811686880169ffffffffffffffffffff16600160e060020a039283168190039092161790915560008054604080517f646a59b3000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483015260248201959095529051939091169263646a59b39260448084019391929182900301818387803b15801561102957600080fd5b600154600160e060020a0390811680840183019182161115611a0c5760008054600154604080517f4defaa78000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152600160e060020a039384168703909316602482015290519190921692634defaa78926044808201939182900301818387803b1580156119ef57600080fd5b505af1158015611a03573d6000803e3d6000fd5b50505050611ab9565b600154600160e060020a039081169082161015611ab95760008054600154604080517f646a59b3000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152600160e060020a0393841687900390931660248201529051919092169263646a59b3926044808201939182900301818387803b158015611aa057600080fd5b505af1158015611ab4573d6000803e3d6000fd5b505050505b60018054600160e060020a031916600160e060020a0392909216919091179055505050565b6040805160608101825260008082526020820181905291810191909152905600ffff00000000000000000000ffffffffffffffffffffffffffffffffffffffffa165627a7a72305820f80843ec46150aac0f4ce6539e4cbe259e44e99936b05dcc69ac1e69597cc9c70029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000005cce2780
-----Decoded View---------------
Arg [0] : firstSnapshotTime (uint256): 1557014400
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005cce2780
Swarm Source
bzzr://f80843ec46150aac0f4ce6539e4cbe259e44e99936b05dcc69ac1e69597cc9c7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.