Source Code
Latest 25 from a total of 35 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Submit Transacti... | 7278535 | 2563 days ago | IN | 0 ETH | 0.00204562 | ||||
| Confirm Transact... | 7237080 | 2573 days ago | IN | 0 ETH | 0.00114842 | ||||
| Change Requireme... | 7237080 | 2573 days ago | IN | 0 ETH | 0.00017592 | ||||
| Replace Owner | 7236608 | 2573 days ago | IN | 0 ETH | 0.00044642 | ||||
| Remove Owner | 7236608 | 2573 days ago | IN | 0 ETH | 0.00043572 | ||||
| Confirm Transact... | 7236460 | 2573 days ago | IN | 0 ETH | 0.0020261 | ||||
| Submit Transacti... | 7236431 | 2573 days ago | IN | 0 ETH | 0.00379587 | ||||
| Change Requireme... | 7236428 | 2573 days ago | IN | 0 ETH | 0.00054977 | ||||
| Submit Transacti... | 7236207 | 2573 days ago | IN | 0 ETH | 0.00426024 | ||||
| Confirm Transact... | 7225719 | 2575 days ago | IN | 0 ETH | 0.00519055 | ||||
| Submit Transacti... | 7225714 | 2575 days ago | IN | 0 ETH | 0.00347278 | ||||
| Execute Transact... | 7225667 | 2575 days ago | IN | 0 ETH | 0.0002098 | ||||
| Confirm Transact... | 7225660 | 2575 days ago | IN | 0 ETH | 0.00466545 | ||||
| Submit Transacti... | 7225655 | 2575 days ago | IN | 0 ETH | 0.00779647 | ||||
| Execute Transact... | 7225650 | 2575 days ago | IN | 0 ETH | 0.0002098 | ||||
| Confirm Transact... | 7225646 | 2575 days ago | IN | 0 ETH | 0.00466545 | ||||
| Submit Transacti... | 7225638 | 2575 days ago | IN | 0 ETH | 0.00086691 | ||||
| Confirm Transact... | 7225560 | 2575 days ago | IN | 0 ETH | 0.0032399 | ||||
| Submit Transacti... | 7225549 | 2575 days ago | IN | 0 ETH | 0.01247436 | ||||
| Execute Transact... | 7225502 | 2575 days ago | IN | 0 ETH | 0.00302112 | ||||
| Confirm Transact... | 7225495 | 2575 days ago | IN | 0 ETH | 0.00466545 | ||||
| Submit Transacti... | 7225462 | 2575 days ago | IN | 0 ETH | 0.00866275 | ||||
| Submit Transacti... | 7225421 | 2575 days ago | IN | 0 ETH | 0.00072284 | ||||
| Submit Transacti... | 7225384 | 2575 days ago | IN | 0 ETH | 0.00072284 | ||||
| Confirm Transact... | 7223499 | 2576 days ago | IN | 0 ETH | 0.00177632 |
Latest 18 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 7278535 | 2563 days ago | 2.2335 ETH | ||||
| - | 7275483 | 2564 days ago | 0.5 ETH | ||||
| - | 7275240 | 2564 days ago | 0.06 ETH | ||||
| - | 7270551 | 2565 days ago | 0.49 ETH | ||||
| - | 7270386 | 2565 days ago | 0.05 ETH | ||||
| - | 7266915 | 2566 days ago | 0.05 ETH | ||||
| - | 7266568 | 2566 days ago | 0.19 ETH | ||||
| - | 7266165 | 2566 days ago | 0.01 ETH | ||||
| - | 7265951 | 2566 days ago | 0.39 ETH | ||||
| - | 7265312 | 2566 days ago | 0.1 ETH | ||||
| - | 7253733 | 2569 days ago | 0.08 ETH | ||||
| - | 7248360 | 2570 days ago | 0.2 ETH | ||||
| - | 7244082 | 2571 days ago | 0.0045 ETH | ||||
| - | 7243745 | 2571 days ago | 0.009 ETH | ||||
| - | 7241200 | 2572 days ago | 0.05 ETH | ||||
| - | 7241143 | 2572 days ago | 0.05 ETH | ||||
| - | 7236207 | 2573 days ago | 0.2 ETH | ||||
| - | 7235870 | 2573 days ago | 0.2 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MultiSigWalletWithDailyLimit
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-02-13
*/
pragma solidity ^0.4.15;
/// https://github.com/gnosis/MultiSigWallet/blob/master/LICENSE
/// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.
/// @author Stefan George - <stefan.george@consensys.net>
contract MultiSigWallet {
/*
* Events
*/
event Confirmation(address indexed sender, uint indexed transactionId);
event Revocation(address indexed sender, uint indexed transactionId);
event Submission(uint indexed transactionId);
event Execution(uint indexed transactionId);
event ExecutionFailure(uint indexed transactionId);
event Deposit(address indexed sender, uint value);
event OwnerAddition(address indexed owner);
event OwnerRemoval(address indexed owner);
event RequirementChange(uint required);
/*
* Constants
*/
uint constant public MAX_OWNER_COUNT = 50;
/*
* Storage
*/
mapping (uint => Transaction) public transactions;
mapping (uint => mapping (address => bool)) public confirmations;
mapping (address => bool) public isOwner;
address[] public owners;
uint public required;
uint public transactionCount;
struct Transaction {
address destination;
uint value;
bytes data;
bool executed;
}
/*
* Modifiers
*/
modifier onlyWallet() {
require(msg.sender == address(this));
_;
}
modifier ownerDoesNotExist(address owner) {
require(!isOwner[owner]);
_;
}
modifier ownerExists(address owner) {
require(isOwner[owner]);
_;
}
modifier transactionExists(uint transactionId) {
require(transactions[transactionId].destination != 0);
_;
}
modifier confirmed(uint transactionId, address owner) {
require(confirmations[transactionId][owner]);
_;
}
modifier notConfirmed(uint transactionId, address owner) {
require(!confirmations[transactionId][owner]);
_;
}
modifier notExecuted(uint transactionId) {
require(!transactions[transactionId].executed);
_;
}
modifier notNull(address _address) {
require(_address != 0);
_;
}
modifier validRequirement(uint ownerCount, uint _required) {
require(ownerCount <= MAX_OWNER_COUNT
&& _required <= ownerCount
&& _required != 0
&& ownerCount != 0);
_;
}
/// @dev Fallback function allows to deposit ether.
function()
payable
{
if (msg.value > 0)
Deposit(msg.sender, msg.value);
}
/*
* Public functions
*/
/// @dev Contract constructor sets initial owners and required number of confirmations.
/// @param _owners List of initial owners.
/// @param _required Number of required confirmations.
function MultiSigWallet(address[] _owners, uint _required)
public
validRequirement(_owners.length, _required)
{
for (uint i=0; i<_owners.length; i++) {
require(!isOwner[_owners[i]] && _owners[i] != 0);
isOwner[_owners[i]] = true;
}
owners = _owners;
required = _required;
}
/// @dev Allows to add a new owner. Transaction has to be sent by wallet.
/// @param owner Address of new owner.
function addOwner(address owner)
public
onlyWallet
ownerDoesNotExist(owner)
notNull(owner)
validRequirement(owners.length + 1, required)
{
isOwner[owner] = true;
owners.push(owner);
OwnerAddition(owner);
}
/// @dev Allows to remove an owner. Transaction has to be sent by wallet.
/// @param owner Address of owner.
function removeOwner(address owner)
public
onlyWallet
ownerExists(owner)
{
isOwner[owner] = false;
for (uint i=0; i<owners.length - 1; i++)
if (owners[i] == owner) {
owners[i] = owners[owners.length - 1];
break;
}
owners.length -= 1;
if (required > owners.length)
changeRequirement(owners.length);
OwnerRemoval(owner);
}
/// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.
/// @param owner Address of owner to be replaced.
/// @param newOwner Address of new owner.
function replaceOwner(address owner, address newOwner)
public
onlyWallet
ownerExists(owner)
ownerDoesNotExist(newOwner)
{
for (uint i=0; i<owners.length; i++)
if (owners[i] == owner) {
owners[i] = newOwner;
break;
}
isOwner[owner] = false;
isOwner[newOwner] = true;
OwnerRemoval(owner);
OwnerAddition(newOwner);
}
/// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.
/// @param _required Number of required confirmations.
function changeRequirement(uint _required)
public
onlyWallet
validRequirement(owners.length, _required)
{
required = _required;
RequirementChange(_required);
}
/// @dev Allows an owner to submit and confirm a transaction.
/// @param destination Transaction target address.
/// @param value Transaction ether value.
/// @param data Transaction data payload.
/// @return Returns transaction ID.
function submitTransaction(address destination, uint value, bytes data)
public
returns (uint transactionId)
{
transactionId = addTransaction(destination, value, data);
confirmTransaction(transactionId);
}
/// @dev Allows an owner to confirm a transaction.
/// @param transactionId Transaction ID.
function confirmTransaction(uint transactionId)
public
ownerExists(msg.sender)
transactionExists(transactionId)
notConfirmed(transactionId, msg.sender)
{
confirmations[transactionId][msg.sender] = true;
Confirmation(msg.sender, transactionId);
executeTransaction(transactionId);
}
/// @dev Allows an owner to revoke a confirmation for a transaction.
/// @param transactionId Transaction ID.
function revokeConfirmation(uint transactionId)
public
ownerExists(msg.sender)
confirmed(transactionId, msg.sender)
notExecuted(transactionId)
{
confirmations[transactionId][msg.sender] = false;
Revocation(msg.sender, transactionId);
}
/// @dev Allows anyone to execute a confirmed transaction.
/// @param transactionId Transaction ID.
function executeTransaction(uint transactionId)
public
ownerExists(msg.sender)
confirmed(transactionId, msg.sender)
notExecuted(transactionId)
{
if (isConfirmed(transactionId)) {
Transaction storage txn = transactions[transactionId];
txn.executed = true;
if (external_call(txn.destination, txn.value, txn.data.length, txn.data))
Execution(transactionId);
else {
ExecutionFailure(transactionId);
txn.executed = false;
}
}
}
// call has been separated into its own function in order to take advantage
// of the Solidity's code generator to produce a loop that copies tx.data into memory.
function external_call(address destination, uint value, uint dataLength, bytes data) private returns (bool) {
bool result;
assembly {
let x := mload(0x40) // "Allocate" memory for output (0x40 is where "free memory" pointer is stored by convention)
let d := add(data, 32) // First 32 bytes are the padded length of data, so exclude that
result := call(
sub(gas, 34710), // 34710 is the value that solidity is currently emitting
// It includes callGas (700) + callVeryLow (3, to pay for SUB) + callValueTransferGas (9000) +
// callNewAccountGas (25000, in case the destination address does not exist and needs creating)
destination,
value,
d,
dataLength, // Size of the input (in bytes) - this is what fixes the padding problem
x,
0 // Output is ignored, therefore the output size is zero
)
}
return result;
}
/// @dev Returns the confirmation status of a transaction.
/// @param transactionId Transaction ID.
/// @return Confirmation status.
function isConfirmed(uint transactionId)
public
constant
returns (bool)
{
uint count = 0;
for (uint i=0; i<owners.length; i++) {
if (confirmations[transactionId][owners[i]])
count += 1;
if (count == required)
return true;
}
}
/*
* Internal functions
*/
/// @dev Adds a new transaction to the transaction mapping, if transaction does not exist yet.
/// @param destination Transaction target address.
/// @param value Transaction ether value.
/// @param data Transaction data payload.
/// @return Returns transaction ID.
function addTransaction(address destination, uint value, bytes data)
internal
notNull(destination)
returns (uint transactionId)
{
transactionId = transactionCount;
transactions[transactionId] = Transaction({
destination: destination,
value: value,
data: data,
executed: false
});
transactionCount += 1;
Submission(transactionId);
}
/*
* Web3 call functions
*/
/// @dev Returns number of confirmations of a transaction.
/// @param transactionId Transaction ID.
/// @return Number of confirmations.
function getConfirmationCount(uint transactionId)
public
constant
returns (uint count)
{
for (uint i=0; i<owners.length; i++)
if (confirmations[transactionId][owners[i]])
count += 1;
}
/// @dev Returns total number of transactions after filers are applied.
/// @param pending Include pending transactions.
/// @param executed Include executed transactions.
/// @return Total number of transactions after filters are applied.
function getTransactionCount(bool pending, bool executed)
public
constant
returns (uint count)
{
for (uint i=0; i<transactionCount; i++)
if ( pending && !transactions[i].executed
|| executed && transactions[i].executed)
count += 1;
}
/// @dev Returns list of owners.
/// @return List of owner addresses.
function getOwners()
public
constant
returns (address[])
{
return owners;
}
/// @dev Returns array with owner addresses, which confirmed transaction.
/// @param transactionId Transaction ID.
/// @return Returns array of owner addresses.
function getConfirmations(uint transactionId)
public
constant
returns (address[] _confirmations)
{
address[] memory confirmationsTemp = new address[](owners.length);
uint count = 0;
uint i;
for (i=0; i<owners.length; i++)
if (confirmations[transactionId][owners[i]]) {
confirmationsTemp[count] = owners[i];
count += 1;
}
_confirmations = new address[](count);
for (i=0; i<count; i++)
_confirmations[i] = confirmationsTemp[i];
}
/// @dev Returns list of transaction IDs in defined range.
/// @param from Index start position of transaction array.
/// @param to Index end position of transaction array.
/// @param pending Include pending transactions.
/// @param executed Include executed transactions.
/// @return Returns array of transaction IDs.
function getTransactionIds(uint from, uint to, bool pending, bool executed)
public
constant
returns (uint[] _transactionIds)
{
uint[] memory transactionIdsTemp = new uint[](transactionCount);
uint count = 0;
uint i;
for (i=0; i<transactionCount; i++)
if ( pending && !transactions[i].executed
|| executed && transactions[i].executed)
{
transactionIdsTemp[count] = i;
count += 1;
}
_transactionIds = new uint[](to - from);
for (i=from; i<to; i++)
_transactionIds[i - from] = transactionIdsTemp[i];
}
}
/// @title Multisignature wallet with daily limit - Allows an owner to withdraw a daily limit without multisig.
/// @author Stefan George - <stefan.george@consensys.net>
contract MultiSigWalletWithDailyLimit is MultiSigWallet {
/*
* Events
*/
event DailyLimitChange(uint dailyLimit);
/*
* Storage
*/
uint public dailyLimit;
uint public lastDay;
uint public spentToday;
/*
* Public functions
*/
/// @dev Contract constructor sets initial owners, required number of confirmations and daily withdraw limit.
/// @param _owners List of initial owners.
/// @param _required Number of required confirmations.
/// @param _dailyLimit Amount in wei, which can be withdrawn without confirmations on a daily basis.
function MultiSigWalletWithDailyLimit(address[] _owners, uint _required, uint _dailyLimit)
public
MultiSigWallet(_owners, _required)
{
dailyLimit = _dailyLimit;
}
/// @dev Allows to change the daily limit. Transaction has to be sent by wallet.
/// @param _dailyLimit Amount in wei.
function changeDailyLimit(uint _dailyLimit)
public
onlyWallet
{
dailyLimit = _dailyLimit;
DailyLimitChange(_dailyLimit);
}
/// @dev Allows anyone to execute a confirmed transaction or ether withdraws until daily limit is reached.
/// @param transactionId Transaction ID.
function executeTransaction(uint transactionId)
public
ownerExists(msg.sender)
confirmed(transactionId, msg.sender)
notExecuted(transactionId)
{
Transaction storage txn = transactions[transactionId];
bool _confirmed = isConfirmed(transactionId);
if (_confirmed || txn.data.length == 0 && isUnderLimit(txn.value)) {
txn.executed = true;
if (!_confirmed)
spentToday += txn.value;
if (txn.destination.call.value(txn.value)(txn.data))
Execution(transactionId);
else {
ExecutionFailure(transactionId);
txn.executed = false;
if (!_confirmed)
spentToday -= txn.value;
}
}
}
/*
* Internal functions
*/
/// @dev Returns if amount is within daily limit and resets spentToday after one day.
/// @param amount Amount to withdraw.
/// @return Returns if amount is under daily limit.
function isUnderLimit(uint amount)
internal
returns (bool)
{
if (now > lastDay + 24 hours) {
lastDay = now;
spentToday = 0;
}
if (spentToday + amount > dailyLimit || spentToday + amount < spentToday)
return false;
return true;
}
/*
* Web3 call functions
*/
/// @dev Returns maximum withdraw amount.
/// @return Returns amount.
function calcMaxWithdraw()
public
constant
returns (uint)
{
if (now > lastDay + 24 hours)
return dailyLimit;
if (dailyLimit < spentToday)
return 0;
return dailyLimit - spentToday;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"revokeConfirmation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"confirmations","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"calcMaxWithdraw","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dailyLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastDay","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"isConfirmed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmationCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"executed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"uint256"},{"name":"to","type":"uint256"},{"name":"pending","type":"bool"},{"name":"executed","type":"bool"}],"name":"getTransactionIds","outputs":[{"name":"_transactionIds","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"getConfirmations","outputs":[{"name":"_confirmations","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_required","type":"uint256"}],"name":"changeRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"confirmTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"destination","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"}],"name":"submitTransaction","outputs":[{"name":"transactionId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_dailyLimit","type":"uint256"}],"name":"changeDailyLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MAX_OWNER_COUNT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"required","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"newOwner","type":"address"}],"name":"replaceOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"transactionId","type":"uint256"}],"name":"executeTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"spentToday","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owners","type":"address[]"},{"name":"_required","type":"uint256"},{"name":"_dailyLimit","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"dailyLimit","type":"uint256"}],"name":"DailyLimitChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Confirmation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Revocation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Submission","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"Execution","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"transactionId","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerAddition","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"OwnerRemoval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"required","type":"uint256"}],"name":"RequirementChange","type":"event"}]Contract Creation Code
60806040523480156200001157600080fd5b506040516200189438038062001894833981016040908152815160208301519183015192018051909290839083906000908260328211801590620000555750818111155b80156200006157508015155b80156200006d57508115155b15156200007957600080fd5b600092505b845183101562000151576002600086858151811015156200009b57fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16158015620000f157508483815181101515620000d957fe5b90602001906020020151600160a060020a0316600014155b1515620000fd57600080fd5b60016002600087868151811015156200011257fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff1916911515919091179055600192909201916200007e565b8451620001669060039060208801906200017d565b505050600491909155505060065550620002119050565b828054828255906000526020600020908101928215620001d5579160200282015b82811115620001d55782518254600160a060020a031916600160a060020a039091161782556020909201916001909101906200019e565b50620001e3929150620001e7565b5090565b6200020e91905b80821115620001e3578054600160a060020a0319168155600101620001ee565b90565b61167380620002216000396000f3006080604052600436106101535763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c278114610195578063173825d9146101c957806320ea8d86146101ea5780632f54bf6e146102025780633411c81c146102375780634bc9fdc21461025b578063547415251461028257806367eeba0c146102a15780636b0c932d146102b65780637065cb48146102cb578063784547a7146102ec5780638b51d13f146103045780639ace38c21461031c578063a0e67e2b146103d7578063a8abe69a1461043c578063b5dc40c314610461578063b77bf60014610479578063ba51a6df1461048e578063c01a8c84146104a6578063c6427474146104be578063cea0862114610527578063d74f8edd1461053f578063dc8452cd14610554578063e20056e614610569578063ee22610b14610590578063f059cf2b146105a8575b60003411156101935760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b3480156101a157600080fd5b506101ad6004356105bd565b60408051600160a060020a039092168252519081900360200190f35b3480156101d557600080fd5b50610193600160a060020a03600435166105e5565b3480156101f657600080fd5b5061019360043561075c565b34801561020e57600080fd5b50610223600160a060020a0360043516610816565b604080519115158252519081900360200190f35b34801561024357600080fd5b50610223600435600160a060020a036024351661082b565b34801561026757600080fd5b5061027061084b565b60408051918252519081900360200190f35b34801561028e57600080fd5b5061027060043515156024351515610885565b3480156102ad57600080fd5b506102706108f1565b3480156102c257600080fd5b506102706108f7565b3480156102d757600080fd5b50610193600160a060020a03600435166108fd565b3480156102f857600080fd5b50610223600435610a22565b34801561031057600080fd5b50610270600435610aa6565b34801561032857600080fd5b50610334600435610b15565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610399578181015183820152602001610381565b50505050905090810190601f1680156103c65780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156103e357600080fd5b506103ec610bd3565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610428578181015183820152602001610410565b505050509050019250505060405180910390f35b34801561044857600080fd5b506103ec60043560243560443515156064351515610c35565b34801561046d57600080fd5b506103ec600435610d6e565b34801561048557600080fd5b50610270610ee7565b34801561049a57600080fd5b50610193600435610eed565b3480156104b257600080fd5b50610193600435610f6c565b3480156104ca57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610270948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110379650505050505050565b34801561053357600080fd5b50610193600435611056565b34801561054b57600080fd5b5061027061109d565b34801561056057600080fd5b506102706110a2565b34801561057557600080fd5b50610193600160a060020a03600435811690602435166110a8565b34801561059c57600080fd5b50610193600435611232565b3480156105b457600080fd5b50610270611448565b60038054829081106105cb57fe5b600091825260209091200154600160a060020a0316905081565b60003330146105f357600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561061c57600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156106f75782600160a060020a031660038381548110151561066657fe5b600091825260209091200154600160a060020a031614156106ec5760038054600019810190811061069357fe5b60009182526020909120015460038054600160a060020a0390921691849081106106b957fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055506106f7565b60019091019061063f565b60038054600019019061070a9082611586565b5060035460045411156107235760035461072390610eed565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b3360008181526002602052604090205460ff16151561077a57600080fd5b60008281526001602090815260408083203380855292529091205483919060ff1615156107a657600080fd5b600084815260208190526040902060030154849060ff16156107c757600080fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b600060075462015180014211156108655750600654610882565b600854600654101561087957506000610882565b50600854600654035b90565b6000805b6005548110156108ea578380156108b2575060008181526020819052604090206003015460ff16155b806108d657508280156108d6575060008181526020819052604090206003015460ff165b156108e2576001820191505b600101610889565b5092915050565b60065481565b60075481565b33301461090957600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561093157600080fd5b81600160a060020a038116151561094757600080fd5b600380549050600101600454603282111580156109645750818111155b801561096f57508015155b801561097a57508115155b151561098557600080fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b600354811015610a9f5760008481526001602052604081206003805491929184908110610a5057fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610a84576001820191505b600454821415610a975760019250610a9f565b600101610a27565b5050919050565b6000805b600354811015610b0f5760008381526001602052604081206003805491929184908110610ad357fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610b07576001820191505b600101610aaa565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a0390931695909491929190830182828015610bc05780601f10610b9557610100808354040283529160200191610bc0565b820191906000526020600020905b815481529060010190602001808311610ba357829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610c2b57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c0d575b5050505050905090565b606080600080600554604051908082528060200260200182016040528015610c67578160200160208202803883390190505b50925060009150600090505b600554811015610cee57858015610c9c575060008181526020819052604090206003015460ff16155b80610cc05750848015610cc0575060008181526020819052604090206003015460ff165b15610ce657808383815181101515610cd457fe5b60209081029091010152600191909101905b600101610c73565b878703604051908082528060200260200182016040528015610d1a578160200160208202803883390190505b5093508790505b86811015610d63578281815181101515610d3757fe5b9060200190602002015184898303815181101515610d5157fe5b60209081029091010152600101610d21565b505050949350505050565b606080600080600380549050604051908082528060200260200182016040528015610da3578160200160208202803883390190505b50925060009150600090505b600354811015610e605760008581526001602052604081206003805491929184908110610dd857fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610e58576003805482908110610e1357fe5b6000918252602090912001548351600160a060020a0390911690849084908110610e3957fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610daf565b81604051908082528060200260200182016040528015610e8a578160200160208202803883390190505b509350600090505b81811015610edf578281815181101515610ea857fe5b906020019060200201518482815181101515610ec057fe5b600160a060020a03909216602092830290910190910152600101610e92565b505050919050565b60055481565b333014610ef957600080fd5b6003548160328211801590610f0e5750818111155b8015610f1957508015155b8015610f2457508115155b1515610f2f57600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b3360008181526002602052604090205460ff161515610f8a57600080fd5b6000828152602081905260409020548290600160a060020a03161515610faf57600080fd5b60008381526001602090815260408083203380855292529091205484919060ff1615610fda57600080fd5b6000858152600160208181526040808420338086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361103085611232565b5050505050565b600061104484848461144e565b905061104f81610f6c565b9392505050565b33301461106257600080fd5b60068190556040805182815290517fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca29181900360200190a150565b603281565b60045481565b60003330146110b657600080fd5b600160a060020a038316600090815260026020526040902054839060ff1615156110df57600080fd5b600160a060020a038316600090815260026020526040902054839060ff161561110757600080fd5b600092505b6003548310156111985784600160a060020a031660038481548110151561112f57fe5b600091825260209091200154600160a060020a0316141561118d578360038481548110151561115a57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550611198565b60019092019161110c565b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b336000818152600260205260408120549091829160ff16151561125457600080fd5b60008481526001602090815260408083203380855292529091205485919060ff16151561128057600080fd5b600086815260208190526040902060030154869060ff16156112a157600080fd5b600087815260208190526040902095506112ba87610a22565b945084806112ed57506002808701546000196101006001831615020116041580156112ed57506112ed866001015461153e565b1561143f5760038601805460ff191660011790558415156113175760018601546008805490910190555b8560000160009054906101000a9004600160a060020a0316600160a060020a031686600101548760020160405180828054600181600116156101000203166002900480156113a65780601f1061137b576101008083540402835291602001916113a6565b820191906000526020600020905b81548152906001019060200180831161138957829003601f168201915b505091505060006040518083038185875af192505050156113f15760405187907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a261143f565b60405187907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038601805460ff1916905584151561143f576001860154600880549190910390555b50505050505050565b60085481565b600083600160a060020a038116151561146657600080fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff1916941693909317835551600183015592518051949650919390926114e69260028501929101906115af565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b60006007546201518001421115611559574260075560006008555b600654826008540111806115705750600854828101105b1561157d57506000611581565b5060015b919050565b8154818355818111156115aa576000838152602090206115aa91810190830161162d565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115f057805160ff191683800117855561161d565b8280016001018555821561161d579182015b8281111561161d578251825591602001919060010190611602565b5061162992915061162d565b5090565b61088291905b8082111561162957600081556001016116335600a165627a7a7230582064fbe7e5b217bf223d0657e3bf1adc7df7d68607a4feeb69cfbe4f43eb9eaf280029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000264d65e01c415ec0f1440822de0e3af8af63a2a6000000000000000000000000e433675bb73dc7a50650bf33e6de56bab28039da000000000000000000000000e7e084309d460b38c725c38ca7486fe98f046f4a
Deployed Bytecode
0x6080604052600436106101535763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c278114610195578063173825d9146101c957806320ea8d86146101ea5780632f54bf6e146102025780633411c81c146102375780634bc9fdc21461025b578063547415251461028257806367eeba0c146102a15780636b0c932d146102b65780637065cb48146102cb578063784547a7146102ec5780638b51d13f146103045780639ace38c21461031c578063a0e67e2b146103d7578063a8abe69a1461043c578063b5dc40c314610461578063b77bf60014610479578063ba51a6df1461048e578063c01a8c84146104a6578063c6427474146104be578063cea0862114610527578063d74f8edd1461053f578063dc8452cd14610554578063e20056e614610569578063ee22610b14610590578063f059cf2b146105a8575b60003411156101935760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b3480156101a157600080fd5b506101ad6004356105bd565b60408051600160a060020a039092168252519081900360200190f35b3480156101d557600080fd5b50610193600160a060020a03600435166105e5565b3480156101f657600080fd5b5061019360043561075c565b34801561020e57600080fd5b50610223600160a060020a0360043516610816565b604080519115158252519081900360200190f35b34801561024357600080fd5b50610223600435600160a060020a036024351661082b565b34801561026757600080fd5b5061027061084b565b60408051918252519081900360200190f35b34801561028e57600080fd5b5061027060043515156024351515610885565b3480156102ad57600080fd5b506102706108f1565b3480156102c257600080fd5b506102706108f7565b3480156102d757600080fd5b50610193600160a060020a03600435166108fd565b3480156102f857600080fd5b50610223600435610a22565b34801561031057600080fd5b50610270600435610aa6565b34801561032857600080fd5b50610334600435610b15565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610399578181015183820152602001610381565b50505050905090810190601f1680156103c65780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156103e357600080fd5b506103ec610bd3565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610428578181015183820152602001610410565b505050509050019250505060405180910390f35b34801561044857600080fd5b506103ec60043560243560443515156064351515610c35565b34801561046d57600080fd5b506103ec600435610d6e565b34801561048557600080fd5b50610270610ee7565b34801561049a57600080fd5b50610193600435610eed565b3480156104b257600080fd5b50610193600435610f6c565b3480156104ca57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610270948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506110379650505050505050565b34801561053357600080fd5b50610193600435611056565b34801561054b57600080fd5b5061027061109d565b34801561056057600080fd5b506102706110a2565b34801561057557600080fd5b50610193600160a060020a03600435811690602435166110a8565b34801561059c57600080fd5b50610193600435611232565b3480156105b457600080fd5b50610270611448565b60038054829081106105cb57fe5b600091825260209091200154600160a060020a0316905081565b60003330146105f357600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561061c57600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156106f75782600160a060020a031660038381548110151561066657fe5b600091825260209091200154600160a060020a031614156106ec5760038054600019810190811061069357fe5b60009182526020909120015460038054600160a060020a0390921691849081106106b957fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a031602179055506106f7565b60019091019061063f565b60038054600019019061070a9082611586565b5060035460045411156107235760035461072390610eed565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b3360008181526002602052604090205460ff16151561077a57600080fd5b60008281526001602090815260408083203380855292529091205483919060ff1615156107a657600080fd5b600084815260208190526040902060030154849060ff16156107c757600080fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b600060075462015180014211156108655750600654610882565b600854600654101561087957506000610882565b50600854600654035b90565b6000805b6005548110156108ea578380156108b2575060008181526020819052604090206003015460ff16155b806108d657508280156108d6575060008181526020819052604090206003015460ff165b156108e2576001820191505b600101610889565b5092915050565b60065481565b60075481565b33301461090957600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561093157600080fd5b81600160a060020a038116151561094757600080fd5b600380549050600101600454603282111580156109645750818111155b801561096f57508015155b801561097a57508115155b151561098557600080fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b600354811015610a9f5760008481526001602052604081206003805491929184908110610a5057fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610a84576001820191505b600454821415610a975760019250610a9f565b600101610a27565b5050919050565b6000805b600354811015610b0f5760008381526001602052604081206003805491929184908110610ad357fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610b07576001820191505b600101610aaa565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a0390931695909491929190830182828015610bc05780601f10610b9557610100808354040283529160200191610bc0565b820191906000526020600020905b815481529060010190602001808311610ba357829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610c2b57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610c0d575b5050505050905090565b606080600080600554604051908082528060200260200182016040528015610c67578160200160208202803883390190505b50925060009150600090505b600554811015610cee57858015610c9c575060008181526020819052604090206003015460ff16155b80610cc05750848015610cc0575060008181526020819052604090206003015460ff165b15610ce657808383815181101515610cd457fe5b60209081029091010152600191909101905b600101610c73565b878703604051908082528060200260200182016040528015610d1a578160200160208202803883390190505b5093508790505b86811015610d63578281815181101515610d3757fe5b9060200190602002015184898303815181101515610d5157fe5b60209081029091010152600101610d21565b505050949350505050565b606080600080600380549050604051908082528060200260200182016040528015610da3578160200160208202803883390190505b50925060009150600090505b600354811015610e605760008581526001602052604081206003805491929184908110610dd857fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610e58576003805482908110610e1357fe5b6000918252602090912001548351600160a060020a0390911690849084908110610e3957fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610daf565b81604051908082528060200260200182016040528015610e8a578160200160208202803883390190505b509350600090505b81811015610edf578281815181101515610ea857fe5b906020019060200201518482815181101515610ec057fe5b600160a060020a03909216602092830290910190910152600101610e92565b505050919050565b60055481565b333014610ef957600080fd5b6003548160328211801590610f0e5750818111155b8015610f1957508015155b8015610f2457508115155b1515610f2f57600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b3360008181526002602052604090205460ff161515610f8a57600080fd5b6000828152602081905260409020548290600160a060020a03161515610faf57600080fd5b60008381526001602090815260408083203380855292529091205484919060ff1615610fda57600080fd5b6000858152600160208181526040808420338086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a361103085611232565b5050505050565b600061104484848461144e565b905061104f81610f6c565b9392505050565b33301461106257600080fd5b60068190556040805182815290517fc71bdc6afaf9b1aa90a7078191d4fc1adf3bf680fca3183697df6b0dc226bca29181900360200190a150565b603281565b60045481565b60003330146110b657600080fd5b600160a060020a038316600090815260026020526040902054839060ff1615156110df57600080fd5b600160a060020a038316600090815260026020526040902054839060ff161561110757600080fd5b600092505b6003548310156111985784600160a060020a031660038481548110151561112f57fe5b600091825260209091200154600160a060020a0316141561118d578360038481548110151561115a57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550611198565b60019092019161110c565b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b336000818152600260205260408120549091829160ff16151561125457600080fd5b60008481526001602090815260408083203380855292529091205485919060ff16151561128057600080fd5b600086815260208190526040902060030154869060ff16156112a157600080fd5b600087815260208190526040902095506112ba87610a22565b945084806112ed57506002808701546000196101006001831615020116041580156112ed57506112ed866001015461153e565b1561143f5760038601805460ff191660011790558415156113175760018601546008805490910190555b8560000160009054906101000a9004600160a060020a0316600160a060020a031686600101548760020160405180828054600181600116156101000203166002900480156113a65780601f1061137b576101008083540402835291602001916113a6565b820191906000526020600020905b81548152906001019060200180831161138957829003601f168201915b505091505060006040518083038185875af192505050156113f15760405187907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a261143f565b60405187907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038601805460ff1916905584151561143f576001860154600880549190910390555b50505050505050565b60085481565b600083600160a060020a038116151561146657600080fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff1916941693909317835551600183015592518051949650919390926114e69260028501929101906115af565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b60006007546201518001421115611559574260075560006008555b600654826008540111806115705750600854828101105b1561157d57506000611581565b5060015b919050565b8154818355818111156115aa576000838152602090206115aa91810190830161162d565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106115f057805160ff191683800117855561161d565b8280016001018555821561161d579182015b8281111561161d578251825591602001919060010190611602565b5061162992915061162d565b5090565b61088291905b8082111561162957600081556001016116335600a165627a7a7230582064fbe7e5b217bf223d0657e3bf1adc7df7d68607a4feeb69cfbe4f43eb9eaf280029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000264d65e01c415ec0f1440822de0e3af8af63a2a6000000000000000000000000e433675bb73dc7a50650bf33e6de56bab28039da000000000000000000000000e7e084309d460b38c725c38ca7486fe98f046f4a
-----Decoded View---------------
Arg [0] : _owners (address[]): 0x264d65E01c415Ec0f1440822dE0e3af8af63A2A6,0xe433675Bb73dc7a50650bF33e6De56Bab28039DA,0xE7e084309d460b38C725c38Ca7486fE98f046f4A
Arg [1] : _required (uint256): 2
Arg [2] : _dailyLimit (uint256): 10000000000000000000
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [2] : 0000000000000000000000000000000000000000000000008ac7230489e80000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [4] : 000000000000000000000000264d65e01c415ec0f1440822de0e3af8af63a2a6
Arg [5] : 000000000000000000000000e433675bb73dc7a50650bf33e6de56bab28039da
Arg [6] : 000000000000000000000000e7e084309d460b38c725c38ca7486fe98f046f4a
Swarm Source
bzzr://64fbe7e5b217bf223d0657e3bf1adc7df7d68607a4feeb69cfbe4f43eb9eaf28
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 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.