ETH Price: $3,441.44 (-1.13%)
Gas: 9 Gwei

Token

BeerCoin ()
 

Overview

Max Total Supply

101,111 BeerCoin

Holders

75

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Filtered by Token Holder
MyEtherWallet: Old Address
Balance
4 BeerCoin

Value
$0.00
0x7cb57b5a97eabe94205c07890be4c1ad31e486a8
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BeerCoin

Compiler Version
v0.3.5-2016-07-21-6610add

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2016-07-29
*/

/**
 * Author: Nick Johnson (arachnid at notdot.net)
 * Copyright 2016; licensed CC-BY-SA.
 * 
 * BeerCoin is a new cryptocurrency intended to encapsulate and record the
 * concept of "I owe you a beer". Did someone answer a difficult question you
 * had? Send them a BeerCoin. Did they help you carry something heavy? Send
 * them a BeerCoin. Someone buy you a beer? Send them a BeerCoin.
 * 
 * Unlike traditional currency, anyone can issue BeerCoin simply by sending it
 * to someone else. A person's BeerCoin is only as valuable as the recipient's
 * belief that they're good for the beer, should it ever be redeemed; a beer
 * owed to you by Vitalik Buterin is probably worth more than a beer owed to you
 * by the DAO hacker (but your opinions may differ on that point).
 * 
 * BeerCoin is implemented as an ERC20 compatible token, with a few extensions.
 * Regular ERC20 transfers will create or resolve obligations between the two
 * parties; they will never transfer third-party BeerCoins. Additional methods
 * are provided to allow you transfer beers someone owes you to a third party;
 * if Satoshi Nakamoto owes you a beer, you can transfer that obligation to your
 * friend who just bought you one down at the pub. Methods are also provided for
 * determining the total number of beers a person owes, to help determine if
 * they're good for it, and for getting a list of accounts that owe someone a
 * beer.
 * 
 * BeerCoin may confuse some wallets, such as Mist, that expect you can only
 * send currency up to your current total balance; since BeerCoin operates as
 * individual IOUs, that restriction doesn't apply. As a result, you will
 * sometimes need to call the 'transfer' function on the contract itself
 * instead of using the wallet's built in token support.
 * 
 * If anyone finds a bug in the contract, I'll buy you a beer. If you find a bug
 * you can exploit to adjust balances without users' consent, I'll buy you two
 * (or more).
 * 
 * If you feel obliged to me for creating this, send me a ? at
 * 0x5fC8A61e097c118cE43D200b3c4dcf726Cf783a9. Don't do it unless you mean it;
 * if we meet I'll surely redeem it.
 */
