Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 11 from a total of 11 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw | 7090495 | 2592 days ago | IN | 0 ETH | 0.00020999 | ||||
| Payment Settle | 7090490 | 2592 days ago | IN | 0 ETH | 0.00015191 | ||||
| Withdraw | 7090199 | 2592 days ago | IN | 0 ETH | 0.00005859 | ||||
| Deposit | 7082455 | 2593 days ago | IN | 0.4 ETH | 0.0015928 | ||||
| Withdraw | 7082354 | 2593 days ago | IN | 0 ETH | 0.00011129 | ||||
| Withdraw | 7082347 | 2593 days ago | IN | 0 ETH | 0.00008399 | ||||
| Withdraw | 7082326 | 2593 days ago | IN | 0 ETH | 0.00009082 | ||||
| Payment Settle | 7078814 | 2594 days ago | IN | 0 ETH | 0.0001381 | ||||
| Payment Settle | 7078812 | 2594 days ago | IN | 0 ETH | 0.0001381 | ||||
| Payment Fork | 7049944 | 2599 days ago | IN | 0 ETH | 0.00100422 | ||||
| Deposit | 7049929 | 2599 days ago | IN | 1 ETH | 0.00052284 |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Syndicate
Compiler Version
v0.5.0+commit.1d4f565a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-01-12
*/
pragma solidity ^0.5.0;
/**
* Syndicate
*
* A way to distribute ownership of ether in time
**/
contract Syndicate {
mapping (address => uint256) public balances;
struct Payment {
address sender;
address payable receiver;
uint256 timestamp;
uint256 time;
uint256 weiValue;
uint256 weiPaid;
bool isFork;
uint256 parentIndex;
}
Payment[] public payments;
// A mapping of Payment index to forked payments that have been created
mapping (uint256 => uint256[2]) public forkIndexes;
event PaymentUpdated(uint256 index);
event PaymentCreated(uint256 index);
event BalanceUpdated(address payable target);
/**
* Deposit to a given address over a certain amount of time.
**/
function deposit(address payable _receiver, uint256 _time) external payable {
balances[msg.sender] += msg.value;
emit BalanceUpdated(msg.sender);
pay(_receiver, msg.value, _time);
}
/**
* Pay from sender to receiver a certain amount over a certain amount of time.
**/
function pay(address payable _receiver, uint256 _weiValue, uint256 _time) public {
// Verify that the balance is there and value is non-zero
require(_weiValue <= balances[msg.sender] && _weiValue > 0);
// Verify the time is non-zero
require(_time > 0);
payments.push(Payment({
sender: msg.sender,
receiver: _receiver,
timestamp: block.timestamp,
time: _time,
weiValue: _weiValue,
weiPaid: 0,
isFork: false,
parentIndex: 0
}));
// Update the balance value of the sender to effectively lock the funds in place
balances[msg.sender] -= _weiValue;
emit BalanceUpdated(msg.sender);
emit PaymentCreated(payments.length - 1);
}
/**
* Settle an individual payment at the current point in time.
*
* Can be called idempotently.
**/
function paymentSettle(uint256 index) public {
uint256 owedWei = paymentWeiOwed(index);
balances[payments[index].receiver] += owedWei;
emit BalanceUpdated(payments[index].receiver);
payments[index].weiPaid += owedWei;
emit PaymentUpdated(index);
}
/**
* Return the wei owed on a payment at the current block timestamp.
**/
function paymentWeiOwed(uint256 index) public view returns (uint256) {
assertPaymentIndexInRange(index);
Payment memory payment = payments[index];
// Calculate owed wei based on current time and total wei owed/paid
return max(payment.weiPaid, payment.weiValue * min(block.timestamp - payment.timestamp, payment.time) / payment.time) - payment.weiPaid;
}
/**
* Forks a payment to another address for the duration of a payment. Allows
* responsibility of funds to be delegated to other addresses by payment
* recipient.
*
* Payment completion time is unaffected by forking, the only thing that
* changes is recipient.
*
* Payments can be forked until weiValue is 0, at which point the Payment is
* settled. Child payments can also be forked.
**/
function paymentFork(uint256 index, address payable _receiver, uint256 _weiValue) public {
Payment memory payment = payments[index];
// Make sure the payment owner is operating
require(msg.sender == payment.receiver);
uint256 remainingWei = payment.weiValue - payment.weiPaid;
uint256 remainingTime = max(0, payment.time - (block.timestamp - payment.timestamp));
// Ensure there is enough unsettled wei in the payment
require(remainingWei >= _weiValue);
require(_weiValue > 0);
// Create a new Payment of _weiValue to _receiver over the remaining time of
// Payment at index
payments[index].weiValue = payments[index].weiPaid;
emit PaymentUpdated(index);
payments.push(Payment({
sender: msg.sender,
receiver: _receiver,
timestamp: block.timestamp,
time: remainingTime,
weiValue: _weiValue,
weiPaid: 0,
isFork: true,
parentIndex: index
}));
forkIndexes[index][0] = payments.length - 1;
emit PaymentCreated(payments.length - 1);
payments.push(Payment({
sender: payment.receiver,
receiver: payment.receiver,
timestamp: block.timestamp,
time: remainingTime,
weiValue: remainingWei - _weiValue,
weiPaid: 0,
isFork: true,
parentIndex: index
}));
forkIndexes[index][1] = payments.length - 1;
emit PaymentCreated(payments.length - 1);
}
function paymentForkIndexes(uint256 index) public view returns (uint256[2] memory) {
assertPaymentIndexInRange(index);
return forkIndexes[index];
}
function isPaymentForked(uint256 index) public view returns (bool) {
assertPaymentIndexInRange(index);
return forkIndexes[index][0] != 0 && forkIndexes[index][1] != 0;
}
/**
* Accessor for determining if a given payment is fully settled.
**/
function isPaymentSettled(uint256 index) public view returns (bool) {
assertPaymentIndexInRange(index);
Payment memory payment = payments[index];
return payment.weiValue == payment.weiPaid;
}
/**
* Reverts if the supplied payment index is out of range
**/
function assertPaymentIndexInRange(uint256 index) public view {
require(index < payments.length);
}
/**
* Withdraw target address balance from Syndicate to ether.
**/
function withdraw(address payable target, uint256 weiValue) public {
require(balances[target] >= weiValue);
balances[target] -= weiValue;
emit BalanceUpdated(target);
target.transfer(weiValue);
}
/**
* One argument, target address.
**/
function withdraw(address payable target) public {
withdraw(target, balances[target]);
}
/**
* No arguments, withdraws full balance to sender from sender balance.
**/
function withdraw() public {
withdraw(msg.sender, balances[msg.sender]);
}
/**
* Accessor for array length
**/
function paymentCount() public view returns (uint) {
return payments.length;
}
/**
* Return the smaller of two values.
**/
function min(uint a, uint b) private pure returns (uint) {
return a < b ? a : b;
}
/**
* Return the larger of two values.
**/
function max(uint a, uint b) private pure returns (uint) {
return a > b ? a : b;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"paymentCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"isPaymentForked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_time","type":"uint256"}],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"paymentWeiOwed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_weiValue","type":"uint256"},{"name":"_time","type":"uint256"}],"name":"pay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"forkIndexes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"isPaymentSettled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"paymentSettle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"payments","outputs":[{"name":"sender","type":"address"},{"name":"receiver","type":"address"},{"name":"timestamp","type":"uint256"},{"name":"time","type":"uint256"},{"name":"weiValue","type":"uint256"},{"name":"weiPaid","type":"uint256"},{"name":"isFork","type":"bool"},{"name":"parentIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"paymentForkIndexes","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"_receiver","type":"address"},{"name":"_weiValue","type":"uint256"}],"name":"paymentFork","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"assertPaymentIndexInRange","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"weiValue","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"}],"name":"PaymentUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint256"}],"name":"PaymentCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"}],"name":"BalanceUpdated","type":"event"}]Contract Creation Code
608060405234801561001057600080fd5b50611921806100206000396000f3fe6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630937e68a146100eb57806327e235e3146101165780633ccfd60b1461017b578063421d72e21461019257806347e7ef24146101e557806351cff8d91461023357806356daf2c1146102845780635f065346146102d357806360c140d9146103385780637841b7801461039157806379ff69d9146103e457806387d817891461041f5780639042aa27146104fb57806396b1bbbe14610572578063e48a1d60146105d7578063f3fef3a314610612575b600080fd5b3480156100f757600080fd5b5061010061066d565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b506101656004803603602081101561013957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061067a565b6040518082815260200191505060405180910390f35b34801561018757600080fd5b50610190610692565b005b34801561019e57600080fd5b506101cb600480360360208110156101b557600080fd5b81019080803590602001909291905050506106dc565b604051808215151515815260200191505060405180910390f35b610231600480360360408110156101fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610744565b005b34801561023f57600080fd5b506102826004803603602081101561025657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610802565b005b34801561029057600080fd5b506102bd600480360360208110156102a757600080fd5b810190808035906020019092919050505061084d565b6040518082815260200191505060405180910390f35b3480156102df57600080fd5b50610336600480360360608110156102f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506109c9565b005b34801561034457600080fd5b5061037b6004803603604081101561035b57600080fd5b810190808035906020019092919080359060200190929190505050610c9f565b6040518082815260200191505060405180910390f35b34801561039d57600080fd5b506103ca600480360360208110156103b457600080fd5b8101908080359060200190929190505050610cc6565b604051808215151515815260200191505060405180910390f35b3480156103f057600080fd5b5061041d6004803603602081101561040757600080fd5b8101908080359060200190929190505050610e11565b005b34801561042b57600080fd5b506104586004803603602081101561044257600080fd5b8101908080359060200190929190505050610fb6565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001848152602001831515151581526020018281526020019850505050505050505060405180910390f35b34801561050757600080fd5b506105346004803603602081101561051e57600080fd5b810190808035906020019092919050505061105a565b6040518082600260200280838360005b8381101561055f578082015181840152602081019050610544565b5050505090500191505060405180910390f35b34801561057e57600080fd5b506105d56004803603606081101561059557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110c1565b005b3480156105e357600080fd5b50610610600480360360208110156105fa57600080fd5b81019080803590602001909291905050506116d0565b005b34801561061e57600080fd5b5061066b6004803603604081101561063557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116e6565b005b6000600180549050905090565b60006020528060005260406000206000915090505481565b6106da336000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e6565b565b60006106e7826116d0565b600060026000848152602001908152602001600020600060028110151561070a57fe5b01541415801561073d5750600060026000848152602001908152602001600020600160028110151561073857fe5b015414155b9050919050565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16107fe8234836109c9565b5050565b61084a816000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e6565b50565b6000610858826116d0565b61086061185f565b60018381548110151561086f57fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152505090508060a001516109c08260a0015183606001516109ab85604001514203866060015161182d565b8560800151028115156109ba57fe5b04611846565b03915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158015610a175750600082115b1515610a2257600080fd5b600081111515610a3157600080fd5b6001610100604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018381526020018481526020016000815260200160001515815260200160008152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1505050565b600260205281600052604060002081600281101515610cba57fe5b01600091509150505481565b6000610cd1826116d0565b610cd961185f565b600183815481101515610ce857fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152505090508060a00151816080015114915050919050565b6000610e1c8261084d565b905080600080600185815481101515610e3157fe5b906000526020600020906008020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa07624600183815481101515610eda57fe5b906000526020600020906008020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a180600183815481101515610f5d57fe5b9060005260206000209060080201600501600082825401925050819055507f4eed8cfa0602bd25527039457fcd1ed279611aac9f849fbc0502823cf06c5074826040518082815260200191505060405180910390a15050565b600181815481101515610fc557fe5b90600052602060002090600802016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050154908060060160009054906101000a900460ff16908060070154905088565b6110626118d3565b61106b826116d0565b600260008381526020019081526020016000206002806020026040519081016040528092919082600280156110b5576020028201915b8154815260200190600101908083116110a1575b50505050509050919050565b6110c961185f565b6001848154811015156110d857fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff161515151581526020016007820154815250509050806020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122c57600080fd5b60008160a0015182608001510390506000611254600084604001514203856060015103611846565b905083821015151561126557600080fd5b60008411151561127457600080fd5b60018681548110151561128357fe5b9060005260206000209060080201600501546001878154811015156112a457fe5b9060005260206000209060080201600401819055507f4eed8cfa0602bd25527039457fcd1ed279611aac9f849fbc0502823cf06c5074866040518082815260200191505060405180910390a16001610100604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff16815260200142815260200183815260200186815260200160008152602001600115158152602001888152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050600180805490500360026000888152602001908152602001600020600060028110151561149457fe5b01819055507f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1600161010060405190810160405280856020015173ffffffffffffffffffffffffffffffffffffffff168152602001856020015173ffffffffffffffffffffffffffffffffffffffff168152602001428152602001838152602001868503815260200160008152602001600115158152602001888152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050600180805490500360026000888152602001908152602001600020600160028110151561168557fe5b01819055507f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1505050505050565b600180549050811015156116e357600080fd5b50565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561173357600080fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762482604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611828573d6000803e3d6000fd5b505050565b600081831061183c578161183e565b825b905092915050565b60008183116118555781611857565b825b905092915050565b61010060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b604080519081016040528060029060208202803883398082019150509050509056fea165627a7a7230582052b27c8800c8f93463f40676cbb5c1dcf2e1184266fcfda948142b53def943e00029
Deployed Bytecode
0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630937e68a146100eb57806327e235e3146101165780633ccfd60b1461017b578063421d72e21461019257806347e7ef24146101e557806351cff8d91461023357806356daf2c1146102845780635f065346146102d357806360c140d9146103385780637841b7801461039157806379ff69d9146103e457806387d817891461041f5780639042aa27146104fb57806396b1bbbe14610572578063e48a1d60146105d7578063f3fef3a314610612575b600080fd5b3480156100f757600080fd5b5061010061066d565b6040518082815260200191505060405180910390f35b34801561012257600080fd5b506101656004803603602081101561013957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061067a565b6040518082815260200191505060405180910390f35b34801561018757600080fd5b50610190610692565b005b34801561019e57600080fd5b506101cb600480360360208110156101b557600080fd5b81019080803590602001909291905050506106dc565b604051808215151515815260200191505060405180910390f35b610231600480360360408110156101fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610744565b005b34801561023f57600080fd5b506102826004803603602081101561025657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610802565b005b34801561029057600080fd5b506102bd600480360360208110156102a757600080fd5b810190808035906020019092919050505061084d565b6040518082815260200191505060405180910390f35b3480156102df57600080fd5b50610336600480360360608110156102f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506109c9565b005b34801561034457600080fd5b5061037b6004803603604081101561035b57600080fd5b810190808035906020019092919080359060200190929190505050610c9f565b6040518082815260200191505060405180910390f35b34801561039d57600080fd5b506103ca600480360360208110156103b457600080fd5b8101908080359060200190929190505050610cc6565b604051808215151515815260200191505060405180910390f35b3480156103f057600080fd5b5061041d6004803603602081101561040757600080fd5b8101908080359060200190929190505050610e11565b005b34801561042b57600080fd5b506104586004803603602081101561044257600080fd5b8101908080359060200190929190505050610fb6565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001868152602001858152602001848152602001831515151581526020018281526020019850505050505050505060405180910390f35b34801561050757600080fd5b506105346004803603602081101561051e57600080fd5b810190808035906020019092919050505061105a565b6040518082600260200280838360005b8381101561055f578082015181840152602081019050610544565b5050505090500191505060405180910390f35b34801561057e57600080fd5b506105d56004803603606081101561059557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110c1565b005b3480156105e357600080fd5b50610610600480360360208110156105fa57600080fd5b81019080803590602001909291905050506116d0565b005b34801561061e57600080fd5b5061066b6004803603604081101561063557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116e6565b005b6000600180549050905090565b60006020528060005260406000206000915090505481565b6106da336000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e6565b565b60006106e7826116d0565b600060026000848152602001908152602001600020600060028110151561070a57fe5b01541415801561073d5750600060026000848152602001908152602001600020600160028110151561073857fe5b015414155b9050919050565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a16107fe8234836109c9565b5050565b61084a816000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116e6565b50565b6000610858826116d0565b61086061185f565b60018381548110151561086f57fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152505090508060a001516109c08260a0015183606001516109ab85604001514203866060015161182d565b8560800151028115156109ba57fe5b04611846565b03915050919050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211158015610a175750600082115b1515610a2257600080fd5b600081111515610a3157600080fd5b6001610100604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018381526020018481526020016000815260200160001515815260200160008152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1505050565b600260205281600052604060002081600281101515610cba57fe5b01600091509150505481565b6000610cd1826116d0565b610cd961185f565b600183815481101515610ce857fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff1615151515815260200160078201548152505090508060a00151816080015114915050919050565b6000610e1c8261084d565b905080600080600185815481101515610e3157fe5b906000526020600020906008020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa07624600183815481101515610eda57fe5b906000526020600020906008020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a180600183815481101515610f5d57fe5b9060005260206000209060080201600501600082825401925050819055507f4eed8cfa0602bd25527039457fcd1ed279611aac9f849fbc0502823cf06c5074826040518082815260200191505060405180910390a15050565b600181815481101515610fc557fe5b90600052602060002090600802016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154908060040154908060050154908060060160009054906101000a900460ff16908060070154905088565b6110626118d3565b61106b826116d0565b600260008381526020019081526020016000206002806020026040519081016040528092919082600280156110b5576020028201915b8154815260200190600101908083116110a1575b50505050509050919050565b6110c961185f565b6001848154811015156110d857fe5b906000526020600020906008020161010060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff161515151581526020016007820154815250509050806020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122c57600080fd5b60008160a0015182608001510390506000611254600084604001514203856060015103611846565b905083821015151561126557600080fd5b60008411151561127457600080fd5b60018681548110151561128357fe5b9060005260206000209060080201600501546001878154811015156112a457fe5b9060005260206000209060080201600401819055507f4eed8cfa0602bd25527039457fcd1ed279611aac9f849fbc0502823cf06c5074866040518082815260200191505060405180910390a16001610100604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff16815260200142815260200183815260200186815260200160008152602001600115158152602001888152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050600180805490500360026000888152602001908152602001600020600060028110151561149457fe5b01819055507f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1600161010060405190810160405280856020015173ffffffffffffffffffffffffffffffffffffffff168152602001856020015173ffffffffffffffffffffffffffffffffffffffff168152602001428152602001838152602001868503815260200160008152602001600115158152602001888152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555060e08201518160070155505050600180805490500360026000888152602001908152602001600020600160028110151561168557fe5b01819055507f52abc2220e71c35c28bb3b3423a7403d5ce4f808dd7ac2c12d1c8e16ae01a19f60018080549050036040518082815260200191505060405180910390a1505050505050565b600180549050811015156116e357600080fd5b50565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561173357600080fd5b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f13bc0fcf14f8f3ca0cb562786d0618c57a13e52bbdb4c041763d96acbfa0762482604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611828573d6000803e3d6000fd5b505050565b600081831061183c578161183e565b825b905092915050565b60008183116118555781611857565b825b905092915050565b61010060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600015158152602001600081525090565b604080519081016040528060029060208202803883398082019150509050509056fea165627a7a7230582052b27c8800c8f93463f40676cbb5c1dcf2e1184266fcfda948142b53def943e00029
Swarm Source
bzzr://52b27c8800c8f93463f40676cbb5c1dcf2e1184266fcfda948142b53def943e0
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 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.