Overview
Max Total Supply
664.480286152134780805 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.081154368562313679 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
Contract ABI
API[{"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.
Add Token to MetaMask (Web3)