contract BeerCoin {
    using Itmap for Itmap.AddressUintMap;
    
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    struct UserAccount {
        bool exists;
        Itmap.AddressUintMap debtors; // People who owe you a beer
        mapping(address=>uint) allowances;
        uint maxCredit; // Most beers any individual may owe you
        uint beersOwed; // Beers owed by this person
        uint beersOwing; // Beers owed to this person
    }
    uint beersOwing;
    uint defaultMaxCredit;
    
    function() {
        throw;
    }
    
    function BeerCoin(uint _defaultMaxCredit) {
        defaultMaxCredit = _defaultMaxCredit;
    }
    
    mapping(address=>UserAccount) accounts;

    function maximumCredit(address owner) constant returns (uint) {
        if(accounts[owner].exists) {
            return accounts[owner].maxCredit;
        } else {
            return defaultMaxCredit;
        }
    }

    function setMaximumCredit(uint credit) {
        //640k ought to be enough for anyone
        if(credit > 655360)
            return;

        if(!accounts[msg.sender].exists)
            accounts[msg.sender].exists = true;
        accounts[msg.sender].maxCredit = credit;
    }
    
    function numDebtors(address owner) constant returns (uint) {
        return accounts[owner].debtors.size();
    }
    
    function debtor(address owner, uint idx) constant returns (address) {
        return accounts[owner].debtors.index(idx);
    }
    
    function debtors(address owner) constant returns (address[]) {
        return accounts[owner].debtors.keys;
    }

    function totalSupply() constant returns (uint256 supply) {
        return beersOwing;   
    }
    
    function balanceOf(address owner) constant returns (uint256 balance) {
        return accounts[owner].beersOwing;
    }
    
    function balanceOf(address owner, address debtor) constant returns (uint256 balance) {
        return accounts[owner].debtors.get(debtor);
    }
    
    function totalDebt(address owner) constant returns (uint256 balance) {
        return accounts[owner].beersOwed;
    }
    
    function transfer(address to, uint256 value) returns (bool success) {
        return doTransfer(msg.sender, to, value);
    }
    
    function transferFrom(address from, address to, uint256 value) returns (bool) {
        if(accounts[from].allowances[msg.sender] >= value && doTransfer(from, to, value)) {
            accounts[from].allowances[msg.sender] -= value;
            return true;
        }
        return false;
    }
    
    function doTransfer(address from, address to, uint value) internal returns (bool) {
        if(from == to)
            return false;
            
        if(!accounts[to].exists) {
            accounts[to].exists = true;
            accounts[to].maxCredit = defaultMaxCredit;
        }
        
        // Don't allow transfers that would exceed the recipient's credit limit.
        if(value > accounts[to].maxCredit + accounts[from].debtors.get(to))
            return false;
        
        Transfer(from, to, value);

        value -= reduceDebt(to, from, value);
        createDebt(from, to, value);

        return true;
    }
    
    // Transfers beers owed to you by `debtor` to `to`.
    function transferOther(address to, address debtor, uint value) returns (bool) {
        return doTransferOther(msg.sender, to, debtor, value);
    }

    // Allows a third party to transfer debt owed to you by `debtor` to `to`.    
    function transferOtherFrom(address from, address to, address debtor, uint value) returns (bool) {
        if(accounts[from].allowances[msg.sender] >= value && doTransferOther(from, to, debtor, value)) {
            accounts[from].allowances[msg.sender] -= value;
            return true;
        }
        return false;
    }
    
    function doTransferOther(address from, address to, address debtor, uint value) internal returns (bool) {
        if(from == to || to == debtor)
            return false;
            
        if(!accounts[to].exists) {
            accounts[to].exists = true;
            accounts[to].maxCredit = defaultMaxCredit;
        }
        
        if(transferDebt(from, to, debtor, value)) {
            Transfer(from, to, value);
            return true;
        } else {
            return false;
        }
    }
    
    // Creates debt owed by `debtor` to `creditor` of amount `value`.
    // Returns false without making changes if this would exceed `creditor`'s
    // credit limit.
    function createDebt(address debtor, address creditor, uint value) internal returns (bool) {
        if(value == 0)
            return true;
        
        if(value > accounts[creditor].maxCredit)
            return false;

        accounts[creditor].debtors.set(
            debtor, accounts[creditor].debtors.get(debtor) + value);
        accounts[debtor].beersOwed += value;
        accounts[creditor].beersOwing += value;
        beersOwing += value;
        
        return true;
    }
    
    // Reduces debt owed by `debtor` to `creditor` by `value` or the total amount,
    // whichever is less. Returns the amount of debt erased.
    function reduceDebt(address debtor, address creditor, uint value) internal returns (uint) {
        var owed = accounts[creditor].debtors.get(debtor);
        if(value >= owed) {
            value = owed;
            
            accounts[creditor].debtors.remove(debtor);
        } else {
            accounts[creditor].debtors.set(debtor, owed - value);
        }
        
        accounts[debtor].beersOwed -= value;
        accounts[creditor].beersOwing -= value;
        beersOwing -= value;
        
        return value;
    }
    
    // Transfers debt owed by `debtor` from `oldCreditor` to `newCreditor`.
    // Returns false without making any changes if `value` exceeds the amount
    // owed or if the transfer would exceed `newCreditor`'s credit limit.
    function transferDebt(address oldCreditor, address newCreditor, address debtor, uint value) internal returns (bool) {
        var owedOld = accounts[oldCreditor].debtors.get(debtor);
        if(owedOld < value)
            return false;
        
        var owedNew = accounts[newCreditor].debtors.get(debtor);
        if(value + owedNew > accounts[newCreditor].maxCredit)
            return false;
        
        
        if(owedOld == value) {
            accounts[oldCreditor].debtors.remove(debtor);
        } else {
            accounts[oldCreditor].debtors.set(debtor, owedOld - value);
        }
        accounts[oldCreditor].beersOwing -= value;
        
        accounts[newCreditor].debtors.set(debtor, owedNew + value);
        accounts[newCreditor].beersOwing += value;
        
        return true;
    }

    function approve(address spender, uint256 value) returns (bool) {
        accounts[msg.sender].allowances[spender] = value;
        Approval(msg.sender, spender, value);
        return true;
    }
    
    function allowance(address owner, address spender) constant returns (uint256) {
        return accounts[owner].allowances[spender];
    }
}


