ETH Price: $3,293.37 (-0.20%)

Contract

0x8DB90E3e7D04C875a51997092f9178FCac9DefdB
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Transfer215917892025-01-10 4:47:4711 days ago1736484467IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000247614.76439069
Transfer214416952024-12-20 5:38:2332 days ago1734673103IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0003987411.44594999
Transfer214377142024-12-19 16:19:1132 days ago1734625151IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0012328923.73826093
Transfer212941462024-11-29 15:09:1152 days ago1732892951IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0006787722.59784616
Transfer212941202024-11-29 15:03:5952 days ago1732892639IN
0x8DB90E3e...Cac9DefdB
0 ETH0.001203423.16521908
Transfer207414872024-09-13 11:46:23130 days ago1726227983IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000115533.84500608
Transfer205026132024-08-11 3:13:35163 days ago1723346015IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000159183.06279772
Transfer204411832024-08-02 13:33:35171 days ago1722605615IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000311526.60892737
Transfer202261062024-07-03 12:53:35201 days ago1720011215IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0009532931.737401
Transfer201448322024-06-22 4:22:23213 days ago1719030143IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000211354.06852463
Transfer200043072024-06-02 13:02:47232 days ago1717333367IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000206036.85665113
Transfer200043012024-06-02 13:01:35232 days ago1717333295IN
0x8DB90E3e...Cac9DefdB
0 ETH0.00035047.43379855
Transfer199939102024-06-01 2:13:23234 days ago1717208003IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000214767.14990434
Transfer198472992024-05-11 14:10:47254 days ago1715436647IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000231037.69161799
Transfer198472832024-05-11 14:07:35254 days ago1715436455IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000408097.85576619
Transfer198461322024-05-11 10:15:35255 days ago1715422535IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0005196110
Transfer198460812024-05-11 10:05:23255 days ago1715421923IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000282896
Transfer197660942024-04-30 5:39:47266 days ago1714455587IN
0x8DB90E3e...Cac9DefdB
0 ETH0.000457188.79654089
Transfer194590532024-03-18 3:37:11309 days ago1710733031IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0007184720.63097975
Transfer194590532024-03-18 3:37:11309 days ago1710733031IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0010712620.63097975
Transfer194445562024-03-16 2:39:59311 days ago1710556799IN
0x8DB90E3e...Cac9DefdB
0 ETH0.001734233.35968435
Transfer194416462024-03-15 16:50:35311 days ago1710521435IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0019897538.28431851
Transfer193593242024-03-04 4:10:47323 days ago1709525447IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0028880755.59444291
Transfer193344362024-02-29 16:43:47326 days ago1709225027IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0037815780.20474174
Approve193326702024-02-29 10:47:35327 days ago1709203655IN
0x8DB90E3e...Cac9DefdB
0 ETH0.0036678878.97443683
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PortalToken

Compiler Version
v0.4.21-nightly.2018.3.7+commit.bd7bc7c4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-04-20
*/

pragma solidity ^0.4.18;


// https://github.com/ethereum/wiki/wiki/Standardized_Contract_APIs#transferable-fungibles-see-erc-20-for-the-latest

contract ERC20Token {
    // Triggered when tokens are transferred.
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    // Triggered whenever approve(address _spender, uint256 _value) is called.
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    // Get the total token supply
    function totalSupply() constant public returns (uint256 supply);

    // Get the account `balance` of another account with address `_owner`
    function balanceOf(address _owner) constant public returns (uint256 balance);

    // Send `_value` amount of tokens to address `_to`
    function transfer(address _to, uint256 _value) public returns (bool success);

    // Send `_value` amount of tokens from address `_from` to address `_to`
    // The `transferFrom` method is used for a withdraw workflow, allowing contracts to send tokens on your behalf,
    // for example to "deposit" to a contract address and/or to charge fees in sub-currencies;
    // the command should fail unless the `_from` account has deliberately authorized the sender of the message
    // via some mechanism; we propose these standardized APIs for `approval`:
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);

    // Allow _spender to withdraw from your account, multiple times, up to the _value amount.
    // If this function is called again it overwrites the current allowance with _value.
    function approve(address _spender, uint256 _value) public returns (bool success);

    // Returns the amount which _spender is still allowed to withdraw from _owner
    function allowance(address _owner, address _spender) constant public returns (uint256 remaining);
}

