Source Code
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 11825187 | 1864 days ago | 0.4 ETH | ||||
| - | 7312212 | 2571 days ago | 0.55 ETH | ||||
| - | 7252993 | 2582 days ago | 0.75 ETH | ||||
| - | 7240550 | 2585 days ago | 2 ETH | ||||
| - | 7117478 | 2612 days ago | 2 ETH | ||||
| - | 7059543 | 2622 days ago | 2.4 ETH | ||||
| - | 7044757 | 2625 days ago | 0.5 ETH | ||||
| - | 7024916 | 2629 days ago | 1 ETH | ||||
| - | 6970773 | 2638 days ago | 0.25 ETH | ||||
| - | 6969531 | 2638 days ago | 0.3 ETH | ||||
| - | 6967746 | 2639 days ago | 1.05 ETH | ||||
| - | 6964724 | 2639 days ago | 0.11 ETH | ||||
| - | 6964596 | 2639 days ago | 0.126 ETH | ||||
| - | 6964090 | 2639 days ago | 1.84 ETH | ||||
| - | 6963433 | 2639 days ago | 1 ETH | ||||
| Transfer | 6676809 | 2687 days ago | 0.32 ETH | ||||
| Transfer | 6523163 | 2712 days ago | 2 ETH | ||||
| Transfer | 6305056 | 2748 days ago | 1.05 ETH | ||||
| Transfer | 6302427 | 2748 days ago | 0.55 ETH | ||||
| Transfer | 6284008 | 2751 days ago | 2 ETH | ||||
| Transfer | 6248067 | 2757 days ago | 3 ETH | ||||
| Transfer | 6185864 | 2768 days ago | 0.5 ETH | ||||
| Transfer | 6183018 | 2768 days ago | 1.84 ETH | ||||
| Transfer | 6093739 | 2783 days ago | 0.1 ETH | ||||
| Transfer | 6021414 | 2796 days ago | 0.126 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
RefundVault
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-06-22
*/
/*************************************************************************
* This contract has been merged with solidify
* https://github.com/tiesnetwork/solidify
*************************************************************************/
pragma solidity ^0.4.18;
/*************************************************************************
* import "../math/SafeMath.sol" : start
*************************************************************************/
/**
* @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;
}
}
/*************************************************************************
* import "../math/SafeMath.sol" : end
*************************************************************************/
/*************************************************************************
* import "../ownership/Ownable.sol" : start
*************************************************************************/
/**
* @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;
}
}
/*************************************************************************
* import "../ownership/Ownable.sol" : end
*************************************************************************/
/**
* @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 RefundVault is Ownable {
using SafeMath for uint256;
enum State { Active, Refunding, Closed }
mapping (address => uint256) public deposited;
address public wallet;
State public state;
event Closed();
event RefundsEnabled();
event Refunded(address indexed beneficiary, uint256 weiAmount);
function RefundVault(address _wallet) public {
require(_wallet != address(0));
wallet = _wallet;
state = State.Active;
}
function deposit(address investor) onlyOwner public payable {
require(state == State.Active);
deposited[investor] = deposited[investor].add(msg.value);
}
function close() onlyOwner public {
require(state == State.Active);
state = State.Closed;
Closed();
wallet.transfer(this.balance);
}
function enableRefunds() onlyOwner public {
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);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"enableRefunds","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":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"deposited","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"}],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"investor","type":"address"}],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","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"}]Contract Creation Code
608060405234801561001057600080fd5b506040516020806105fe833981016040525160008054600160a060020a03191633179055600160a060020a038116151561004957600080fd5b60028054600160a060020a031916600160a060020a03929092169190911760a060020a60ff021916905561057c806100826000396000f3006080604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166343d726d6811461009d578063521eb273146100b45780638c52dc41146100e55780638da5cb5b146100fa578063c19d93fb1461010f578063cb13cddb14610148578063f2fde38b1461017b578063f340fa011461019c578063fa89401a146101b0575b600080fd5b3480156100a957600080fd5b506100b26101d1565b005b3480156100c057600080fd5b506100c96102a7565b60408051600160a060020a039092168252519081900360200190f35b3480156100f157600080fd5b506100b26102b6565b34801561010657600080fd5b506100c9610340565b34801561011b57600080fd5b5061012461034f565b6040518082600281111561013457fe5b60ff16815260200191505060405180910390f35b34801561015457600080fd5b50610169600160a060020a036004351661035f565b60408051918252519081900360200190f35b34801561018757600080fd5b506100b2600160a060020a0360043516610371565b6100b2600160a060020a0360043516610405565b3480156101bc57600080fd5b506100b2600160a060020a0360043516610485565b600054600160a060020a031633146101e857600080fd5b60006002805460a060020a900460ff169081111561020257fe5b1461020c57600080fd5b6002805474ff00000000000000000000000000000000000000001916740200000000000000000000000000000000000000001790556040517f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a90600090a1600254604051600160a060020a0390911690303180156108fc02916000818181858888f193505050501580156102a4573d6000803e3d6000fd5b50565b600254600160a060020a031681565b600054600160a060020a031633146102cd57600080fd5b60006002805460a060020a900460ff16908111156102e757fe5b146102f157600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8990600090a1565b600054600160a060020a031681565b60025460a060020a900460ff1681565b60016020526000908152604090205481565b600054600160a060020a0316331461038857600080fd5b600160a060020a038116151561039d57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461041c57600080fd5b60006002805460a060020a900460ff169081111561043657fe5b1461044057600080fd5b600160a060020a038116600090815260016020526040902054610469903463ffffffff61053a16565b600160a060020a03909116600090815260016020526040902055565b600060016002805460a060020a900460ff16908111156104a157fe5b146104ab57600080fd5b50600160a060020a038116600081815260016020526040808220805490839055905190929183156108fc02918491818181858888f193505050501580156104f6573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651919081900360200190a25050565b60008282018381101561054957fe5b93925050505600a165627a7a7230582080d3aad804e44271b0c44cc5dd96cc0e4e0ad588ff58b4e156f06e4ba28df4d20029000000000000000000000000d8d3b694907a0ea26db1bc91ad4f36b3a89cb1cb
Deployed Bytecode
0x6080604052600436106100985763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166343d726d6811461009d578063521eb273146100b45780638c52dc41146100e55780638da5cb5b146100fa578063c19d93fb1461010f578063cb13cddb14610148578063f2fde38b1461017b578063f340fa011461019c578063fa89401a146101b0575b600080fd5b3480156100a957600080fd5b506100b26101d1565b005b3480156100c057600080fd5b506100c96102a7565b60408051600160a060020a039092168252519081900360200190f35b3480156100f157600080fd5b506100b26102b6565b34801561010657600080fd5b506100c9610340565b34801561011b57600080fd5b5061012461034f565b6040518082600281111561013457fe5b60ff16815260200191505060405180910390f35b34801561015457600080fd5b50610169600160a060020a036004351661035f565b60408051918252519081900360200190f35b34801561018757600080fd5b506100b2600160a060020a0360043516610371565b6100b2600160a060020a0360043516610405565b3480156101bc57600080fd5b506100b2600160a060020a0360043516610485565b600054600160a060020a031633146101e857600080fd5b60006002805460a060020a900460ff169081111561020257fe5b1461020c57600080fd5b6002805474ff00000000000000000000000000000000000000001916740200000000000000000000000000000000000000001790556040517f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a90600090a1600254604051600160a060020a0390911690303180156108fc02916000818181858888f193505050501580156102a4573d6000803e3d6000fd5b50565b600254600160a060020a031681565b600054600160a060020a031633146102cd57600080fd5b60006002805460a060020a900460ff16908111156102e757fe5b146102f157600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b8990600090a1565b600054600160a060020a031681565b60025460a060020a900460ff1681565b60016020526000908152604090205481565b600054600160a060020a0316331461038857600080fd5b600160a060020a038116151561039d57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a0316331461041c57600080fd5b60006002805460a060020a900460ff169081111561043657fe5b1461044057600080fd5b600160a060020a038116600090815260016020526040902054610469903463ffffffff61053a16565b600160a060020a03909116600090815260016020526040902055565b600060016002805460a060020a900460ff16908111156104a157fe5b146104ab57600080fd5b50600160a060020a038116600081815260016020526040808220805490839055905190929183156108fc02918491818181858888f193505050501580156104f6573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651919081900360200190a25050565b60008282018381101561054957fe5b93925050505600a165627a7a7230582080d3aad804e44271b0c44cc5dd96cc0e4e0ad588ff58b4e156f06e4ba28df4d20029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d8d3b694907a0ea26db1bc91ad4f36b3a89cb1cb
-----Decoded View---------------
Arg [0] : _wallet (address): 0xd8D3B694907A0eA26dB1Bc91AD4f36B3A89cB1Cb
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d8d3b694907a0ea26db1bc91ad4f36b3a89cb1cb
Swarm Source
bzzr://80d3aad804e44271b0c44cc5dd96cc0e4e0ad588ff58b4e156f06e4ba28df4d2
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.