library Itmap {
    struct AddressUintMapEntry {
        uint value;
        uint idx;
    }
    
    struct AddressUintMap {
        mapping(address=>AddressUintMapEntry) entries;
        address[] keys;
    }
    
    function set(AddressUintMap storage self, address k, uint v) internal {
        var entry = self.entries[k];
        if(entry.idx == 0) {
            entry.idx = self.keys.length + 1;
            self.keys.push(k);
        }
        entry.value = v;
    }
    
    function get(AddressUintMap storage self, address k) internal returns (uint) {
        return self.entries[k].value;
    }
    
    function contains(AddressUintMap storage self, address k) internal returns (bool) {
        return self.entries[k].idx > 0;
    }
    
    function remove(AddressUintMap storage self, address k) internal {
        var entry = self.entries[k];
        if(entry.idx > 0) {
            var otherkey = self.keys[self.keys.length - 1];
            self.keys[entry.idx - 1] = otherkey;
            self.keys.length -= 1;
            
            self.entries[otherkey].idx = entry.idx;
            entry.idx = 0;
            entry.value = 0;
        }
    }
    
    function size(AddressUintMap storage self) internal returns (uint) {
        return self.keys.length;
    }
    
    function index(AddressUintMap storage self, uint idx) internal returns (address) {
        return self.keys[idx];
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"totalDebt","outputs":[{"name":"balance","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"debtor","type":"address"},{"name":"value","type":"uint256"}],"name":"transferOther","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"credit","type":"uint256"}],"name":"setMaximumCredit","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"debtor","type":"address"},{"name":"value","type":"uint256"}],"name":"transferOtherFrom","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"maximumCredit","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"idx","type":"uint256"}],"name":"debtor","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"debtors","outputs":[{"name":"","type":"address[]"}],"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"numDebtors","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"debtor","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"type":"function"},{"inputs":[{"name":"_defaultMaxCredit","type":"uint256"}],"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"}]

6060604052604051602080610c5a833950608060405251600155610c33806100276000396000f3606060405236156100b95760e060020a6000350463095ea7b381146100c157806318160ddd1461013a5780631ff517ff14610150578063235c002d1461017857806323b872dd146101ce5780635e404de31461021d57806367af26fb1461023357806370a08231146102865780638b543b80146102ad57806395669952146102e1578063a9059cbb14610335578063aa6be30314610368578063ca35271c146103f0578063dd62ed3e1461041f578063f7888aec14610457575b61049f610002565b6104a160043560243533600160a060020a0390811660008181526002602090815260408083209487168084526003909501825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6000545b60408051918252519081900360200190f35b61013e600435600160a060020a0381166000908152600260205260409020600501545b919050565b6104a1600435602435604435600061051c338585855b600083600160a060020a031685600160a060020a031614806101c1575082600160a060020a031684600160a060020a0316145b15610622575060006105c5565b6104a1600435602435604435600160a060020a03838116600090815260026020908152604080832033909416835260039093019052908120548290108015906105265750610526848484610347565b61049f600435620a000081111561056c576105be565b6104a1600435602435604435606435600160a060020a03848116600090815260026020908152604080832033909416835260039093019052908120548290108015906105cd57506105cd8585858561018e565b61013e600435600160a060020a038116600090815260026020526040902060060154610173565b61013e600435600160a060020a03811660009081526002602052604081205460ff161561060b576040902060040154610173565b6104b5600435602435600160a060020a038216600090815260026020526040812061061490600101836000826001016000508281548110156100025750815260209020810154600160a060020a0316610134565b6104a160043560243560006106143384845b600082600160a060020a031684600160a060020a031614156106e75761051f565b6104d260043560408051602081810183526000808352600160a060020a038516815260028083529084902001805484518184028101840190955280855292939290918301828280156103e457602002820191906000526020600020905b8154600160a060020a03168152600191909101906020018083116103c5575b50505050509050610173565b61013e600435600160a060020a038116600090815260026020526040812061061b906001016001810154610173565b61013e600435602435600160a060020a0382811660009081526002602090815260408083209385168352600390930190522054610134565b61013e600435602435600160a060020a038216600090815260026020526040812061061490600101835b600160a060020a038116600090815260208390526040902054610134565b005b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60405180806020018281038252838181518152602001915080519060200190602002808383829060006004602084601f0104600f02600301f1509050019250505060405180910390f35b90505b9392505050565b156105645750600160a060020a038381166000908152600260209081526040808320339094168352600390930190522080548290039055600161051f565b50600061051f565b33600160a060020a031660009081526002602052604090205460ff16151561059f576040600020805460ff191660011790555b33600160a060020a031660009081526002602052604090206004018190555b50565b5060005b949350505050565b156105c15750600160a060020a03848116600090815260026020908152604080832033909416835260039093019052208054829003905560016105c5565b50600154610173565b9050610134565b9050610173565b600160a060020a03841660009081526002602052604090205460ff16151561065f576040600020805460ff19166001908117825554600491909101555b61068f85858585600160a060020a0384166000908152600260205260408120819081906108449060010186610481565b156105c15783600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060016105c5565b600160a060020a03831660009081526002602052604090205460ff161515610724576040600020805460ff19166001908117825554600491909101555b600160a060020a03841660009081526002602052604090206107499060010184610481565b600160a060020a038416600090815260026020526040902060040154018211156107755750600061051f565b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36107ed838584600160a060020a03821660009081526002602052604081208190610a6e9060010186610481565b9091039061080a84848460008160001415610b0d5750600161051f565b506001905061051f565b600160a060020a0386166000908152600260205260409020600601805485019055600192505b5050949350505050565b915083821015610857576000925061083a565b600160a060020a038616600090815260026020526040902061087c9060010186610481565b600160a060020a03871660009081526002602052604090206004015490915084820111156108ad576000925061083a565b838214156109b057600160a060020a0387166000908152600260205260409020610a3490600101865b600160a060020a0381166000908152602083905260408120600181015490919081901115610bf75760018401805460001981019081101561000257600184810154928452602090932001549185018054600160a060020a0393909316928392600019019081101561000257906000526020600020900160006101000a815481600160a060020a030219169083021790555060018460010160005081818054905003915081815481835581811511610bca57818360005260206000209182019101610bca91905b80821115610bfd576000815560010161099c565b600160a060020a0387166000908152600260205260409020610a3490600101868685035b600160a060020a0382166000908152602084905260408120600181015490911415610c2e576001848101805482018383015580549182018082559091908281838015829011610c0157600083815260209020610c0191810190830161099c565b600160a060020a038781166000908152600260205260408082206006018054889003905591881681522061081490600101868684016109d4565b9050808310610aa157600160a060020a03841660009081526002602052604090209092508290610ac990600101866108d6565b600160a060020a0384166000908152600260205260409020610ac990600101868584036109d4565b5050600160a060020a039283166000908152600260205260408082206005018054849003905592909316835290822060060180548290039055815481900390915590565b600160a060020a038316600090815260026020526040902060040154821115610b385750600061051f565b600160a060020a0383166000908152600260205260409020610b659085908490610ba79060010183610481565b50600160a060020a038381166000908152600260205260408082206005018054850190559184168152908120600601805483019055805482019055600161051f565b600160a060020a03871660009081526002602052604090206001019291016109d4565b5050505060018281018054600160a060020a03841660009081526020889052604081209093015581905582555b50505050565b5090565b505050600092835250602090912001805473ffffffffffffffffffffffffffffffffffffffff1916841790555b55505056

Deployed Bytecode

0x606060405236156100b95760e060020a6000350463095ea7b381146100c157806318160ddd1461013a5780631ff517ff14610150578063235c002d1461017857806323b872dd146101ce5780635e404de31461021d57806367af26fb1461023357806370a08231146102865780638b543b80146102ad57806395669952146102e1578063a9059cbb14610335578063aa6be30314610368578063ca35271c146103f0578063dd62ed3e1461041f578063f7888aec14610457575b61049f610002565b6104a160043560243533600160a060020a0390811660008181526002602090815260408083209487168084526003909501825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6000545b60408051918252519081900360200190f35b61013e600435600160a060020a0381166000908152600260205260409020600501545b919050565b6104a1600435602435604435600061051c338585855b600083600160a060020a031685600160a060020a031614806101c1575082600160a060020a031684600160a060020a0316145b15610622575060006105c5565b6104a1600435602435604435600160a060020a03838116600090815260026020908152604080832033909416835260039093019052908120548290108015906105265750610526848484610347565b61049f600435620a000081111561056c576105be565b6104a1600435602435604435606435600160a060020a03848116600090815260026020908152604080832033909416835260039093019052908120548290108015906105cd57506105cd8585858561018e565b61013e600435600160a060020a038116600090815260026020526040902060060154610173565b61013e600435600160a060020a03811660009081526002602052604081205460ff161561060b576040902060040154610173565b6104b5600435602435600160a060020a038216600090815260026020526040812061061490600101836000826001016000508281548110156100025750815260209020810154600160a060020a0316610134565b6104a160043560243560006106143384845b600082600160a060020a031684600160a060020a031614156106e75761051f565b6104d260043560408051602081810183526000808352600160a060020a038516815260028083529084902001805484518184028101840190955280855292939290918301828280156103e457602002820191906000526020600020905b8154600160a060020a03168152600191909101906020018083116103c5575b50505050509050610173565b61013e600435600160a060020a038116600090815260026020526040812061061b906001016001810154610173565b61013e600435602435600160a060020a0382811660009081526002602090815260408083209385168352600390930190522054610134565b61013e600435602435600160a060020a038216600090815260026020526040812061061490600101835b600160a060020a038116600090815260208390526040902054610134565b005b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60405180806020018281038252838181518152602001915080519060200190602002808383829060006004602084601f0104600f02600301f1509050019250505060405180910390f35b90505b9392505050565b156105645750600160a060020a038381166000908152600260209081526040808320339094168352600390930190522080548290039055600161051f565b50600061051f565b33600160a060020a031660009081526002602052604090205460ff16151561059f576040600020805460ff191660011790555b33600160a060020a031660009081526002602052604090206004018190555b50565b5060005b949350505050565b156105c15750600160a060020a03848116600090815260026020908152604080832033909416835260039093019052208054829003905560016105c5565b50600154610173565b9050610134565b9050610173565b600160a060020a03841660009081526002602052604090205460ff16151561065f576040600020805460ff19166001908117825554600491909101555b61068f85858585600160a060020a0384166000908152600260205260408120819081906108449060010186610481565b156105c15783600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060016105c5565b600160a060020a03831660009081526002602052604090205460ff161515610724576040600020805460ff19166001908117825554600491909101555b600160a060020a03841660009081526002602052604090206107499060010184610481565b600160a060020a038416600090815260026020526040902060040154018211156107755750600061051f565b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36107ed838584600160a060020a03821660009081526002602052604081208190610a6e9060010186610481565b9091039061080a84848460008160001415610b0d5750600161051f565b506001905061051f565b600160a060020a0386166000908152600260205260409020600601805485019055600192505b5050949350505050565b915083821015610857576000925061083a565b600160a060020a038616600090815260026020526040902061087c9060010186610481565b600160a060020a03871660009081526002602052604090206004015490915084820111156108ad576000925061083a565b838214156109b057600160a060020a0387166000908152600260205260409020610a3490600101865b600160a060020a0381166000908152602083905260408120600181015490919081901115610bf75760018401805460001981019081101561000257600184810154928452602090932001549185018054600160a060020a0393909316928392600019019081101561000257906000526020600020900160006101000a815481600160a060020a030219169083021790555060018460010160005081818054905003915081815481835581811511610bca57818360005260206000209182019101610bca91905b80821115610bfd576000815560010161099c565b600160a060020a0387166000908152600260205260409020610a3490600101868685035b600160a060020a0382166000908152602084905260408120600181015490911415610c2e576001848101805482018383015580549182018082559091908281838015829011610c0157600083815260209020610c0191810190830161099c565b600160a060020a038781166000908152600260205260408082206006018054889003905591881681522061081490600101868684016109d4565b9050808310610aa157600160a060020a03841660009081526002602052604090209092508290610ac990600101866108d6565b600160a060020a0384166000908152600260205260409020610ac990600101868584036109d4565b5050600160a060020a039283166000908152600260205260408082206005018054849003905592909316835290822060060180548290039055815481900390915590565b600160a060020a038316600090815260026020526040902060040154821115610b385750600061051f565b600160a060020a0383166000908152600260205260409020610b659085908490610ba79060010183610481565b50600160a060020a038381166000908152600260205260408082206005018054850190559184168152908120600601805483019055805482019055600161051f565b600160a060020a03871660009081526002602052604090206001019291016109d4565b5050505060018281018054600160a060020a03841660009081526020889052604081209093015581905582555b50505050565b5090565b505050600092835250602090912001805473ffffffffffffffffffffffffffffffffffffffff1916841790555b55505056

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000000000000000000000000000000000000000001

-----Decoded View---------------
Arg [0] : _defaultMaxCredit (uint256): 1

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000001


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.