contract PortalToken is ERC20Token {
    address public initialOwner;
    uint256 public supply   = 1000000000 * 10 ** 18;  // 1,000,000,000
    string  public name     = 'PortalToken';
    uint8   public decimals = 18;
    string  public symbol   = 'PORTAL';
    string  public version  = 'v0.2';
    uint    public creationBlock;
    uint    public creationTime;

    mapping (address => uint256) balance;
    mapping (address => mapping (address => uint256)) m_allowance;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    function PortalToken() public{
        initialOwner        = msg.sender;
        balance[msg.sender] = supply;
        creationBlock       = block.number;
        creationTime        = block.timestamp;
    }

    function balanceOf(address _account) constant public returns (uint) {
        return balance[_account];
    }

    function totalSupply() constant public returns (uint) {
        return supply;
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        // `revert()` | `throw`
        //      http://solidity.readthedocs.io/en/develop/control-structures.html#error-handling-assert-require-revert-and-exceptions
        //      https://ethereum.stackexchange.com/questions/20978/why-do-throw-and-revert-create-different-bytecodes/20981
        return doTransfer(msg.sender, _to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        if (allowance(_from, msg.sender) < _value) revert();

        m_allowance[_from][msg.sender] -= _value;

        if ( !(doTransfer(_from, _to, _value)) ) {
            m_allowance[_from][msg.sender] += _value;
            return false;
        } else {
            return true;
        }
    }

    function doTransfer(address _from, address _to, uint _value) internal returns (bool success) {
        if (balance[_from] >= _value && balance[_to] + _value >= balance[_to]) {
            balance[_from] -= _value;
            balance[_to] += _value;
            emit Transfer(_from, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        if ( (_value != 0) && (allowance(msg.sender, _spender) != 0) ) revert();

        m_allowance[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);

        return true;
    }

    function allowance(address _owner, address _spender) constant public returns (uint256) {
        return m_allowance[_owner][_spender];
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"supply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"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":true,"inputs":[],"name":"creationBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"creationTime","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":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"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"}]

60606040526b033b2e3c9fd0803ce800000060015560408051908101604052600b81527f506f7274616c546f6b656e0000000000000000000000000000000000000000006020820152600290805161005b92916020019061013f565b506003805460ff1916601217905560408051908101604052600681527f504f5254414c0000000000000000000000000000000000000000000000000000602082015260049080516100b092916020019061013f565b5060408051908101604052600481527f76302e3200000000000000000000000000000000000000000000000000000000602082015260059080516100f892916020019061013f565b50341561010457600080fd5b60008054600160a060020a03191633600160a060020a03169081178255600154908252600860205260409091205543600655426007556101da565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018057805160ff19168380011785556101ad565b828001600101855582156101ad579182015b828111156101ad578251825591602001919060010190610192565b506101b99291506101bd565b5090565b6101d791905b808211156101b957600081556001016101c3565b90565b6106ff806101e96000396000f3006060604052600436106100cf5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663047fc9aa81146100d457806306fdde03146100f9578063095ea7b31461018357806317634514146101b957806318160ddd146101cc57806323b872dd146101df57806329ba7bb214610207578063313ce5671461023657806354fd4d501461025f57806370a082311461027257806395d89b4114610291578063a9059cbb146102a4578063d8270dce146102c6578063dd62ed3e146102d9575b600080fd5b34156100df57600080fd5b6100e76102fe565b60405190815260200160405180910390f35b341561010457600080fd5b61010c610304565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610148578082015183820152602001610130565b50505050905090810190601f1680156101755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018e57600080fd5b6101a5600160a060020a03600435166024356103a2565b604051901515815260200160405180910390f35b34156101c457600080fd5b6100e761042e565b34156101d757600080fd5b6100e7610434565b34156101ea57600080fd5b6101a5600160a060020a036004358116906024351660443561043a565b341561021257600080fd5b61021a6104cf565b604051600160a060020a03909116815260200160405180910390f35b341561024157600080fd5b6102496104de565b60405160ff909116815260200160405180910390f35b341561026a57600080fd5b61010c6104e7565b341561027d57600080fd5b6100e7600160a060020a0360043516610552565b341561029c57600080fd5b61010c61056d565b34156102af57600080fd5b6101a5600160a060020a03600435166024356105d8565b34156102d157600080fd5b6100e76105e5565b34156102e457600080fd5b6100e7600160a060020a03600435811690602435166105eb565b60015481565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561039a5780601f1061036f5761010080835404028352916020019161039a565b820191906000526020600020905b81548152906001019060200180831161037d57829003601f168201915b505050505081565b600081158015906103bb57506103b833846105eb565b15155b156103c557600080fd5b600160a060020a03338116600081815260096020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60065481565b60015490565b60008161044785336105eb565b101561045257600080fd5b600160a060020a038085166000908152600960209081526040808320339094168352929052208054839003905561048a848484610616565b15156104c45750600160a060020a0380841660009081526009602090815260408083203390941683529290529081208054830190556104c8565b5060015b9392505050565b600054600160a060020a031681565b60035460ff1681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561039a5780601f1061036f5761010080835404028352916020019161039a565b600160a060020a031660009081526008602052604090205490565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561039a5780601f1061036f5761010080835404028352916020019161039a565b60006104c8338484610616565b60075481565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600160a060020a0383166000908152600860205260408120548290108015906106595750600160a060020a03831660009081526008602052604090205482810110155b156106cb57600160a060020a038085166000818152600860205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060016104c8565b5060006104c85600a165627a7a72305820fb5992e0d07629bc7a527e95680be3c6dc70c9dfd0024baed557677617eb9b1d0029

Deployed Bytecode

0x6060604052600436106100cf5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663047fc9aa81146100d457806306fdde03146100f9578063095ea7b31461018357806317634514146101b957806318160ddd146101cc57806323b872dd146101df57806329ba7bb214610207578063313ce5671461023657806354fd4d501461025f57806370a082311461027257806395d89b4114610291578063a9059cbb146102a4578063d8270dce146102c6578063dd62ed3e146102d9575b600080fd5b34156100df57600080fd5b6100e76102fe565b60405190815260200160405180910390f35b341561010457600080fd5b61010c610304565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610148578082015183820152602001610130565b50505050905090810190601f1680156101755780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018e57600080fd5b6101a5600160a060020a03600435166024356103a2565b604051901515815260200160405180910390f35b34156101c457600080fd5b6100e761042e565b34156101d757600080fd5b6100e7610434565b34156101ea57600080fd5b6101a5600160a060020a036004358116906024351660443561043a565b341561021257600080fd5b61021a6104cf565b604051600160a060020a03909116815260200160405180910390f35b341561024157600080fd5b6102496104de565b60405160ff909116815260200160405180910390f35b341561026a57600080fd5b61010c6104e7565b341561027d57600080fd5b6100e7600160a060020a0360043516610552565b341561029c57600080fd5b61010c61056d565b34156102af57600080fd5b6101a5600160a060020a03600435166024356105d8565b34156102d157600080fd5b6100e76105e5565b34156102e457600080fd5b6100e7600160a060020a03600435811690602435166105eb565b60015481565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561039a5780601f1061036f5761010080835404028352916020019161039a565b820191906000526020600020905b81548152906001019060200180831161037d57829003601f168201915b505050505081565b600081158015906103bb57506103b833846105eb565b15155b156103c557600080fd5b600160a060020a03338116600081815260096020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60065481565b60015490565b60008161044785336105eb565b101561045257600080fd5b600160a060020a038085166000908152600960209081526040808320339094168352929052208054839003905561048a848484610616565b15156104c45750600160a060020a0380841660009081526009602090815260408083203390941683529290529081208054830190556104c8565b5060015b9392505050565b600054600160a060020a031681565b60035460ff1681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561039a5780601f1061036f5761010080835404028352916020019161039a565b600160a060020a031660009081526008602052604090205490565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561039a5780601f1061036f5761010080835404028352916020019161039a565b60006104c8338484610616565b60075481565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600160a060020a0383166000908152600860205260408120548290108015906106595750600160a060020a03831660009081526008602052604090205482810110155b156106cb57600160a060020a038085166000818152600860205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060016104c8565b5060006104c85600a165627a7a72305820fb5992e0d07629bc7a527e95680be3c6dc70c9dfd0024baed557677617eb9b1d0029

Swarm Source

bzzr://fb5992e0d07629bc7a527e95680be3c6dc70c9dfd0024baed557677617eb9b1d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.