ETH Price: $3,278.79 (+1.03%)

Contract

0x93519cc1A51ac56cF2daA8AAAFcD4073f49a19D8
 
Transaction Hash
Method
Block
From
To
Refund112955072020-11-20 14:21:151513 days ago1605882075IN
0x93519cc1...3f49a19D8
0 ETH0.0016382761.00000145
Refund101347822020-05-25 11:53:361692 days ago1590407616IN
0x93519cc1...3f49a19D8
0 ETH0.0007964935
Refund62090772018-08-25 4:33:282332 days ago1535171608IN
0x93519cc1...3f49a19D8
0 ETH0.000091224
Refund55498332018-05-03 15:35:272445 days ago1525361727IN
0x93519cc1...3f49a19D8
0 ETH0.00093541
Refund54103682018-04-09 17:12:582469 days ago1523293978IN
0x93519cc1...3f49a19D8
0 ETH0.00003111
Refund54103402018-04-09 17:07:262469 days ago1523293646IN
0x93519cc1...3f49a19D8
0 ETH0.000155525
Refund54099512018-04-09 15:30:532469 days ago1523287853IN
0x93519cc1...3f49a19D8
0 ETH0.000062212
Refund54099402018-04-09 15:29:142469 days ago1523287754IN
0x93519cc1...3f49a19D8
0 ETH0.0003110510
Refund54099082018-04-09 15:23:322469 days ago1523287412IN
0x93519cc1...3f49a19D8
0 ETH0.00003111
Refund54096362018-04-09 14:17:412469 days ago1523283461IN
0x93519cc1...3f49a19D8
0 ETH0.0016796754
Refund54094662018-04-09 13:32:292469 days ago1523280749IN
0x93519cc1...3f49a19D8
0 ETH0.00003111
Refund54094662018-04-09 13:32:292469 days ago1523280749IN
0x93519cc1...3f49a19D8
0 ETH0.00003111
Refund54094112018-04-09 13:17:042469 days ago1523279824IN
0x93519cc1...3f49a19D8
0 ETH0.000093123
Refund54093942018-04-09 13:15:132469 days ago1523279713IN
0x93519cc1...3f49a19D8
0 ETH0.000093123
Refund54092752018-04-09 12:41:332469 days ago1523277693IN
0x93519cc1...3f49a19D8
0 ETH0.00003111
Refund54092132018-04-09 12:26:112469 days ago1523276771IN
0x93519cc1...3f49a19D8
0 ETH0.000034211.1
Enable Refunds52656172018-03-16 12:52:582493 days ago1521204778IN
0x93519cc1...3f49a19D8
0 ETH0.000065293
Refund50345652018-02-05 10:03:152532 days ago1517824995IN
0x93519cc1...3f49a19D8
0 ETH0.0005473224
Refund50243042018-02-03 16:51:232534 days ago1517676683IN
0x93519cc1...3f49a19D8
0 ETH0.000653221
Refund49780112018-01-26 20:54:352542 days ago1517000075IN
0x93519cc1...3f49a19D8
0 ETH0.00002281
Refund49384252018-01-20 3:56:282549 days ago1516420588IN
0x93519cc1...3f49a19D8
0 ETH0.0006923922.26
Refund49384252018-01-20 3:56:282549 days ago1516420588IN
0x93519cc1...3f49a19D8
0 ETH0.000653221
Refund49384242018-01-20 3:56:052549 days ago1516420565IN
0x93519cc1...3f49a19D8
0 ETH0.000653221
Refund49384242018-01-20 3:56:052549 days ago1516420565IN
0x93519cc1...3f49a19D8
0 ETH0.000653221
Refund49349542018-01-19 13:25:272549 days ago1516368327IN
0x93519cc1...3f49a19D8
0 ETH0.000653221
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
101347822020-05-25 11:53:361692 days ago1590407616
0x93519cc1...3f49a19D8
33.55906355 ETH
62090772018-08-25 4:33:282332 days ago1535171608
0x93519cc1...3f49a19D8
5 ETH
55498332018-05-03 15:35:272445 days ago1525361727
0x93519cc1...3f49a19D8
1.42 ETH
50345652018-02-05 10:03:152532 days ago1517824995
0x93519cc1...3f49a19D8
0.18 ETH
49780112018-01-26 20:54:352542 days ago1517000075
0x93519cc1...3f49a19D8
10 ETH
49285552018-01-18 10:10:112550 days ago1516270211
0x93519cc1...3f49a19D8
1 ETH
49245432018-01-17 16:40:592551 days ago1516207259
0x93519cc1...3f49a19D8
0.02 ETH
49209692018-01-17 1:23:472552 days ago1516152227
0x93519cc1...3f49a19D8
1 ETH
49205912018-01-16 23:42:342552 days ago1516146154
0x93519cc1...3f49a19D8
0.34 ETH
49161902018-01-16 4:33:282553 days ago1516077208
0x93519cc1...3f49a19D8
12.047 ETH
48975182018-01-12 18:59:432556 days ago1515783583
0x93519cc1...3f49a19D8
1.1 ETH
48847852018-01-10 10:38:122558 days ago1515580692
0x93519cc1...3f49a19D8
0.98 ETH
48843382018-01-10 8:38:172558 days ago1515573497
0x93519cc1...3f49a19D8
5 ETH
48837582018-01-10 5:57:242558 days ago1515563844
0x93519cc1...3f49a19D8
2.99 ETH
48828952018-01-10 2:00:122559 days ago1515549612
0x93519cc1...3f49a19D8
2.99 ETH
48759842018-01-08 19:16:072560 days ago1515438967
0x93519cc1...3f49a19D8
1.5 ETH
48648962018-01-06 18:36:412562 days ago1515263801
0x93519cc1...3f49a19D8
1.09 ETH
48634592018-01-06 12:23:272562 days ago1515241407
0x93519cc1...3f49a19D8
1.1 ETH
48549252018-01-04 22:01:012564 days ago1515103261
0x93519cc1...3f49a19D8
1 ETH
48324772017-12-31 23:06:452568 days ago1514761605
0x93519cc1...3f49a19D8
1 ETH
48308262017-12-31 16:20:212568 days ago1514737221
0x93519cc1...3f49a19D8
2.23982989 ETH
48257872017-12-30 19:50:132569 days ago1514663413
0x93519cc1...3f49a19D8
2 ETH
48241792017-12-30 13:20:082569 days ago1514640008
0x93519cc1...3f49a19D8
2.9 ETH
48172072017-12-29 8:15:072570 days ago1514535307
0x93519cc1...3f49a19D8
0.2 ETH
48145982017-12-28 21:28:592571 days ago1514496539
0x93519cc1...3f49a19D8
1 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VLBRefundVault

