Overview
Max Total Supply
680.061970940655474327 GOLDX
Holders
4,274 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.014899503149665492 GOLDXValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GoldBackedToken
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-12 */ pragma solidity ^0.4.17; /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; Unpause(); } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } 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; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { //uint256 public totalSupply; function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } contract GoldFees is Ownable { using SafeMath for uint256; // e.g. if rate = 0.0054 //uint rateN = 9999452055; uint rateN = 9999452054794520548; uint rateD = 19; uint public maxDays; uint public maxRate; function GoldFees() public { calcMax(); } function calcMax() internal { maxDays = 1; maxRate = rateN; uint pow = 2; do { uint newN = rateN ** pow; if (newN / maxRate != maxRate) { maxDays = pow / 2; break; } maxRate = newN; pow *= 2; } while (pow < 2000); } function updateRate(uint256 _n, uint256 _d) public onlyOwner { rateN = _n; rateD = _d; calcMax(); } function rateForDays(uint256 numDays) public view returns (uint256 rate) { if (numDays <= maxDays) { uint r = rateN ** numDays; uint d = rateD * numDays; if (d > 18) { uint div = 10 ** (d-18); rate = r / div; } else { div = 10 ** (18 - d); rate = r * div; } } else { uint256 md1 = numDays / 2; uint256 md2 = numDays - md1; uint256 r2; uint256 r1 = rateForDays(md1); if (md1 == md2) { r2 = r1; } else { r2 = rateForDays(md2); } //uint256 r1 = rateForDays(maxDays); //uint256 r2 = rateForDays(numDays-maxDays); rate = r1.mul(r2)/(10**18); } return; } uint256 constant public UTC2MYT = 1483200000; function wotDay(uint256 time) public pure returns (uint256) { return (time - UTC2MYT) / (1 days); } // minimum fee is 1 unless same day function calcFees(uint256 start, uint256 end, uint256 startAmount) public view returns (uint256 amount, uint256 fee) { if (startAmount == 0) return; uint256 numberOfDays = wotDay(end) - wotDay(start); if (numberOfDays == 0) { amount = startAmount; return; } amount = (rateForDays(numberOfDays) * startAmount) / (1 ether); if ((fee == 0) && (amount != 0)) amount--; fee = startAmount.sub(amount); } } contract Reclaimable is Ownable { ERC20Basic constant internal RECLAIM_ETHER = ERC20Basic(0x0); function reclaim(ERC20Basic token) public onlyOwner { address reclaimer = msg.sender; if (token == RECLAIM_ETHER) { reclaimer.transfer(this.balance); } else { uint256 balance = token.balanceOf(this); require(token.transfer(reclaimer, balance)); } } } // This is primarity used for the migration. Use in the GBT contract is for convenience contract GBTBasic { struct Balance { uint256 amount; // amount through update or transfer uint256 lastUpdated; // DATE last updated uint256 nextAllocationIndex; // which allocationsOverTime record contains next update uint256 allocationShare; // the share of allocationPool that this holder gets (means they hold HGT) } /*Creates an array with all balances*/ mapping (address => Balance) public balances; struct Allocation { uint256 amount; uint256 date; } Allocation[] public allocationsOverTime; Allocation[] public currentAllocations; function currentAllocationLength() view public returns (uint256) { return currentAllocations.length; } function aotLength() view public returns (uint256) { return allocationsOverTime.length; } } contract GoldBackedToken is Ownable, ERC20, Pausable, GBTBasic, Reclaimable { using SafeMath for uint; function GoldBackedToken(GoldFees feeCalc, GBTBasic _oldToken) public { uint delta = 3799997201200178500814753; feeCalculator = feeCalc; oldToken = _oldToken; // now migrate the non balance stuff uint x; for (x = 0; x < oldToken.aotLength(); x++) { Allocation memory al; (al.amount, al.date) = oldToken.allocationsOverTime(x); allocationsOverTime.push(al); } allocationsOverTime[3].amount = allocationsOverTime[3].amount.sub(delta); for (x = 0; x < oldToken.currentAllocationLength(); x++) { (al.amount, al.date) = oldToken.currentAllocations(x); al.amount = al.amount.sub(delta); currentAllocations.push(al); } // 1st Minting : TxHash 0x8ba9175d77ed5d3bbf0ddb3666df496d3789da5aa41e46228df91357d9eae8bd // amount = 528359800000000000000; // date = 1512646845; // 2nd Minting : TxHash 0xb3ec483dc8cf7dbbe29f4b86bd371702dd0fdaccd91d1b2d57d5e9a18b23d022 // date = 1513855345; // amount = 1003203581831868623088; // Get values of first minting at second minting date // feeCalc(1512646845,1513855345,528359800000000000000) => (527954627221032516031,405172778967483969) mintedGBT.date = 1515700247; mintedGBT.amount = 1529313490861692541644; } function totalSupply() view public returns (uint256) { uint256 minted; uint256 mFees; uint256 uminted; uint256 umFees; uint256 allocated; uint256 aFees; (minted,mFees) = calcFees(mintedGBT.date,now,mintedGBT.amount); (uminted,umFees) = calcFees(unmintedGBT.date,now,unmintedGBT.amount); (allocated,aFees) = calcFees(currentAllocations[0].date,now,currentAllocations[0].amount); if (minted+allocated>uminted) { return minted.add(allocated).sub(uminted); } else { return 0; } } event Transfer(address indexed from, address indexed to, uint value); event Approval(address indexed owner, address indexed spender, uint value); event DeductFees(address indexed owner,uint256 amount); event TokenMinted(address destination, uint256 amount); event TokenBurned(address source, uint256 amount); string public name = "GOLDX"; string public symbol = "GOLDX"; uint256 constant public decimals = 18; // same as ETH uint256 constant public hgtDecimals = 8; uint256 constant public allocationPool = 1 * 10**9 * 10**hgtDecimals; // total HGT holdings uint256 public maxAllocation = 38 * 10**5 * 10**decimals; // max GBT that can ever ever be given out uint256 public totAllocation; // amount of GBT so far GoldFees public feeCalculator; address public HGT; // HGT contract address function updateMaxAllocation(uint256 newMax) public onlyOwner { require(newMax > 38 * 10**5 * 10**decimals); maxAllocation = newMax; } function setFeeCalculator(GoldFees newFC) public onlyOwner { feeCalculator = newFC; } // GoldFees needs to take care of Domain Offset - do not do here function calcFees(uint256 from, uint256 to, uint256 amount) view public returns (uint256 val, uint256 fee) { return feeCalculator.calcFees(from,to,amount); } mapping (address => mapping (address => uint)) public allowance; mapping (address => bool) updated; GBTBasic oldToken; function migrateBalance(address where) public { if (!updated[where]) { uint256 am; uint256 lu; uint256 ne; uint256 al; (am,lu,ne,al) = oldToken.balances(where); balances[where] = Balance(am,lu,ne,al); updated[where] = true; } } function update(address where) internal { uint256 pos; uint256 fees; uint256 val; migrateBalance(where); (val,fees,pos) = updatedBalance(where); balances[where].nextAllocationIndex = pos; balances[where].amount = val; balances[where].lastUpdated = now; } function updatedBalance(address where) view public returns (uint val, uint fees, uint pos) { uint256 cVal; uint256 cFees; uint256 cAmount; uint256 am; uint256 lu; uint256 ne; uint256 al; Balance memory bb; // calculate update of balance in account if (updated[where]) { bb = balances[where]; am = bb.amount; lu = bb.lastUpdated; ne = bb.nextAllocationIndex; al = bb.allocationShare; } else { (am,lu,ne,al) = oldToken.balances(where); } (val,fees) = calcFees(lu,now,am); // calculate update based on accrued disbursals pos = ne; if ((pos < currentAllocations.length) && (al != 0)) { cAmount = currentAllocations[ne].amount.mul(al).div( allocationPool); (cVal,cFees) = calcFees(currentAllocations[ne].date,now,cAmount); } val = val.add(cVal); fees = fees.add(cFees); pos = currentAllocations.length; } function balanceOf(address where) view public returns (uint256 val) { uint256 fees; uint256 pos; (val,fees,pos) = updatedBalance(where); return ; } event GoldAllocation(uint256 amount, uint256 date); event FeeOnAllocation(uint256 fees, uint256 date); event PartComplete(); event StillToGo(uint numLeft); uint256 public partPos; uint256 public partFees; uint256 partL; Allocation[] public partAllocations; function partAllocationLength() view public returns (uint) { return partAllocations.length; } function addAllocationPartOne(uint newAllocation,uint numSteps) public onlyMinter { require(partPos == 0); uint256 thisAllocation = newAllocation; require(totAllocation < maxAllocation); // cannot allocate more than this; if (currentAllocations.length > partAllocations.length) { partAllocations = currentAllocations; } if (totAllocation + thisAllocation > maxAllocation) { thisAllocation = maxAllocation.sub(totAllocation); log0("max alloc reached"); } totAllocation = totAllocation.add(thisAllocation); GoldAllocation(thisAllocation,now); Allocation memory newDiv; newDiv.amount = thisAllocation; newDiv.date = now; // store into history allocationsOverTime.push(newDiv); // add this record to the end of currentAllocations partL = partAllocations.push(newDiv); // update all other records with calcs from last record if (partAllocations.length < 2) { // no fees to consider PartComplete(); currentAllocations = partAllocations; FeeOnAllocation(0,now); return; } // // The only fees that need to be collected are the fees on location zero. // Since they are the last calculated = they come out with the break // for (partPos = partAllocations.length - 2; partPos >= 0; partPos-- ) { (partAllocations[partPos].amount,partFees) = calcFees(partAllocations[partPos].date,now,partAllocations[partPos].amount); partAllocations[partPos].amount = partAllocations[partPos].amount.add(partAllocations[partL - 1].amount); partAllocations[partPos].date = now; if ((partPos == 0) || (partPos == partAllocations.length-numSteps)) { break; } } if (partPos != 0) { StillToGo(partPos); return; // not done yet } PartComplete(); FeeOnAllocation(partFees,now); currentAllocations = partAllocations; } function addAllocationPartTwo(uint numSteps) public onlyMinter { require(numSteps > 0); require(partPos > 0); for (uint i = 0; i < numSteps; i++ ) { partPos--; (partAllocations[partPos].amount,partFees) = calcFees(partAllocations[partPos].date,now,partAllocations[partPos].amount); partAllocations[partPos].amount = partAllocations[partPos].amount.add(partAllocations[partL - 1].amount); partAllocations[partPos].date = now; if (partPos == 0) { break; } } if (partPos != 0) { StillToGo(partPos); return; // not done yet } PartComplete(); FeeOnAllocation(partFees,now); currentAllocations = partAllocations; } function setHGT(address _hgt) public onlyOwner { HGT = _hgt; } function parentFees(address where) public whenNotPaused { require(msg.sender == HGT); update(where); } function parentChange(address where, uint newValue) public whenNotPaused { // called when HGT balance changes require(msg.sender == HGT); balances[where].allocationShare = newValue; } /* send GBT */ function transfer(address _to, uint256 _value) public whenNotPaused returns (bool ok) { require(_to != address(0)); update(msg.sender); // Do this to ensure sender has enough funds. update(_to); balances[msg.sender].amount = balances[msg.sender].amount.sub(_value); balances[_to].amount = balances[_to].amount.add(_value); Transfer(msg.sender, _to, _value); //Notify anyone listening that this transfer took place return true; } function transferFrom(address _from, address _to, uint _value) public whenNotPaused returns (bool success) { require(_to != address(0)); var _allowance = allowance[_from][msg.sender]; update(_from); // Do this to ensure sender has enough funds. update(_to); balances[_to].amount = balances[_to].amount.add(_value); balances[_from].amount = balances[_from].amount.sub(_value); allowance[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); return true; } function approve(address _spender, uint _value) public whenNotPaused returns (bool success) { require((_value == 0) || (allowance[msg.sender][_spender] == 0)); allowance[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol */ function increaseApproval(address _spender, uint _addedValue) public returns (bool) { allowance[msg.sender][_spender] = allowance[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowance[msg.sender][_spender]); return true; } function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { uint oldValue = allowance[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowance[msg.sender][_spender] = 0; } else { allowance[msg.sender][_spender] = oldValue.sub(_subtractedValue); } Approval(msg.sender, _spender, allowance[msg.sender][_spender]); return true; } function allowance(address _owner, address _spender) public view returns (uint remaining) { return allowance[_owner][_spender]; } // Minting Functions address public authorisedMinter; function setMinter(address minter) public onlyOwner { authorisedMinter = minter; } modifier onlyMinter() { require(msg.sender == authorisedMinter); _; } Allocation public mintedGBT; // minting adds to this one Allocation public unmintedGBT; // allocating adds here, burning takes from here if minted is empty function mintTokens(address destination, uint256 amount) onlyMinter public { require(msg.sender == authorisedMinter); update(destination); balances[destination].amount = balances[destination].amount.add(amount); TokenMinted(destination,amount); Transfer(0x0,destination,amount); // ERC20 compliance // // TotalAllocation stuff // uint256 fees; (mintedGBT.amount,fees) = calcFees(mintedGBT.date,now,mintedGBT.amount); mintedGBT.amount = mintedGBT.amount.add(amount); mintedGBT.date = now; } function burnTokens(address source, uint256 amount) onlyMinter public { update(source); balances[source].amount = balances[source].amount.sub(amount); TokenBurned(source,amount); Transfer(source,0x0,amount); // ERC20 compliance // // TotalAllocation stuff // uint256 fees; (unmintedGBT.amount,fees) = calcFees(unmintedGBT.date,now,unmintedGBT.amount); unmintedGBT.date = now; unmintedGBT.amount = unmintedGBT.amount.add(amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"currentAllocations","outputs":[{"name":"amount","type":"uint256"},{"name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"source","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newMax","type":"uint256"}],"name":"updateMaxAllocation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"amount","type":"uint256"},{"name":"lastUpdated","type":"uint256"},{"name":"nextAllocationIndex","type":"uint256"},{"name":"allocationShare","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"where","type":"address"}],"name":"migrateBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totAllocation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"where","type":"address"}],"name":"parentFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentAllocationLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintedGBT","outputs":[{"name":"amount","type":"uint256"},{"name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"where","type":"address"}],"name":"balanceOf","outputs":[{"name":"val","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"where","type":"address"}],"name":"updatedBalance","outputs":[{"name":"val","type":"uint256"},{"name":"fees","type":"uint256"},{"name":"pos","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allocationsOverTime","outputs":[{"name":"amount","type":"uint256"},{"name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"authorisedMinter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"partAllocationLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newFC","type":"address"}],"name":"setFeeCalculator","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxAllocation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allocationPool","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeCalculator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"numSteps","type":"uint256"}],"name":"addAllocationPartTwo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"partAllocations","outputs":[{"name":"amount","type":"uint256"},{"name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_hgt","type":"address"}],"name":"setHGT","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"aotLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"uint256"},{"name":"to","type":"uint256"},{"name":"amount","type":"uint256"}],"name":"calcFees","outputs":[{"name":"val","type":"uint256"},{"name":"fee","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAllocation","type":"uint256"},{"name":"numSteps","type":"uint256"}],"name":"addAllocationPartOne","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"partFees","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"unmintedGBT","outputs":[{"name":"amount","type":"uint256"},{"name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"where","type":"address"},{"name":"newValue","type":"uint256"}],"name":"parentChange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"HGT","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"amount","type":"uint256"}],"name":"mintTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"partPos","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"reclaim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"minter","type":"address"}],"name":"setMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hgtDecimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"feeCalc","type":"address"},{"name":"_oldToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DeductFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"destination","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"source","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"date","type":"uint256"}],"name":"GoldAllocation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"fees","type":"uint256"},{"indexed":false,"name":"date","type":"uint256"}],"name":"FeeOnAllocation","type":"event"},{"anonymous":false,"inputs":[],"name":"PartComplete","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"numLeft","type":"uint256"}],"name":"StillToGo","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
606060409081526000805460a060020a60ff02191690558051908101604052600581527f474f4c4458000000000000000000000000000000000000000000000000000000602082015260049080516200005d9291602001906200049d565b506040805190810160405260058082527f474f4c44580000000000000000000000000000000000000000000000000000006020830152908051620000a69291602001906200049d565b506a0324ae69ab7120970000006006553415620000c257600080fd5b6040516040806200280d833981016040528080519190602001805191506000905080620000ee62000522565b60008054600160a060020a03338116600160a060020a031992831617835560088054898316908416179055600c8054918816919092161790556a0324ae42d41b84b11d47a1935091505b600c54600160a060020a031663cb1a32a46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156200019a57600080fd5b6102c65a03f11515620001ac57600080fd5b505050604051805190508210156200029157600c54600160a060020a03166378388eb6836000604051604001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff841602815260048101919091526024016040805180830381600087803b15156200022857600080fd5b6102c65a03f115156200023a57600080fd5b50505060405180519060200180516020840152508152600280546001810162000264838262000539565b60009283526020909220839160020201815181556020820151600191820155939093019250620001389050565b620002cd8360026003815481101515620002a757fe5b600091825260209091206002909102015490640100000000620020af6200048a82021704565b600280546003908110620002dd57fe5b6000918252602082206002909102019190915591505b600c54600160a060020a0316633e7d1acc6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156200035557600080fd5b6102c65a03f115156200036757600080fd5b505050604051805190508210156200046a57600c54600160a060020a0316630901a3f1836000604051604001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff841602815260048101919091526024016040805180830381600087803b1515620003e357600080fd5b6102c65a03f11515620003f557600080fd5b505050604051805190602001805160208401525081526200042783825190640100000000620020af6200048a82021704565b815260038054600181016200043d838262000539565b60009283526020909220839160020201815181556020820151600191820155939093019250620002f39050565b5050635a57c01760135550506852e77cf549dfc7dacc60125550620005b0565b6000828211156200049757fe5b50900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004e057805160ff191683800117855562000510565b8280016001018555821562000510579182015b8281111562000510578251825591602001919060010190620004f3565b506200051e9291506200056d565b5090565b604080519081016040526000808252602082015290565b81548183558181151162000568576002028160020283600052602060002091820191016200056891906200058d565b505050565b6200058a91905b808211156200051e576000815560010162000574565b90565b6200058a91905b808211156200051e576000808255600182015560020162000594565b61224d80620005c06000396000f30060606040526004361061022c5763ffffffff60e060020a60003504166306fdde0381146102315780630901a3f1146102bb578063095ea7b3146102e95780630d1118ce1461031f57806318160ddd1461034357806323b872dd1461036857806324da48a31461039057806327e235e3146103a65780632988e36b146103f05780632a774c271461040f578063313ce5671461042257806336b69367146104355780633e7d1acc146104545780633f4ba83a146104675780635bbfd0d71461047a5780635c975abb1461048d57806366188463146104a057806370a08231146104c2578063735d3e81146104e157806378388eb6146105245780637fc29fc91461053a5780638456cb591461056957806385a735dd1461057c5780638c66d04f1461058f5780638da5cb5b146105ae57806395d89b41146105c15780639b3ba79f146105d45780639b9073e4146105e7578063a9059cbb146105fa578063b00eb9fe1461061c578063b64e8ad81461062f578063c074304414610645578063c74a96eb1461065b578063cb1a32a41461067a578063d0699c981461068d578063d6edb047146106a9578063d73dd623146106c2578063d8aba1c6146106e4578063dd62ed3e146106f7578063e267761f1461071c578063e5a7b51f1461072f578063ed39eab314610751578063f0dda65c14610764578063f2fde38b14610786578063f764e8a0146107a5578063fc772c8b146107b8578063fca3b5aa146107d7578063ffc0d035146107f6575b600080fd5b341561023c57600080fd5b610244610809565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610280578082015183820152602001610268565b50505050905090810190601f1680156102ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102c657600080fd5b6102d16004356108a7565b60405191825260208201526040908101905180910390f35b34156102f457600080fd5b61030b600160a060020a03600435166024356108d3565b604051901515815260200160405180910390f35b341561032a57600080fd5b610341600160a060020a036004351660243561098f565b005b341561034e57600080fd5b610356610aa4565b60405190815260200160405180910390f35b341561037357600080fd5b61030b600160a060020a0360043581169060243516604435610b73565b341561039b57600080fd5b610341600435610cbf565b34156103b157600080fd5b6103c5600160a060020a0360043516610cf6565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34156103fb57600080fd5b610341600160a060020a0360043516610d1e565b341561041a57600080fd5b610356610e60565b341561042d57600080fd5b610356610e66565b341561044057600080fd5b610341600160a060020a0360043516610e6b565b341561045f57600080fd5b610356610ea9565b341561047257600080fd5b610341610eb0565b341561048557600080fd5b6102d1610f2f565b341561049857600080fd5b61030b610f38565b34156104ab57600080fd5b61030b600160a060020a0360043516602435610f48565b34156104cd57600080fd5b610356600160a060020a0360043516611044565b34156104ec57600080fd5b610500600160a060020a036004351661105d565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561052f57600080fd5b6102d160043561126e565b341561054557600080fd5b61054d61127c565b604051600160a060020a03909116815260200160405180910390f35b341561057457600080fd5b61034161128b565b341561058757600080fd5b61035661130f565b341561059a57600080fd5b610341600160a060020a0360043516611315565b34156105b957600080fd5b61054d61135f565b34156105cc57600080fd5b61024461136e565b34156105df57600080fd5b6103566113d9565b34156105f257600080fd5b6103566113df565b341561060557600080fd5b61030b600160a060020a03600435166024356113eb565b341561062757600080fd5b61054d6114d7565b341561063a57600080fd5b6103416004356114e6565b341561065057600080fd5b6102d160043561170a565b341561066657600080fd5b610341600160a060020a0360043516611718565b341561068557600080fd5b610356611762565b341561069857600080fd5b6102d1600435602435604435611768565b34156106b457600080fd5b6103416004356024356117f8565b34156106cd57600080fd5b61030b600160a060020a0360043516602435611b9d565b34156106ef57600080fd5b610356611c41565b341561070257600080fd5b610356600160a060020a0360043581169060243516611c47565b341561072757600080fd5b6102d1611c72565b341561073a57600080fd5b610341600160a060020a0360043516602435611c7b565b341561075c57600080fd5b61054d611ccc565b341561076f57600080fd5b610341600160a060020a0360043516602435611cdb565b341561079157600080fd5b610341600160a060020a0360043516611e0b565b34156107b057600080fd5b610356611ea6565b34156107c357600080fd5b610341600160a060020a0360043516611eac565b34156107e257600080fd5b610341600160a060020a0360043516612015565b341561080157600080fd5b61035661205f565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089f5780601f106108745761010080835404028352916020019161089f565b820191906000526020600020905b81548152906001019060200180831161088257829003601f168201915b505050505081565b60038054829081106108b557fe5b60009182526020909120600290910201805460019091015490915082565b6000805460a060020a900460ff16156108eb57600080fd5b81158061091b5750600160a060020a033381166000908152600a6020908152604080832093871683529290522054155b151561092657600080fd5b600160a060020a033381166000818152600a6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60115460009033600160a060020a039081169116146109ad57600080fd5b6109b683612064565b600160a060020a0383166000908152600160205260409020546109df908363ffffffff6120af16565b600160a060020a03841660009081526001602052604090819020919091557f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa2908490849051600160a060020a03909216825260208201526040908101905180910390a1600083600160a060020a03166000805160206122028339815191528460405190815260200160405180910390a3601554601454610a8191904290611768565b6014829055426015559150610a9c908363ffffffff6120c116565b601455505050565b6000806000806000806000610ac460126001015442601260000154611768565b601554601454929850909650610adb914290611768565b60038054929650909450610b2e916000908110610af457fe5b9060005260206000209060020201600101544260036000815481101515610b1757fe5b906000526020600020906002020160000154611768565b909250905085820184901115610b6557610b5e84610b52888563ffffffff6120c116565b9063ffffffff6120af16565b9650610b6a565b600096505b50505050505090565b60008054819060a060020a900460ff1615610b8d57600080fd5b600160a060020a0384161515610ba257600080fd5b50600160a060020a038085166000908152600a602090815260408083203390941683529290522054610bd385612064565b610bdc84612064565b600160a060020a038416600090815260016020526040902054610c05908463ffffffff6120c116565b600160a060020a038086166000908152600160205260408082209390935590871681522054610c3a908463ffffffff6120af16565b600160a060020a038616600090815260016020526040902055610c63818463ffffffff6120af16565b600160a060020a038087166000818152600a6020908152604080832033861684529091529081902093909355908616916000805160206122028339815191529086905190815260200160405180910390a3506001949350505050565b60005433600160a060020a03908116911614610cda57600080fd5b6a0324ae69ab7120970000008111610cf157600080fd5b600655565b6001602081905260009182526040909120805491810154600282015460039092015490919084565b600160a060020a0381166000908152600b602052604081205481908190819060ff161515610e5957600c54600160a060020a03166327e235e38660006040516080015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401608060405180830381600087803b1515610d9f57600080fd5b6102c65a03f11515610db057600080fd5b50505060405180519060200180519060200180519060200180519397509195509350909150608090506040519081016040908152858252602080830186905281830185905260608301849052600160a060020a0388166000908152600190915220815181556020820151816001015560408201518160020155606082015160039091015550600160a060020a0385166000908152600b60205260409020805460ff191660011790555b5050505050565b60075481565b601281565b60005460a060020a900460ff1615610e8257600080fd5b60095433600160a060020a03908116911614610e9d57600080fd5b610ea681612064565b50565b6003545b90565b60005433600160a060020a03908116911614610ecb57600080fd5b60005460a060020a900460ff161515610ee357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60125460135482565b60005460a060020a900460ff1681565b600160a060020a033381166000908152600a6020908152604080832093861683529290529081205480831115610fa557600160a060020a033381166000908152600a60209081526040808320938816835292905290812055610fdc565b610fb5818463ffffffff6120af16565b600160a060020a033381166000908152600a60209081526040808320938916835292905220555b600160a060020a033381166000818152600a602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b60008060006110528461105d565b509095945050505050565b600080600080600080600080600080611074612119565b600160a060020a038c166000908152600b602052604090205460ff16156110fe57600160a060020a038c1660009081526001602052604090819020906080905190810160409081528254825260018301546020830152600283015490820152600390910154606082015290508051945080602001519350806040015192508060600151915061118f565b600c54600160a060020a03166327e235e38d60006040516080015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401608060405180830381600087803b151561115757600080fd5b6102c65a03f1151561116857600080fd5b50505060405180519060200180519060200180519060200180519398509196509450909250505b61119a844287611768565b600354919c509a509298508892831080156111b457508115155b1561123757600380546112049167016345785d8a0000916111f8918691889081106111db57fe5b60009182526020909120600290910201549063ffffffff6120d716565b9063ffffffff61210216565b955061123160038481548110151561121857fe5b9060005260206000209060020201600101544288611768565b90985096505b6112478b8963ffffffff6120c116565b9a506112598a8863ffffffff6120c116565b6003549b9d909c509950505050505050505050565b60028054829081106108b557fe5b601154600160a060020a031681565b60005433600160a060020a039081169116146112a657600080fd5b60005460a060020a900460ff16156112bd57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60105490565b60005433600160a060020a0390811691161461133057600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089f5780601f106108745761010080835404028352916020019161089f565b60065481565b67016345785d8a000081565b6000805460a060020a900460ff161561140357600080fd5b600160a060020a038316151561141857600080fd5b61142133612064565b61142a83612064565b600160a060020a033316600090815260016020526040902054611453908363ffffffff6120af16565b600160a060020a033381166000908152600160205260408082209390935590851681522054611488908363ffffffff6120c116565b600160a060020a0380851660008181526001602052604090819020939093559133909116906000805160206122028339815191529085905190815260200160405180910390a350600192915050565b600854600160a060020a031681565b60115460009033600160a060020a0390811691161461150457600080fd5b6000821161151157600080fd5b600d546000901161152157600080fd5b5060005b8181101561164a57600d805460001901908190556010805461156e9290811061154a57fe5b906000526020600020906002020160010154426010600d54815481101515610b1757fe5b6010600d5481548110151561157f57fe5b60009182526020909120600e929092556002020155600f54601080546115ec92600019019081106115ac57fe5b9060005260206000209060020201600001546010600d548154811015156115cf57fe5b60009182526020909120600290910201549063ffffffff6120c116565b6010600d548154811015156115fd57fe5b6000918252602090912060029091020155600d5460108054429290811061162057fe5b6000918252602090912060016002909202010155600d5415156116425761164a565b600101611525565b600d541561168c577fc94f798321235fa17dd9603fb88bb2634abbb740fede709d211ad44ba8c63870600d5460405190815260200160405180910390a1611706565b7fcadcbce497c428a85330c77795a87b336eeb93bc01259e2fea1cd998196f935060405160405180910390a17f2a0213f6a9134dfad8fe565f70d7764a32fe66ccfa431bd1f981d6a4db282680600e544260405191825260208201526040908101905180910390a16010805461170491600391612142565b505b5050565b60108054829081106108b557fe5b60005433600160a060020a0390811691161461173357600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025490565b6008546000908190600160a060020a031663d0699c98868686856040516040015260405160e060020a63ffffffff86160281526004810193909352602483019190915260448201526064016040805180830381600087803b15156117cb57600080fd5b6102c65a03f115156117dc57600080fd5b5050506040518051906020018051905091509150935093915050565b60006118026121a2565b60115433600160a060020a0390811691161461181d57600080fd5b600d541561182a57600080fd5b6006546007548593501061183d57600080fd5b601054600354111561185b576003805461185991601091612142565b505b600654826007540111156118b25760075460065461187e9163ffffffff6120af16565b91506040517f6d617820616c6c6f632072656163686564000000000000000000000000000000815260110160405180910390a05b6007546118c5908363ffffffff6120c116565b6007557fde11823ad4c1d9d7ef9f5a42932881fa9a2b92c55d0fa17bf38aa270d915f815824260405191825260208201526040908101905180910390a1818152426020820152600280546001810161191d83826121b9565b6000928352602090922083916002020181518155602082015181600101555050506010805480600101828161195291906121b9565b6000928352602090922083916002020181518155602082015160019091015550600f5560105460029010156119fe577fcadcbce497c428a85330c77795a87b336eeb93bc01259e2fea1cd998196f935060405160405180910390a1601080546119bd91600391612142565b507f2a0213f6a9134dfad8fe565f70d7764a32fe66ccfa431bd1f981d6a4db28268060004260405191825260208201526040908101905180910390a1611b97565b60105460011901600d555b600d5460009010611add57611a286010600d5481548110151561154a57fe5b6010600d54815481101515611a3957fe5b60009182526020909120600e929092556002020155600f5460108054611a6692600019019081106115ac57fe5b6010600d54815481101515611a7757fe5b6000918252602090912060029091020155600d54601080544292908110611a9a57fe5b6000918252602090912060016002909202010155600d541580611ac45750601054600d5490849003145b15611ace57611add565b600d8054600019019055611a09565b600d5415611b1f577fc94f798321235fa17dd9603fb88bb2634abbb740fede709d211ad44ba8c63870600d5460405190815260200160405180910390a1611b97565b7fcadcbce497c428a85330c77795a87b336eeb93bc01259e2fea1cd998196f935060405160405180910390a17f2a0213f6a9134dfad8fe565f70d7764a32fe66ccfa431bd1f981d6a4db282680600e544260405191825260208201526040908101905180910390a160108054610e5991600391612142565b50505050565b600160a060020a033381166000908152600a60209081526040808320938616835292905290812054611bd5908363ffffffff6120c116565b600160a060020a033381166000818152600a602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600e5481565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60145460155482565b60005460a060020a900460ff1615611c9257600080fd5b60095433600160a060020a03908116911614611cad57600080fd5b600160a060020a03909116600090815260016020526040902060030155565b600954600160a060020a031681565b60115460009033600160a060020a03908116911614611cf957600080fd5b60115433600160a060020a03908116911614611d1457600080fd5b611d1d83612064565b600160a060020a038316600090815260016020526040902054611d46908363ffffffff6120c116565b600160a060020a03841660009081526001602052604090819020919091557fb9144c96c86541f6fa89c9f2f02495cccf4b08cd6643e26d34ee00aa586558a8908490849051600160a060020a03909216825260208201526040908101905180910390a182600160a060020a031660006000805160206122028339815191528460405190815260200160405180910390a3601354601254611de891904290611768565b60128290559150611dff908363ffffffff6120c116565b60125550504260135550565b60005433600160a060020a03908116911614611e2657600080fd5b600160a060020a0381161515611e3b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600d5481565b60008054819033600160a060020a03908116911614611eca57600080fd5b339150600160a060020a0383161515611f1f5781600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515611f1a57600080fd5b611704565b82600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611f7657600080fd5b6102c65a03f11515611f8757600080fd5b5050506040518051915050600160a060020a03831663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611fef57600080fd5b6102c65a03f1151561200057600080fd5b50505060405180519050151561170457600080fd5b60005433600160a060020a0390811691161461203057600080fd5b6011805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600881565b600080600061207284610d1e565b61207b8461105d565b600160a060020a03909616600090815260016020819052604090912060028101979097559186555042940193909355505050565b6000828211156120bb57fe5b50900390565b6000828201838110156120d057fe5b9392505050565b6000808315156120ea576000915061103d565b508282028284828115156120fa57fe5b04146120d057fe5b600080828481151561211057fe5b04949350505050565b608060405190810160405280600081526020016000815260200160008152602001600081525090565b8280548282559060005260206000209060020281019282156121925760005260206000209160020282015b828111156121925782548255600180840154908301556002928301929091019061216d565b5061219e9291506121e1565b5090565b604080519081016040526000808252602082015290565b8154818355818115116117045760020281600202836000526020600020918201910161170491905b610ead91905b8082111561219e57600080825560018201556002016121e75600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e73ca8a5b339e27414e8f0263555347fb1c452f32550226b36f547e4d2635cba0029000000000000000000000000d56ed0dae33a546d063e60a214dd76538a1ba5ab0000000000000000000000007585f835ae2d522722d2684323a0ba83401f32f5
Deployed Bytecode
0x60606040526004361061022c5763ffffffff60e060020a60003504166306fdde0381146102315780630901a3f1146102bb578063095ea7b3146102e95780630d1118ce1461031f57806318160ddd1461034357806323b872dd1461036857806324da48a31461039057806327e235e3146103a65780632988e36b146103f05780632a774c271461040f578063313ce5671461042257806336b69367146104355780633e7d1acc146104545780633f4ba83a146104675780635bbfd0d71461047a5780635c975abb1461048d57806366188463146104a057806370a08231146104c2578063735d3e81146104e157806378388eb6146105245780637fc29fc91461053a5780638456cb591461056957806385a735dd1461057c5780638c66d04f1461058f5780638da5cb5b146105ae57806395d89b41146105c15780639b3ba79f146105d45780639b9073e4146105e7578063a9059cbb146105fa578063b00eb9fe1461061c578063b64e8ad81461062f578063c074304414610645578063c74a96eb1461065b578063cb1a32a41461067a578063d0699c981461068d578063d6edb047146106a9578063d73dd623146106c2578063d8aba1c6146106e4578063dd62ed3e146106f7578063e267761f1461071c578063e5a7b51f1461072f578063ed39eab314610751578063f0dda65c14610764578063f2fde38b14610786578063f764e8a0146107a5578063fc772c8b146107b8578063fca3b5aa146107d7578063ffc0d035146107f6575b600080fd5b341561023c57600080fd5b610244610809565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610280578082015183820152602001610268565b50505050905090810190601f1680156102ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102c657600080fd5b6102d16004356108a7565b60405191825260208201526040908101905180910390f35b34156102f457600080fd5b61030b600160a060020a03600435166024356108d3565b604051901515815260200160405180910390f35b341561032a57600080fd5b610341600160a060020a036004351660243561098f565b005b341561034e57600080fd5b610356610aa4565b60405190815260200160405180910390f35b341561037357600080fd5b61030b600160a060020a0360043581169060243516604435610b73565b341561039b57600080fd5b610341600435610cbf565b34156103b157600080fd5b6103c5600160a060020a0360043516610cf6565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34156103fb57600080fd5b610341600160a060020a0360043516610d1e565b341561041a57600080fd5b610356610e60565b341561042d57600080fd5b610356610e66565b341561044057600080fd5b610341600160a060020a0360043516610e6b565b341561045f57600080fd5b610356610ea9565b341561047257600080fd5b610341610eb0565b341561048557600080fd5b6102d1610f2f565b341561049857600080fd5b61030b610f38565b34156104ab57600080fd5b61030b600160a060020a0360043516602435610f48565b34156104cd57600080fd5b610356600160a060020a0360043516611044565b34156104ec57600080fd5b610500600160a060020a036004351661105d565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561052f57600080fd5b6102d160043561126e565b341561054557600080fd5b61054d61127c565b604051600160a060020a03909116815260200160405180910390f35b341561057457600080fd5b61034161128b565b341561058757600080fd5b61035661130f565b341561059a57600080fd5b610341600160a060020a0360043516611315565b34156105b957600080fd5b61054d61135f565b34156105cc57600080fd5b61024461136e565b34156105df57600080fd5b6103566113d9565b34156105f257600080fd5b6103566113df565b341561060557600080fd5b61030b600160a060020a03600435166024356113eb565b341561062757600080fd5b61054d6114d7565b341561063a57600080fd5b6103416004356114e6565b341561065057600080fd5b6102d160043561170a565b341561066657600080fd5b610341600160a060020a0360043516611718565b341561068557600080fd5b610356611762565b341561069857600080fd5b6102d1600435602435604435611768565b34156106b457600080fd5b6103416004356024356117f8565b34156106cd57600080fd5b61030b600160a060020a0360043516602435611b9d565b34156106ef57600080fd5b610356611c41565b341561070257600080fd5b610356600160a060020a0360043581169060243516611c47565b341561072757600080fd5b6102d1611c72565b341561073a57600080fd5b610341600160a060020a0360043516602435611c7b565b341561075c57600080fd5b61054d611ccc565b341561076f57600080fd5b610341600160a060020a0360043516602435611cdb565b341561079157600080fd5b610341600160a060020a0360043516611e0b565b34156107b057600080fd5b610356611ea6565b34156107c357600080fd5b610341600160a060020a0360043516611eac565b34156107e257600080fd5b610341600160a060020a0360043516612015565b341561080157600080fd5b61035661205f565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089f5780601f106108745761010080835404028352916020019161089f565b820191906000526020600020905b81548152906001019060200180831161088257829003601f168201915b505050505081565b60038054829081106108b557fe5b60009182526020909120600290910201805460019091015490915082565b6000805460a060020a900460ff16156108eb57600080fd5b81158061091b5750600160a060020a033381166000908152600a6020908152604080832093871683529290522054155b151561092657600080fd5b600160a060020a033381166000818152600a6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60115460009033600160a060020a039081169116146109ad57600080fd5b6109b683612064565b600160a060020a0383166000908152600160205260409020546109df908363ffffffff6120af16565b600160a060020a03841660009081526001602052604090819020919091557f1af5163f80e79b5e554f61e1d052084d3a3fe1166e42a265798c4e2ddce8ffa2908490849051600160a060020a03909216825260208201526040908101905180910390a1600083600160a060020a03166000805160206122028339815191528460405190815260200160405180910390a3601554601454610a8191904290611768565b6014829055426015559150610a9c908363ffffffff6120c116565b601455505050565b6000806000806000806000610ac460126001015442601260000154611768565b601554601454929850909650610adb914290611768565b60038054929650909450610b2e916000908110610af457fe5b9060005260206000209060020201600101544260036000815481101515610b1757fe5b906000526020600020906002020160000154611768565b909250905085820184901115610b6557610b5e84610b52888563ffffffff6120c116565b9063ffffffff6120af16565b9650610b6a565b600096505b50505050505090565b60008054819060a060020a900460ff1615610b8d57600080fd5b600160a060020a0384161515610ba257600080fd5b50600160a060020a038085166000908152600a602090815260408083203390941683529290522054610bd385612064565b610bdc84612064565b600160a060020a038416600090815260016020526040902054610c05908463ffffffff6120c116565b600160a060020a038086166000908152600160205260408082209390935590871681522054610c3a908463ffffffff6120af16565b600160a060020a038616600090815260016020526040902055610c63818463ffffffff6120af16565b600160a060020a038087166000818152600a6020908152604080832033861684529091529081902093909355908616916000805160206122028339815191529086905190815260200160405180910390a3506001949350505050565b60005433600160a060020a03908116911614610cda57600080fd5b6a0324ae69ab7120970000008111610cf157600080fd5b600655565b6001602081905260009182526040909120805491810154600282015460039092015490919084565b600160a060020a0381166000908152600b602052604081205481908190819060ff161515610e5957600c54600160a060020a03166327e235e38660006040516080015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401608060405180830381600087803b1515610d9f57600080fd5b6102c65a03f11515610db057600080fd5b50505060405180519060200180519060200180519060200180519397509195509350909150608090506040519081016040908152858252602080830186905281830185905260608301849052600160a060020a0388166000908152600190915220815181556020820151816001015560408201518160020155606082015160039091015550600160a060020a0385166000908152600b60205260409020805460ff191660011790555b5050505050565b60075481565b601281565b60005460a060020a900460ff1615610e8257600080fd5b60095433600160a060020a03908116911614610e9d57600080fd5b610ea681612064565b50565b6003545b90565b60005433600160a060020a03908116911614610ecb57600080fd5b60005460a060020a900460ff161515610ee357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60125460135482565b60005460a060020a900460ff1681565b600160a060020a033381166000908152600a6020908152604080832093861683529290529081205480831115610fa557600160a060020a033381166000908152600a60209081526040808320938816835292905290812055610fdc565b610fb5818463ffffffff6120af16565b600160a060020a033381166000908152600a60209081526040808320938916835292905220555b600160a060020a033381166000818152600a602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b60008060006110528461105d565b509095945050505050565b600080600080600080600080600080611074612119565b600160a060020a038c166000908152600b602052604090205460ff16156110fe57600160a060020a038c1660009081526001602052604090819020906080905190810160409081528254825260018301546020830152600283015490820152600390910154606082015290508051945080602001519350806040015192508060600151915061118f565b600c54600160a060020a03166327e235e38d60006040516080015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401608060405180830381600087803b151561115757600080fd5b6102c65a03f1151561116857600080fd5b50505060405180519060200180519060200180519060200180519398509196509450909250505b61119a844287611768565b600354919c509a509298508892831080156111b457508115155b1561123757600380546112049167016345785d8a0000916111f8918691889081106111db57fe5b60009182526020909120600290910201549063ffffffff6120d716565b9063ffffffff61210216565b955061123160038481548110151561121857fe5b9060005260206000209060020201600101544288611768565b90985096505b6112478b8963ffffffff6120c116565b9a506112598a8863ffffffff6120c116565b6003549b9d909c509950505050505050505050565b60028054829081106108b557fe5b601154600160a060020a031681565b60005433600160a060020a039081169116146112a657600080fd5b60005460a060020a900460ff16156112bd57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60105490565b60005433600160a060020a0390811691161461133057600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561089f5780601f106108745761010080835404028352916020019161089f565b60065481565b67016345785d8a000081565b6000805460a060020a900460ff161561140357600080fd5b600160a060020a038316151561141857600080fd5b61142133612064565b61142a83612064565b600160a060020a033316600090815260016020526040902054611453908363ffffffff6120af16565b600160a060020a033381166000908152600160205260408082209390935590851681522054611488908363ffffffff6120c116565b600160a060020a0380851660008181526001602052604090819020939093559133909116906000805160206122028339815191529085905190815260200160405180910390a350600192915050565b600854600160a060020a031681565b60115460009033600160a060020a0390811691161461150457600080fd5b6000821161151157600080fd5b600d546000901161152157600080fd5b5060005b8181101561164a57600d805460001901908190556010805461156e9290811061154a57fe5b906000526020600020906002020160010154426010600d54815481101515610b1757fe5b6010600d5481548110151561157f57fe5b60009182526020909120600e929092556002020155600f54601080546115ec92600019019081106115ac57fe5b9060005260206000209060020201600001546010600d548154811015156115cf57fe5b60009182526020909120600290910201549063ffffffff6120c116565b6010600d548154811015156115fd57fe5b6000918252602090912060029091020155600d5460108054429290811061162057fe5b6000918252602090912060016002909202010155600d5415156116425761164a565b600101611525565b600d541561168c577fc94f798321235fa17dd9603fb88bb2634abbb740fede709d211ad44ba8c63870600d5460405190815260200160405180910390a1611706565b7fcadcbce497c428a85330c77795a87b336eeb93bc01259e2fea1cd998196f935060405160405180910390a17f2a0213f6a9134dfad8fe565f70d7764a32fe66ccfa431bd1f981d6a4db282680600e544260405191825260208201526040908101905180910390a16010805461170491600391612142565b505b5050565b60108054829081106108b557fe5b60005433600160a060020a0390811691161461173357600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60025490565b6008546000908190600160a060020a031663d0699c98868686856040516040015260405160e060020a63ffffffff86160281526004810193909352602483019190915260448201526064016040805180830381600087803b15156117cb57600080fd5b6102c65a03f115156117dc57600080fd5b5050506040518051906020018051905091509150935093915050565b60006118026121a2565b60115433600160a060020a0390811691161461181d57600080fd5b600d541561182a57600080fd5b6006546007548593501061183d57600080fd5b601054600354111561185b576003805461185991601091612142565b505b600654826007540111156118b25760075460065461187e9163ffffffff6120af16565b91506040517f6d617820616c6c6f632072656163686564000000000000000000000000000000815260110160405180910390a05b6007546118c5908363ffffffff6120c116565b6007557fde11823ad4c1d9d7ef9f5a42932881fa9a2b92c55d0fa17bf38aa270d915f815824260405191825260208201526040908101905180910390a1818152426020820152600280546001810161191d83826121b9565b6000928352602090922083916002020181518155602082015181600101555050506010805480600101828161195291906121b9565b6000928352602090922083916002020181518155602082015160019091015550600f5560105460029010156119fe577fcadcbce497c428a85330c77795a87b336eeb93bc01259e2fea1cd998196f935060405160405180910390a1601080546119bd91600391612142565b507f2a0213f6a9134dfad8fe565f70d7764a32fe66ccfa431bd1f981d6a4db28268060004260405191825260208201526040908101905180910390a1611b97565b60105460011901600d555b600d5460009010611add57611a286010600d5481548110151561154a57fe5b6010600d54815481101515611a3957fe5b60009182526020909120600e929092556002020155600f5460108054611a6692600019019081106115ac57fe5b6010600d54815481101515611a7757fe5b6000918252602090912060029091020155600d54601080544292908110611a9a57fe5b6000918252602090912060016002909202010155600d541580611ac45750601054600d5490849003145b15611ace57611add565b600d8054600019019055611a09565b600d5415611b1f577fc94f798321235fa17dd9603fb88bb2634abbb740fede709d211ad44ba8c63870600d5460405190815260200160405180910390a1611b97565b7fcadcbce497c428a85330c77795a87b336eeb93bc01259e2fea1cd998196f935060405160405180910390a17f2a0213f6a9134dfad8fe565f70d7764a32fe66ccfa431bd1f981d6a4db282680600e544260405191825260208201526040908101905180910390a160108054610e5991600391612142565b50505050565b600160a060020a033381166000908152600a60209081526040808320938616835292905290812054611bd5908363ffffffff6120c116565b600160a060020a033381166000818152600a602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600e5481565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60145460155482565b60005460a060020a900460ff1615611c9257600080fd5b60095433600160a060020a03908116911614611cad57600080fd5b600160a060020a03909116600090815260016020526040902060030155565b600954600160a060020a031681565b60115460009033600160a060020a03908116911614611cf957600080fd5b60115433600160a060020a03908116911614611d1457600080fd5b611d1d83612064565b600160a060020a038316600090815260016020526040902054611d46908363ffffffff6120c116565b600160a060020a03841660009081526001602052604090819020919091557fb9144c96c86541f6fa89c9f2f02495cccf4b08cd6643e26d34ee00aa586558a8908490849051600160a060020a03909216825260208201526040908101905180910390a182600160a060020a031660006000805160206122028339815191528460405190815260200160405180910390a3601354601254611de891904290611768565b60128290559150611dff908363ffffffff6120c116565b60125550504260135550565b60005433600160a060020a03908116911614611e2657600080fd5b600160a060020a0381161515611e3b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600d5481565b60008054819033600160a060020a03908116911614611eca57600080fd5b339150600160a060020a0383161515611f1f5781600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515611f1a57600080fd5b611704565b82600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611f7657600080fd5b6102c65a03f11515611f8757600080fd5b5050506040518051915050600160a060020a03831663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611fef57600080fd5b6102c65a03f1151561200057600080fd5b50505060405180519050151561170457600080fd5b60005433600160a060020a0390811691161461203057600080fd5b6011805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600881565b600080600061207284610d1e565b61207b8461105d565b600160a060020a03909616600090815260016020819052604090912060028101979097559186555042940193909355505050565b6000828211156120bb57fe5b50900390565b6000828201838110156120d057fe5b9392505050565b6000808315156120ea576000915061103d565b508282028284828115156120fa57fe5b04146120d057fe5b600080828481151561211057fe5b04949350505050565b608060405190810160405280600081526020016000815260200160008152602001600081525090565b8280548282559060005260206000209060020281019282156121925760005260206000209160020282015b828111156121925782548255600180840154908301556002928301929091019061216d565b5061219e9291506121e1565b5090565b604080519081016040526000808252602082015290565b8154818355818115116117045760020281600202836000526020600020918201910161170491905b610ead91905b8082111561219e57600080825560018201556002016121e75600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820e73ca8a5b339e27414e8f0263555347fb1c452f32550226b36f547e4d2635cba0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d56ed0dae33a546d063e60a214dd76538a1ba5ab0000000000000000000000007585f835ae2d522722d2684323a0ba83401f32f5
-----Decoded View---------------
Arg [0] : feeCalc (address): 0xd56ed0DAE33A546D063e60a214Dd76538a1ba5AB
Arg [1] : _oldToken (address): 0x7585F835ae2d522722d2684323a0ba83401f32f5
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000d56ed0dae33a546d063e60a214dd76538a1ba5ab
Arg [1] : 0000000000000000000000007585f835ae2d522722d2684323a0ba83401f32f5
Swarm Source
bzzr://e73ca8a5b339e27414e8f0263555347fb1c452f32550226b36f547e4d2635cba
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.