Compiler Version
v0.4.14+commit.c2215d46

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-11-23
*/

pragma solidity ^0.4.11;


/**
 * @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() {
        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) onlyOwner public {
        require(newOwner != address(0));
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

}






/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal constant returns (uint256) {
        uint256 c = a * b;
        if (a != 0 && c / a != b) revert();
        return c;
    }

    function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) {
        if (b > a) revert();
        return a - b;
    }

    function add(uint256 a, uint256 b) internal constant returns (uint256) {
        uint256 c = a + b;
        if (c < a) revert();
        return c;
    }
}



/*
 * !!!IMPORTANT!!!
 * Based on Open Zeppelin Refund Vault contract
 * https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/crowdsale/RefundVault.sol
 * the only thing that differs is a hardcoded wallet address
 */

/**
 * @title RefundVault.
 * @dev This contract is used for storing funds while a crowdsale
 * is in progress. Supports refunding the money if crowdsale fails,
 * and forwarding it if crowdsale is successful.
 */
contract VLBRefundVault is Ownable {
    using SafeMath for uint256;

    enum State {Active, Refunding, Closed}
    State public state;

    mapping (address => uint256) public deposited;

    address public constant wallet = 0x02D408bc203921646ECA69b555524DF3c7f3a8d7;

    address crowdsaleContractAddress;

    event Closed();
    event RefundsEnabled();
    event Refunded(address indexed beneficiary, uint256 weiAmount);

    function VLBRefundVault() {
        state = State.Active;
    }

    modifier onlyCrowdsaleContract() {
        require(msg.sender == crowdsaleContractAddress);
        _;
    }

    function setCrowdsaleAddress(address _crowdsaleAddress) external onlyOwner {
        require(_crowdsaleAddress != address(0));
        crowdsaleContractAddress = _crowdsaleAddress;
    }

    function deposit(address investor) onlyCrowdsaleContract external payable {
        require(state == State.Active);
        deposited[investor] = deposited[investor].add(msg.value);
    }

    function close(address _wingsWallet) onlyCrowdsaleContract external {
        require(_wingsWallet != address(0));
        require(state == State.Active);
        state = State.Closed;
        Closed();
        uint256 wingsReward = this.balance.div(100);
        _wingsWallet.transfer(wingsReward);
        wallet.transfer(this.balance);
    }

    function enableRefunds() onlyCrowdsaleContract external {
        require(state == State.Active);
        state = State.Refunding;
        RefundsEnabled();
    }

    function refund(address investor) public {
        require(state == State.Refunding);
        uint256 depositedValue = deposited[investor];
        deposited[investor] = 0;
        investor.transfer(depositedValue);
        Refunded(investor, depositedValue);
    }

    /**
     * @dev killer method that can bu used by owner to
     *      kill the contract and send funds to owner
     */
    function kill() onlyOwner {
        require(state == State.Closed);
        selfdestruct(owner);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_crowdsaleAddress","type":"address"}],"name":"setCrowdsaleAddress","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"enableRefunds","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_wingsWallet","type":"address"}],"name":"close","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"deposited","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"}],"name":"deposit","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"}],"name":"refund","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[],"name":"Closed","type":"event"},{"anonymous":false,"inputs":[],"name":"RefundsEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

6060604052341561000f57600080fd5b5b5b60008054600160a060020a03191633600160a060020a03161790555b60008054819060a060020a60ff02191674010000000000000000000000000000000000000000825b02179055505b5b6107508061006b6000396000f300606060405236156100ac5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631f35bc4081146100b157806341c0e1b5146100d2578063521eb273146100e75780638c52dc41146101165780638da5cb5b1461012b578063c19d93fb1461015a578063c74073a114610191578063cb13cddb146101b2578063f2fde38b146101e3578063f340fa0114610204578063fa89401a1461021a575b600080fd5b34156100bc57600080fd5b6100d0600160a060020a036004351661023b565b005b34156100dd57600080fd5b6100d0610298565b005b34156100f257600080fd5b6100fa6102e9565b604051600160a060020a03909116815260200160405180910390f35b341561012157600080fd5b6100d0610301565b005b341561013657600080fd5b6100fa61039d565b604051600160a060020a03909116815260200160405180910390f35b341561016557600080fd5b61016d6103ac565b6040518082600281111561017d57fe5b60ff16815260200191505060405180910390f35b341561019c57600080fd5b6100d0600160a060020a03600435166103bc565b005b34156101bd57600080fd5b6101d1600160a060020a0360043516610507565b60405190815260200160405180910390f35b34156101ee57600080fd5b6100d0600160a060020a0360043516610519565b005b6100d0600160a060020a03600435166105b2565b005b341561022557600080fd5b6100d0600160a060020a0360043516610639565b005b60005433600160a060020a0390811691161461025657600080fd5b600160a060020a038116151561026b57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a039081169116146102b357600080fd5b60025b60005460a060020a900460ff1660028111156102ce57fe5b146102d857600080fd5b600054600160a060020a0316ff5b5b565b7302d408bc203921646eca69b555524df3c7f3a8d781565b60025433600160a060020a0390811691161461031c57600080fd5b60005b60005460a060020a900460ff16600281111561033757fe5b1461034157600080fd5b600080546001919074ff0000000000000000000000000000000000000000191660a060020a835b02179055507f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8960405160405180910390a15b5b565b600054600160a060020a031681565b60005460a060020a900460ff1681565b60025460009033600160a060020a039081169116146103da57600080fd5b600160a060020a03821615156103ef57600080fd5b60005b60005460a060020a900460ff16600281111561040a57fe5b1461041457600080fd5b600080546002919074ff0000000000000000000000000000000000000000191660a060020a835b02179055507f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a60405160405180910390a1610487600160a060020a03301631606463ffffffff6106eb16565b9050600160a060020a03821681156108fc0282604051600060405180830381858888f1935050505015156104ba57600080fd5b7302d408bc203921646eca69b555524df3c7f3a8d730600160a060020a03163180156108fc0290604051600060405180830381858888f19350505050151561050157600080fd5b5b5b5050565b60016020526000908152604090205481565b60005433600160a060020a0390811691161461053457600080fd5b600160a060020a038116151561054957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60025433600160a060020a039081169116146105cd57600080fd5b60005b60005460a060020a900460ff1660028111156105e857fe5b146105f257600080fd5b600160a060020a03811660009081526001602052604090205461061b903463ffffffff61070716565b600160a060020a0382166000908152600160205260409020555b5b50565b600060015b60005460a060020a900460ff16600281111561065657fe5b1461066057600080fd5b50600160a060020a038116600081815260016020526040808220805492905590919082156108fc0290839051600060405180830381858888f1935050505015156106a957600080fd5b81600160a060020a03167fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d06518260405190815260200160405180910390a25b5050565b60008082848115156106f957fe5b0490508091505b5092915050565b60008282018381101561071957600080fd5b8091505b50929150505600a165627a7a723058201b233cabb4bb6b94b6445db94febb7e150e9be026a77d340b0a4d5a33692ecbc0029

Deployed Bytecode

0x606060405236156100ac5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631f35bc4081146100b157806341c0e1b5146100d2578063521eb273146100e75780638c52dc41146101165780638da5cb5b1461012b578063c19d93fb1461015a578063c74073a114610191578063cb13cddb146101b2578063f2fde38b146101e3578063f340fa0114610204578063fa89401a1461021a575b600080fd5b34156100bc57600080fd5b6100d0600160a060020a036004351661023b565b005b34156100dd57600080fd5b6100d0610298565b005b34156100f257600080fd5b6100fa6102e9565b604051600160a060020a03909116815260200160405180910390f35b341561012157600080fd5b6100d0610301565b005b341561013657600080fd5b6100fa61039d565b604051600160a060020a03909116815260200160405180910390f35b341561016557600080fd5b61016d6103ac565b6040518082600281111561017d57fe5b60ff16815260200191505060405180910390f35b341561019c57600080fd5b6100d0600160a060020a03600435166103bc565b005b34156101bd57600080fd5b6101d1600160a060020a0360043516610507565b60405190815260200160405180910390f35b34156101ee57600080fd5b6100d0600160a060020a0360043516610519565b005b6100d0600160a060020a03600435166105b2565b005b341561022557600080fd5b6100d0600160a060020a0360043516610639565b005b60005433600160a060020a0390811691161461025657600080fd5b600160a060020a038116151561026b57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a039081169116146102b357600080fd5b60025b60005460a060020a900460ff1660028111156102ce57fe5b146102d857600080fd5b600054600160a060020a0316ff5b5b565b7302d408bc203921646eca69b555524df3c7f3a8d781565b60025433600160a060020a0390811691161461031c57600080fd5b60005b60005460a060020a900460ff16600281111561033757fe5b1461034157600080fd5b600080546001919074ff0000000000000000000000000000000000000000191660a060020a835b02179055507f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8960405160405180910390a15b5b565b600054600160a060020a031681565b60005460a060020a900460ff1681565b60025460009033600160a060020a039081169116146103da57600080fd5b600160a060020a03821615156103ef57600080fd5b60005b60005460a060020a900460ff16600281111561040a57fe5b1461041457600080fd5b600080546002919074ff0000000000000000000000000000000000000000191660a060020a835b02179055507f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a60405160405180910390a1610487600160a060020a03301631606463ffffffff6106eb16565b9050600160a060020a03821681156108fc0282604051600060405180830381858888f1935050505015156104ba57600080fd5b7302d408bc203921646eca69b555524df3c7f3a8d730600160a060020a03163180156108fc0290604051600060405180830381858888f19350505050151561050157600080fd5b5b5b5050565b60016020526000908152604090205481565b60005433600160a060020a0390811691161461053457600080fd5b600160a060020a038116151561054957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60025433600160a060020a039081169116146105cd57600080fd5b60005b60005460a060020a900460ff1660028111156105e857fe5b146105f257600080fd5b600160a060020a03811660009081526001602052604090205461061b903463ffffffff61070716565b600160a060020a0382166000908152600160205260409020555b5b50565b600060015b60005460a060020a900460ff16600281111561065657fe5b1461066057600080fd5b50600160a060020a038116600081815260016020526040808220805492905590919082156108fc0290839051600060405180830381858888f1935050505015156106a957600080fd5b81600160a060020a03167fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d06518260405190815260200160405180910390a25b5050565b60008082848115156106f957fe5b0490508091505b5092915050565b60008282018381101561071957600080fd5b8091505b50929150505600a165627a7a723058201b233cabb4bb6b94b6445db94febb7e150e9be026a77d340b0a4d5a33692ecbc0029

Swarm Source

bzzr://1b233cabb4bb6b94b6445db94febb7e150e9be026a77d340b0a4d5a33692ecbc

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  ]
[ 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.