Source Code
Latest 25 from a total of 707 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Unstake All Prod... | 21467714 | 426 days ago | IN | 0 ETH | 0.00337733 | ||||
| Compound Produce... | 21415560 | 433 days ago | IN | 0 ETH | 0.00370814 | ||||
| Unstake Produce ... | 21340843 | 443 days ago | IN | 0 ETH | 0.00154791 | ||||
| Compound Produce... | 21340813 | 443 days ago | IN | 0 ETH | 0.00336572 | ||||
| Unstake Produce ... | 21278548 | 452 days ago | IN | 0 ETH | 0.00160579 | ||||
| Unstake Produce ... | 21266135 | 454 days ago | IN | 0 ETH | 0.00160764 | ||||
| Unstake Produce ... | 21263731 | 454 days ago | IN | 0 ETH | 0.00178343 | ||||
| Compound Produce... | 21210800 | 461 days ago | IN | 0 ETH | 0.00162399 | ||||
| Stake Produce AI | 21163546 | 468 days ago | IN | 0 ETH | 0.00247122 | ||||
| Unstake Produce ... | 21145874 | 470 days ago | IN | 0 ETH | 0.00239896 | ||||
| Claim Rewards | 21144932 | 471 days ago | IN | 0 ETH | 0.00059746 | ||||
| Claim Rewards | 21143945 | 471 days ago | IN | 0 ETH | 0.00111409 | ||||
| Unstake Produce ... | 21139204 | 471 days ago | IN | 0 ETH | 0.00131374 | ||||
| Claim Rewards | 21139200 | 471 days ago | IN | 0 ETH | 0.00082235 | ||||
| Unstake Produce ... | 21138887 | 471 days ago | IN | 0 ETH | 0.00728349 | ||||
| Claim Rewards | 21138862 | 471 days ago | IN | 0 ETH | 0.00576998 | ||||
| Unstake Produce ... | 21135899 | 472 days ago | IN | 0 ETH | 0.00126355 | ||||
| Unstake Produce ... | 21135545 | 472 days ago | IN | 0 ETH | 0.00341467 | ||||
| Unstake Produce ... | 21135314 | 472 days ago | IN | 0 ETH | 0.0014552 | ||||
| Unstake Produce ... | 21132555 | 472 days ago | IN | 0 ETH | 0.00265247 | ||||
| Unstake Produce ... | 21132343 | 472 days ago | IN | 0 ETH | 0.00125385 | ||||
| Unstake Produce ... | 21114412 | 475 days ago | IN | 0 ETH | 0.00051859 | ||||
| Unstake Produce ... | 21101993 | 477 days ago | IN | 0 ETH | 0.00054967 | ||||
| Claim Rewards | 21101991 | 477 days ago | IN | 0 ETH | 0.0003994 | ||||
| Unstake Produce ... | 21087335 | 479 days ago | IN | 0 ETH | 0.00146585 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Swap Exact ETH F... | 21415560 | 433 days ago | 0.00138886 ETH | ||||
| Swap Exact ETH F... | 21340813 | 443 days ago | 0.02934371 ETH | ||||
| Transfer | 21263731 | 454 days ago | 0.01231538 ETH | ||||
| Swap Exact ETH F... | 21210800 | 461 days ago | 0.00173451 ETH | ||||
| Transfer | 21144932 | 471 days ago | 0.00590553 ETH | ||||
| Transfer | 21143945 | 471 days ago | 0.01070096 ETH | ||||
| Transfer | 21139200 | 471 days ago | 0.0243868 ETH | ||||
| Transfer | 21138862 | 471 days ago | 0.01013583 ETH | ||||
| Transfer | 21135545 | 472 days ago | 0.00555822 ETH | ||||
| Transfer | 21101991 | 477 days ago | 0.00468685 ETH | ||||
| Transfer | 21033394 | 486 days ago | 0.0025804 ETH | ||||
| Transfer | 21030750 | 487 days ago | 0.00346922 ETH | ||||
| Swap Exact ETH F... | 21008795 | 490 days ago | 0.03059269 ETH | ||||
| Transfer | 20997711 | 491 days ago | 0.00536741 ETH | ||||
| Transfer | 20996738 | 491 days ago | 0.0045222 ETH | ||||
| Transfer | 20994191 | 492 days ago | 0.004244 ETH | ||||
| Transfer | 20974246 | 494 days ago | 0.02084225 ETH | ||||
| Transfer | 20967045 | 495 days ago | 0.15904276 ETH | ||||
| Transfer | 20964722 | 496 days ago | 0.13869239 ETH | ||||
| Transfer | 20964643 | 496 days ago | 0.81087478 ETH | ||||
| Transfer | 20951690 | 498 days ago | 0.01440313 ETH | ||||
| Transfer | 20923595 | 501 days ago | 0.04786456 ETH | ||||
| Swap Exact ETH F... | 20905249 | 504 days ago | 0.05542212 ETH | ||||
| Swap Exact ETH F... | 20904669 | 504 days ago | 0.00594598 ETH | ||||
| Swap Exact ETH F... | 20897124 | 505 days ago | 0.00653619 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ProduceAIStaking
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-02-01
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;
library CastMath {
function int256Cast(uint256 a) internal pure returns (int256) {
int256 b = int256(a);
require(b >= 0, "unsafe int256 cast");
return b;
}
function uint256Cast(int256 a) internal pure returns (uint256) {
require(a >= 0, "unsafe uint256 cast");
return uint256(a);
}
}
interface UniSwap {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
}
abstract contract ReentrancyGuard {
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor() {
_status = _NOT_ENTERED;
}
modifier nonReentrant() {
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
_status = _ENTERED;
_;
_status = _NOT_ENTERED;
}
}
contract DividendContract {
uint256 constant internal MAGNITUDE = 2**128;
uint256 internal magnifiedDividendPerShare;
mapping(address => int256) internal magnifiedDividendCorrections;
mapping(address => uint256) internal withdrawnDividends;
mapping(address => uint256) public holderBalance;
uint256 public totalDividends;
uint256 public totalProduceAIDividendsDistributed;
event DividendsDistributed(address indexed from, uint256 amount);
event DividendWithdrawn(address indexed to, uint256 amount);
function withdrawnDividendOf(address user) external view returns(uint256) {
return withdrawnDividends[user];
}
function dividendOf(address user) public view returns(uint256) {
return accumulativeDividendOf(user) - withdrawnDividends[user];
}
function accumulativeDividendOf(address user) public view returns(uint256) {
int256 magnifiedBalance = CastMath.int256Cast(magnifiedDividendPerShare * holderBalance[user]);
uint256 correctedBalance = CastMath.uint256Cast(magnifiedBalance + magnifiedDividendCorrections[user]);
return correctedBalance / MAGNITUDE;
}
function _distributeDividends(uint amount) internal {
require(totalDividends > 0, "Nobody to distribute to");
magnifiedDividendPerShare += (amount * MAGNITUDE) / totalDividends;
emit DividendsDistributed(msg.sender, amount);
totalProduceAIDividendsDistributed += amount;
}
function _withdrawDividendOfUser(address payable user) internal {
uint256 _withdrawableDividend = dividendOf(user);
if (_withdrawableDividend == 0) {return;}
withdrawnDividends[user] += _withdrawableDividend;
(bool success,) = user.call{value: _withdrawableDividend}("");
if (!success) {
withdrawnDividends[user] -= _withdrawableDividend; //undo withdraw
return;
}
emit DividendWithdrawn(user, _withdrawableDividend);
}
function _updateBalance(address user, uint256 newBalance) internal {
uint256 currentBalance = holderBalance[user];
holderBalance[user] = newBalance;
if (newBalance > currentBalance) {
uint256 increaseAmount = newBalance - currentBalance;
magnifiedDividendCorrections[user] -= CastMath.int256Cast(magnifiedDividendPerShare * increaseAmount);
totalDividends += increaseAmount;
} else if (newBalance < currentBalance) {
uint256 reduceAmount = currentBalance - newBalance;
magnifiedDividendCorrections[user] += CastMath.int256Cast(magnifiedDividendPerShare * reduceAmount);
totalDividends -= reduceAmount;
}
}
function _updateAccountBalance(address payable user, uint256 newBalance) internal {
_updateBalance(user, newBalance);
_withdrawDividendOfUser(user); // auto-send dividends when balance changes (i.e. unstake)
}
}
contract ProduceAIStaking is DividendContract, ReentrancyGuard {
IERC20 public immutable ProduceAIToken;
UniSwap private immutable dexRouter;
mapping (address => uint256) public holderUnlockTime;
mapping(address => uint256) internal stakeBlock;
uint256 public immutable lockDuration;
event Stake(address indexed user, uint256 amount);
event Unstake(address indexed user, uint256 amount);
constructor(address token, uint256 lockDays) {
ProduceAIToken = IERC20(token);
lockDuration = lockDays * 1 days;
dexRouter = UniSwap(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
}
receive() external payable {
revShare();
}
function stakeProduceAI(uint256 amount) external nonReentrant {
require(amount > 0, "Amount cannot be 0");
if(holderUnlockTime[msg.sender] == 0) {
holderUnlockTime[msg.sender] = block.timestamp + lockDuration;
}
stakeBlock[msg.sender] = block.timestamp;
uint256 userAmount = holderBalance[msg.sender];
uint256 balanceBefore = ProduceAIToken.balanceOf(address(this));
ProduceAIToken.transferFrom(address(msg.sender), address(this), amount);
uint256 bought = ProduceAIToken.balanceOf(address(this)) - balanceBefore;
_updateAccountBalance(payable(msg.sender), userAmount + bought);
emit Stake(msg.sender, amount);
}
function revShare() public payable {
require(msg.value > 0, "No ETH sent");
_distributeDividends(msg.value);
}
function unstakeProduceAI(uint256 amount) public nonReentrant {
require(amount > 0, "Cannot withdraw 0 tokens");
require(holderUnlockTime[msg.sender] <= block.timestamp, "Cannot withdraw yet");
require(stakeBlock[msg.sender] + 1 hours < block.timestamp, "Attack block");
uint256 userDividends = holderBalance[msg.sender];
require(amount <= userDividends, "Not enough ProduceAI tokens");
_updateAccountBalance(payable(msg.sender), userDividends - amount);
// Everything unstaked = reset stamp to 0, else extend lock
holderUnlockTime[msg.sender] = userDividends == amount ? 0 : block.timestamp + lockDuration;
bool success = ProduceAIToken.transfer(address(msg.sender), amount);
require(success, "Transfer of ProduceAI failed");
emit Unstake(msg.sender, amount);
}
function unstakeAllProduceAI() external {
uint256 totalTokens = holderBalance[msg.sender];
unstakeProduceAI(totalTokens);
}
function buyProduceAITokens(uint256 weiAmount, uint256 minOut) internal returns(uint256) {
uint256 initialBalance = ProduceAIToken.balanceOf(address(this));
address[] memory path = new address[](2);
path[0] = dexRouter.WETH();
path[1] = address(ProduceAIToken);
dexRouter.swapExactETHForTokensSupportingFeeOnTransferTokens{value: weiAmount}(
minOut,
path,
address(this),
block.timestamp
);
return ProduceAIToken.balanceOf(address(this)) - initialBalance;
}
function claimRewards() external nonReentrant {
_withdrawDividendOfUser(payable(msg.sender));
}
function compoundProduceAI(uint256 minOutput) external nonReentrant {
// Check how much dividend ETH we have
uint256 accountBalance = holderBalance[msg.sender];
uint256 dividendETH = dividendOf(msg.sender);
require(dividendETH > 0, "Nothing to compound");
withdrawnDividends[msg.sender] += dividendETH; // We use the ETH for buyback
emit DividendWithdrawn(msg.sender, dividendETH);
// Use dividend ETH to buy ProduceAI tokens
uint ProduceAIBought = buyProduceAITokens(dividendETH, minOutput);
// Update balance
_updateAccountBalance(payable(msg.sender), accountBalance + ProduceAIBought);
}
function getCompoundTokensForWallet(address wallet) external view returns(uint256) {
uint256 dividendETH = dividendOf(wallet);
require(dividendETH > 0, "Nothing to compound");
address[] memory path = new address[](2);
path[0] = dexRouter.WETH();
path[1] = address(ProduceAIToken);
// Get the tokens we can buy for the given ETH
return dexRouter.getAmountsOut(dividendETH, path)[1];
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"lockDays","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DividendWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DividendsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Stake","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unstake","type":"event"},{"inputs":[],"name":"ProduceAIToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"accumulativeDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minOutput","type":"uint256"}],"name":"compoundProduceAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"dividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"getCompoundTokensForWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"holderUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revShare","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stakeProduceAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalProduceAIDividendsDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unstakeAllProduceAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstakeProduceAI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"withdrawnDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60e060405234801561001057600080fd5b50604051620018ce380380620018ce83398101604081905261003191610072565b60016006556001600160a01b03821660805261005081620151806100ac565b60c0525050737a250d5630b4cf539739df2c5dacb4c659f2488d60a0526100d7565b6000806040838503121561008557600080fd5b82516001600160a01b038116811461009c57600080fd5b6020939093015192949293505050565b80820281158282048414176100d157634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c05161176c620001626000396000818161011d0152818161041e0152610c2e0152600081816106fa01528181610806015281816110f501526112010152600081816102010152818161049101528181610521015281816105b9015281816107af01528181610c9401528181611062015281816111aa0152611287015261176c6000f3fe6080604052600436106100f75760003560e01c806391b89fba1161008a578063aafd847a11610059578063aafd847a146102be578063ab6ddfa8146102f4578063c15fb86714610321578063e0b1ab651461033657600080fd5b806391b89fba1461023b57806391dfb5c81461025b578063997664d71461027b578063a913a5f71461029157600080fd5b806327ce0147116100c657806327ce01471461019a578063372500ab146101ba5780635a6121cf146101cf5780637a492fee146101ef57600080fd5b8063045544431461010b5780631b03ddc1146101525780631efea7ae1461015a5780632087f9771461017a57600080fd5b366101065761010461034c565b005b600080fd5b34801561011757600080fd5b5061013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b61010461034c565b34801561016657600080fd5b50610104610175366004611415565b61039a565b34801561018657600080fd5b5061013f610195366004611443565b610683565b3480156101a657600080fd5b5061013f6101b5366004611443565b6108a7565b3480156101c657600080fd5b5061010461091f565b3480156101db57600080fd5b506101046101ea366004611415565b610956565b3480156101fb57600080fd5b506102237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610149565b34801561024757600080fd5b5061013f610256366004611443565b610a5f565b34801561026757600080fd5b50610104610276366004611415565b610a91565b34801561028757600080fd5b5061013f60045481565b34801561029d57600080fd5b5061013f6102ac366004611443565b60076020526000908152604090205481565b3480156102ca57600080fd5b5061013f6102d9366004611443565b6001600160a01b031660009081526002602052604090205490565b34801561030057600080fd5b5061013f61030f366004611443565b60036020526000908152604090205481565b34801561032d57600080fd5b50610104610d8f565b34801561034257600080fd5b5061013f60055481565b6000341161038f5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064015b60405180910390fd5b61039834610dab565b565b6002600654036103bc5760405162461bcd60e51b815260040161038690611467565b6002600655806104035760405162461bcd60e51b81526020600482015260126024820152710416d6f756e742063616e6e6f7420626520360741b6044820152606401610386565b336000908152600760205260408120549003610454576104437f0000000000000000000000000000000000000000000000000000000000000000426114b4565b336000908152600760205260409020555b33600090815260086020908152604080832042905560039091528082205490516370a0823160e01b81523060048201529091906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc91906114c7565b6040516323b872dd60e01b8152336004820152306024820152604481018590529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af1158015610572573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059691906114e0565b506040516370a0823160e01b815230600482015260009082906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906114c7565b61062e9190611502565b90506106433361063e83866114b4565b610e7c565b60405184815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200160405180910390a2505060016006555050565b60008061068f83610a5f565b9050600081116106d75760405162461bcd60e51b8152602060048201526013602482015272139bdd1a1a5b99c81d1bc818dbdb5c1bdd5b99606a1b6044820152606401610386565b6040805160028082526060820183526000926020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077a919061152b565b8160008151811061078d5761078d611548565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106107e1576107e1611548565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063d06ca61f9061083f90859085906004016115a2565b600060405180830381865afa15801561085c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088491908101906115bb565b60018151811061089657610896611548565b602002602001015192505050919050565b6001600160a01b038116600090815260036020526040812054815482916108d7916108d29190611679565b610e93565b6001600160a01b03841660009081526001602052604081205491925090610907906109029084611690565b610edb565b9050610917600160801b826116b8565b949350505050565b6002600654036109415760405162461bcd60e51b815260040161038690611467565b600260065561094f33610f27565b6001600655565b6002600654036109785760405162461bcd60e51b815260040161038690611467565b6002600655336000818152600360205260408120549161099790610a5f565b9050600081116109df5760405162461bcd60e51b8152602060048201526013602482015272139bdd1a1a5b99c81d1bc818dbdb5c1bdd5b99606a1b6044820152606401610386565b33600090815260026020526040812080548392906109fe9084906114b4565b909155505060405181815233907fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d9060200160405180910390a26000610a448285611040565b9050610a543361063e83866114b4565b505060016006555050565b6001600160a01b038116600090815260026020526040812054610a81836108a7565b610a8b9190611502565b92915050565b600260065403610ab35760405162461bcd60e51b815260040161038690611467565b600260065580610b055760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f74207769746864726177203020746f6b656e7300000000000000006044820152606401610386565b33600090815260076020526040902054421015610b5a5760405162461bcd60e51b815260206004820152601360248201527210d85b9b9bdd081dda5d1a191c985dc81e595d606a1b6044820152606401610386565b336000908152600860205260409020544290610b7890610e106114b4565b10610bb45760405162461bcd60e51b815260206004820152600c60248201526b41747461636b20626c6f636b60a01b6044820152606401610386565b3360009081526003602052604090205480821115610c145760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f7567682050726f64756365414920746f6b656e7300000000006044820152606401610386565b610c223361063e8484611502565b818114610c5857610c537f0000000000000000000000000000000000000000000000000000000000000000426114b4565b610c5b565b60005b3360008181526007602052604080822093909355915163a9059cbb60e01b81526004810191909152602481018490526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0191906114e0565b905080610d505760405162461bcd60e51b815260206004820152601c60248201527f5472616e73666572206f662050726f647563654149206661696c6564000000006044820152606401610386565b60405183815233907f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd9060200160405180910390a25050600160065550565b33600090815260036020526040902054610da881610a91565b50565b600060045411610dfd5760405162461bcd60e51b815260206004820152601760248201527f4e6f626f647920746f206469737472696275746520746f0000000000000000006044820152606401610386565b600454610e0e600160801b83611679565b610e1891906116b8565b600080828254610e2891906114b4565b909155505060405181815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a28060056000828254610e7491906114b4565b909155505050565b610e86828261130f565b610e8f82610f27565b5050565b60008181811215610a8b5760405162461bcd60e51b81526020600482015260126024820152711d5b9cd85999481a5b9d0c8d4d8818d85cdd60721b6044820152606401610386565b600080821215610f235760405162461bcd60e51b81526020600482015260136024820152721d5b9cd85999481d5a5b9d0c8d4d8818d85cdd606a1b6044820152606401610386565b5090565b6000610f3282610a5f565b905080600003610f40575050565b6001600160a01b03821660009081526002602052604081208054839290610f689084906114b4565b90915550506040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610fb8576040519150601f19603f3d011682016040523d82523d6000602084013e610fbd565b606091505b5050905080610ff8576001600160a01b03831660009081526002602052604081208054849290610fee908490611502565b9091555050505050565b826001600160a01b03167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d8360405161103391815260200190565b60405180910390a2505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156110a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cd91906114c7565b60408051600280825260608201835292935060009290916020830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611175919061152b565b8160008151811061118857611188611548565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106111dc576111dc611548565b6001600160a01b03928316602091820292909201015260405163b6f9de9560e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063b6f9de959087906112409088908690309042906004016116da565b6000604051808303818588803b15801561125957600080fd5b505af115801561126d573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201528593507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692506370a082319150602401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc91906114c7565b6113069190611502565b95945050505050565b6001600160a01b0382166000908152600360205260409020805490829055808211156113a15760006113418284611502565b9050611354816000546108d29190611679565b6001600160a01b0385166000908152600160205260408120805490919061137c90849061170f565b92505081905550806004600082825461139591906114b4565b90915550611410915050565b808210156114105760006113b58383611502565b90506113c8816000546108d29190611679565b6001600160a01b038516600090815260016020526040812080549091906113f0908490611690565b9250508190555080600460008282546114099190611502565b9091555050505b505050565b60006020828403121561142757600080fd5b5035919050565b6001600160a01b0381168114610da857600080fd5b60006020828403121561145557600080fd5b81356114608161142e565b9392505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a8b57610a8b61149e565b6000602082840312156114d957600080fd5b5051919050565b6000602082840312156114f257600080fd5b8151801515811461146057600080fd5b81810381811115610a8b57610a8b61149e565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561153d57600080fd5b81516114608161142e565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156115975781516001600160a01b031687529582019590820190600101611572565b509495945050505050565b828152604060208201526000610917604083018461155e565b600060208083850312156115ce57600080fd5b825167ffffffffffffffff808211156115e657600080fd5b818501915085601f8301126115fa57600080fd5b81518181111561160c5761160c611515565b8060051b604051601f19603f8301168101818110858211171561163157611631611515565b60405291825284820192508381018501918883111561164f57600080fd5b938501935b8285101561166d57845184529385019392850192611654565b98975050505050505050565b8082028115828204841417610a8b57610a8b61149e565b80820182811260008312801582168215821617156116b0576116b061149e565b505092915050565b6000826116d557634e487b7160e01b600052601260045260246000fd5b500490565b8481526080602082015260006116f3608083018661155e565b6001600160a01b03949094166040830152506060015292915050565b818103600083128015838313168383128216171561172f5761172f61149e565b509291505056fea26469706673582212208339f4b92d85105bc78746bb7226ff5b1f05a4be2bc1e90932019ad9eb0ffb8564736f6c634300081200330000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc6000000000000000000000000000000000000000000000000000000000000000e
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806391b89fba1161008a578063aafd847a11610059578063aafd847a146102be578063ab6ddfa8146102f4578063c15fb86714610321578063e0b1ab651461033657600080fd5b806391b89fba1461023b57806391dfb5c81461025b578063997664d71461027b578063a913a5f71461029157600080fd5b806327ce0147116100c657806327ce01471461019a578063372500ab146101ba5780635a6121cf146101cf5780637a492fee146101ef57600080fd5b8063045544431461010b5780631b03ddc1146101525780631efea7ae1461015a5780632087f9771461017a57600080fd5b366101065761010461034c565b005b600080fd5b34801561011757600080fd5b5061013f7f000000000000000000000000000000000000000000000000000000000012750081565b6040519081526020015b60405180910390f35b61010461034c565b34801561016657600080fd5b50610104610175366004611415565b61039a565b34801561018657600080fd5b5061013f610195366004611443565b610683565b3480156101a657600080fd5b5061013f6101b5366004611443565b6108a7565b3480156101c657600080fd5b5061010461091f565b3480156101db57600080fd5b506101046101ea366004611415565b610956565b3480156101fb57600080fd5b506102237f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc681565b6040516001600160a01b039091168152602001610149565b34801561024757600080fd5b5061013f610256366004611443565b610a5f565b34801561026757600080fd5b50610104610276366004611415565b610a91565b34801561028757600080fd5b5061013f60045481565b34801561029d57600080fd5b5061013f6102ac366004611443565b60076020526000908152604090205481565b3480156102ca57600080fd5b5061013f6102d9366004611443565b6001600160a01b031660009081526002602052604090205490565b34801561030057600080fd5b5061013f61030f366004611443565b60036020526000908152604090205481565b34801561032d57600080fd5b50610104610d8f565b34801561034257600080fd5b5061013f60055481565b6000341161038f5760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b60448201526064015b60405180910390fd5b61039834610dab565b565b6002600654036103bc5760405162461bcd60e51b815260040161038690611467565b6002600655806104035760405162461bcd60e51b81526020600482015260126024820152710416d6f756e742063616e6e6f7420626520360741b6044820152606401610386565b336000908152600760205260408120549003610454576104437f0000000000000000000000000000000000000000000000000000000000127500426114b4565b336000908152600760205260409020555b33600090815260086020908152604080832042905560039091528082205490516370a0823160e01b81523060048201529091906001600160a01b037f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc616906370a0823190602401602060405180830381865afa1580156104d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fc91906114c7565b6040516323b872dd60e01b8152336004820152306024820152604481018590529091507f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc66001600160a01b0316906323b872dd906064016020604051808303816000875af1158015610572573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059691906114e0565b506040516370a0823160e01b815230600482015260009082906001600160a01b037f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc616906370a0823190602401602060405180830381865afa158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906114c7565b61062e9190611502565b90506106433361063e83866114b4565b610e7c565b60405184815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200160405180910390a2505060016006555050565b60008061068f83610a5f565b9050600081116106d75760405162461bcd60e51b8152602060048201526013602482015272139bdd1a1a5b99c81d1bc818dbdb5c1bdd5b99606a1b6044820152606401610386565b6040805160028082526060820183526000926020830190803683370190505090507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077a919061152b565b8160008151811061078d5761078d611548565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc6816001815181106107e1576107e1611548565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063d06ca61f9061083f90859085906004016115a2565b600060405180830381865afa15801561085c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261088491908101906115bb565b60018151811061089657610896611548565b602002602001015192505050919050565b6001600160a01b038116600090815260036020526040812054815482916108d7916108d29190611679565b610e93565b6001600160a01b03841660009081526001602052604081205491925090610907906109029084611690565b610edb565b9050610917600160801b826116b8565b949350505050565b6002600654036109415760405162461bcd60e51b815260040161038690611467565b600260065561094f33610f27565b6001600655565b6002600654036109785760405162461bcd60e51b815260040161038690611467565b6002600655336000818152600360205260408120549161099790610a5f565b9050600081116109df5760405162461bcd60e51b8152602060048201526013602482015272139bdd1a1a5b99c81d1bc818dbdb5c1bdd5b99606a1b6044820152606401610386565b33600090815260026020526040812080548392906109fe9084906114b4565b909155505060405181815233907fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d9060200160405180910390a26000610a448285611040565b9050610a543361063e83866114b4565b505060016006555050565b6001600160a01b038116600090815260026020526040812054610a81836108a7565b610a8b9190611502565b92915050565b600260065403610ab35760405162461bcd60e51b815260040161038690611467565b600260065580610b055760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f74207769746864726177203020746f6b656e7300000000000000006044820152606401610386565b33600090815260076020526040902054421015610b5a5760405162461bcd60e51b815260206004820152601360248201527210d85b9b9bdd081dda5d1a191c985dc81e595d606a1b6044820152606401610386565b336000908152600860205260409020544290610b7890610e106114b4565b10610bb45760405162461bcd60e51b815260206004820152600c60248201526b41747461636b20626c6f636b60a01b6044820152606401610386565b3360009081526003602052604090205480821115610c145760405162461bcd60e51b815260206004820152601b60248201527f4e6f7420656e6f7567682050726f64756365414920746f6b656e7300000000006044820152606401610386565b610c223361063e8484611502565b818114610c5857610c537f0000000000000000000000000000000000000000000000000000000000127500426114b4565b610c5b565b60005b3360008181526007602052604080822093909355915163a9059cbb60e01b81526004810191909152602481018490526001600160a01b037f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc6169063a9059cbb906044016020604051808303816000875af1158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0191906114e0565b905080610d505760405162461bcd60e51b815260206004820152601c60248201527f5472616e73666572206f662050726f647563654149206661696c6564000000006044820152606401610386565b60405183815233907f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd9060200160405180910390a25050600160065550565b33600090815260036020526040902054610da881610a91565b50565b600060045411610dfd5760405162461bcd60e51b815260206004820152601760248201527f4e6f626f647920746f206469737472696275746520746f0000000000000000006044820152606401610386565b600454610e0e600160801b83611679565b610e1891906116b8565b600080828254610e2891906114b4565b909155505060405181815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a28060056000828254610e7491906114b4565b909155505050565b610e86828261130f565b610e8f82610f27565b5050565b60008181811215610a8b5760405162461bcd60e51b81526020600482015260126024820152711d5b9cd85999481a5b9d0c8d4d8818d85cdd60721b6044820152606401610386565b600080821215610f235760405162461bcd60e51b81526020600482015260136024820152721d5b9cd85999481d5a5b9d0c8d4d8818d85cdd606a1b6044820152606401610386565b5090565b6000610f3282610a5f565b905080600003610f40575050565b6001600160a01b03821660009081526002602052604081208054839290610f689084906114b4565b90915550506040516000906001600160a01b0384169083908381818185875af1925050503d8060008114610fb8576040519150601f19603f3d011682016040523d82523d6000602084013e610fbd565b606091505b5050905080610ff8576001600160a01b03831660009081526002602052604081208054849290610fee908490611502565b9091555050505050565b826001600160a01b03167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d8360405161103391815260200190565b60405180910390a2505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc616906370a0823190602401602060405180830381865afa1580156110a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cd91906114c7565b60408051600280825260608201835292935060009290916020830190803683370190505090507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611175919061152b565b8160008151811061118857611188611548565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc6816001815181106111dc576111dc611548565b6001600160a01b03928316602091820292909201015260405163b6f9de9560e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063b6f9de959087906112409088908690309042906004016116da565b6000604051808303818588803b15801561125957600080fd5b505af115801561126d573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201528593507f0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc66001600160a01b031692506370a082319150602401602060405180830381865afa1580156112d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fc91906114c7565b6113069190611502565b95945050505050565b6001600160a01b0382166000908152600360205260409020805490829055808211156113a15760006113418284611502565b9050611354816000546108d29190611679565b6001600160a01b0385166000908152600160205260408120805490919061137c90849061170f565b92505081905550806004600082825461139591906114b4565b90915550611410915050565b808210156114105760006113b58383611502565b90506113c8816000546108d29190611679565b6001600160a01b038516600090815260016020526040812080549091906113f0908490611690565b9250508190555080600460008282546114099190611502565b9091555050505b505050565b60006020828403121561142757600080fd5b5035919050565b6001600160a01b0381168114610da857600080fd5b60006020828403121561145557600080fd5b81356114608161142e565b9392505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a8b57610a8b61149e565b6000602082840312156114d957600080fd5b5051919050565b6000602082840312156114f257600080fd5b8151801515811461146057600080fd5b81810381811115610a8b57610a8b61149e565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561153d57600080fd5b81516114608161142e565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156115975781516001600160a01b031687529582019590820190600101611572565b509495945050505050565b828152604060208201526000610917604083018461155e565b600060208083850312156115ce57600080fd5b825167ffffffffffffffff808211156115e657600080fd5b818501915085601f8301126115fa57600080fd5b81518181111561160c5761160c611515565b8060051b604051601f19603f8301168101818110858211171561163157611631611515565b60405291825284820192508381018501918883111561164f57600080fd5b938501935b8285101561166d57845184529385019392850192611654565b98975050505050505050565b8082028115828204841417610a8b57610a8b61149e565b80820182811260008312801582168215821617156116b0576116b061149e565b505092915050565b6000826116d557634e487b7160e01b600052601260045260246000fd5b500490565b8481526080602082015260006116f3608083018661155e565b6001600160a01b03949094166040830152506060015292915050565b818103600083128015838313168383128216171561172f5761172f61149e565b509291505056fea26469706673582212208339f4b92d85105bc78746bb7226ff5b1f05a4be2bc1e90932019ad9eb0ffb8564736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc6000000000000000000000000000000000000000000000000000000000000000e
-----Decoded View---------------
Arg [0] : token (address): 0x0e6D98de664A28a32B584c72E606Ff7DeA898Dc6
Arg [1] : lockDays (uint256): 14
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000e6d98de664a28a32b584c72e606ff7dea898dc6
Arg [1] : 000000000000000000000000000000000000000000000000000000000000000e
Deployed Bytecode Sourcemap
4877:4475:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5571:10;:8;:10::i;:::-;4877:4475;;;;;5151:37;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5151:37:0;;;;;;;;6325:133;;;:::i;5597:720::-;;;;;;;;;;-1:-1:-1;5597:720:0;;;;;:::i;:::-;;:::i;8894:452::-;;;;;;;;;;-1:-1:-1;8894:452:0;;;;;:::i;:::-;;:::i;2748:347::-;;;;;;;;;;-1:-1:-1;2748:347:0;;;;;:::i;:::-;;:::i;8082:110::-;;;;;;;;;;;;;:::i;8200:686::-;;;;;;;;;;-1:-1:-1;8200:686:0;;;;;:::i;:::-;;:::i;4949:38::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;947:32:1;;;929:51;;917:2;902:18;4949:38:0;769:217:1;2596:144:0;;;;;;;;;;-1:-1:-1;2596:144:0;;;;;:::i;:::-;;:::i;6466:867::-;;;;;;;;;;-1:-1:-1;6466:867:0;;;;;:::i;:::-;;:::i;2231:29::-;;;;;;;;;;;;;;;;5038:52;;;;;;;;;;-1:-1:-1;5038:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;2464:124;;;;;;;;;;-1:-1:-1;2464:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;2556:24:0;2529:7;2556:24;;;:18;:24;;;;;;;2464:124;2173:48;;;;;;;;;;-1:-1:-1;2173:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;7341:149;;;;;;;;;;;;;:::i;2267:49::-;;;;;;;;;;;;;;;;6325:133;6391:1;6379:9;:13;6371:37;;;;-1:-1:-1;;;6371:37:0;;1193:2:1;6371:37:0;;;1175:21:1;1232:2;1212:18;;;1205:30;-1:-1:-1;;;1251:18:1;;;1244:41;1302:18;;6371:37:0;;;;;;;;;6419:31;6440:9;6419:20;:31::i;:::-;6325:133::o;5597:720::-;1538:1;1686:7;;:19;1678:63;;;;-1:-1:-1;;;1678:63:0;;;;;;;:::i;:::-;1538:1;1752:7;:18;5678:10;5670:41:::1;;;::::0;-1:-1:-1;;;5670:41:0;;1893:2:1;5670:41:0::1;::::0;::::1;1875:21:1::0;1932:2;1912:18;;;1905:30;-1:-1:-1;;;1951:18:1;;;1944:48;2009:18;;5670:41:0::1;1691:342:1::0;5670:41:0::1;5742:10;5725:28;::::0;;;:16:::1;:28;::::0;;;;;:33;;5722:126:::1;;5806:30;5824:12;5806:15;:30;:::i;:::-;5792:10;5775:28;::::0;;;:16:::1;:28;::::0;;;;:61;5722:126:::1;5869:10;5858:22;::::0;;;:10:::1;:22;::::0;;;;;;;5883:15:::1;5858:40:::0;;5930:13:::1;:25:::0;;;;;;;5990:39;;-1:-1:-1;;;5990:39:0;;6023:4:::1;5990:39;::::0;::::1;929:51:1::0;5930:25:0;;5858:22;-1:-1:-1;;;;;5990:14:0::1;:24;::::0;::::1;::::0;902:18:1;;5990:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6040:71;::::0;-1:-1:-1;;;6040:71:0;;6076:10:::1;6040:71;::::0;::::1;2937:34:1::0;6097:4:0::1;2987:18:1::0;;;2980:43;3039:18;;;3032:34;;;5966:63:0;;-1:-1:-1;6040:14:0::1;-1:-1:-1::0;;;;;6040:27:0::1;::::0;::::1;::::0;2872:18:1;;6040:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;6139:39:0::1;::::0;-1:-1:-1;;;6139:39:0;;6172:4:::1;6139:39;::::0;::::1;929:51:1::0;6122:14:0::1;::::0;6181:13;;-1:-1:-1;;;;;6139:14:0::1;:24;::::0;::::1;::::0;902:18:1;;6139:39:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:55;;;;:::i;:::-;6122:72:::0;-1:-1:-1;6205:63:0::1;6235:10;6248:19;6122:72:::0;6248:10;:19:::1;:::i;:::-;6205:21;:63::i;:::-;6284:25;::::0;160::1;;;6290:10:0::1;::::0;6284:25:::1;::::0;148:2:1;133:18;6284:25:0::1;;;;;;;-1:-1:-1::0;;1494:1:0;1793:7;:22;-1:-1:-1;;5597:720:0:o;8894:452::-;8968:7;8988:19;9010:18;9021:6;9010:10;:18::i;:::-;8988:40;;9061:1;9047:11;:15;9039:47;;;;-1:-1:-1;;;9039:47:0;;3694:2:1;9039:47:0;;;3676:21:1;3733:2;3713:18;;;3706:30;-1:-1:-1;;;3752:18:1;;;3745:49;3811:18;;9039:47:0;3492:343:1;9039:47:0;9121:16;;;9135:1;9121:16;;;;;;;;9097:21;;9121:16;;;;;;;;;;-1:-1:-1;9121:16:0;9097:40;;9158:9;-1:-1:-1;;;;;9158:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9148:4;9153:1;9148:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1;;;;;9148:26:0;;;-1:-1:-1;;;;;9148:26:0;;;;;9203:14;9185:4;9190:1;9185:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9185:33:0;;;:7;;;;;;;;;:33;9292:42;;-1:-1:-1;;;9292:42:0;;:9;:23;;;;;;:42;;9316:11;;9329:4;;9292:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9292:42:0;;;;;;;;;;;;:::i;:::-;9335:1;9292:45;;;;;;;;:::i;:::-;;;;;;;9285:52;;;;8894:452;;;:::o;2748:347::-;-1:-1:-1;;;;;2908:19:0;;2814:7;2908:19;;;:13;:19;;;;;;2880:25;;2814:7;;2860:68;;2880:47;;2908:19;2880:47;:::i;:::-;2860:19;:68::i;:::-;-1:-1:-1;;;;;3006:34:0;;2939:24;3006:34;;;:28;:34;;;;;;2834:94;;-1:-1:-1;2939:24:0;2966:75;;2987:53;;2834:94;2987:53;:::i;:::-;2966:20;:75::i;:::-;2939:102;-1:-1:-1;3059:28:0;-1:-1:-1;;;2939:102:0;3059:28;:::i;:::-;3052:35;2748:347;-1:-1:-1;;;;2748:347:0:o;8082:110::-;1538:1;1686:7;;:19;1678:63;;;;-1:-1:-1;;;1678:63:0;;;;;;;:::i;:::-;1538:1;1752:7;:18;8140:44:::1;8172:10;8140:23;:44::i;:::-;1494:1:::0;1793:7;:22;8082:110::o;8200:686::-;1538:1;1686:7;;:19;1678:63;;;;-1:-1:-1;;;1678:63:0;;;;;;;:::i;:::-;1538:1;1752:7;:18;8366:10:::1;8327:22;8352:25:::0;;;:13:::1;:25;::::0;;;;;;8410:22:::1;::::0;:10:::1;:22::i;:::-;8388:44;;8465:1;8451:11;:15;8443:47;;;::::0;-1:-1:-1;;;8443:47:0;;3694:2:1;8443:47:0::1;::::0;::::1;3676:21:1::0;3733:2;3713:18;;;3706:30;-1:-1:-1;;;3752:18:1;;;3745:49;3811:18;;8443:47:0::1;3492:343:1::0;8443:47:0::1;8520:10;8501:30;::::0;;;:18:::1;:30;::::0;;;;:45;;8535:11;;8501:30;:45:::1;::::0;8535:11;;8501:45:::1;:::i;:::-;::::0;;;-1:-1:-1;;8592:42:0::1;::::0;160:25:1;;;8610:10:0::1;::::0;8592:42:::1;::::0;148:2:1;133:18;8592:42:0::1;;;;;;;8698:20;8721:42;8740:11;8753:9;8721:18;:42::i;:::-;8698:65:::0;-1:-1:-1;8802:76:0::1;8832:10;8845:32;8698:65:::0;8845:14;:32:::1;:::i;8802:76::-;-1:-1:-1::0;;1494:1:0;1793:7;:22;-1:-1:-1;;8200:686:0:o;2596:144::-;-1:-1:-1;;;;;2708:24:0;;2650:7;2708:24;;;:18;:24;;;;;;2677:28;2727:4;2677:22;:28::i;:::-;:55;;;;:::i;:::-;2670:62;2596:144;-1:-1:-1;;2596:144:0:o;6466:867::-;1538:1;1686:7;;:19;1678:63;;;;-1:-1:-1;;;1678:63:0;;;;;;;:::i;:::-;1538:1;1752:7;:18;6548:10;6540:47:::1;;;::::0;-1:-1:-1;;;6540:47:0;;7091:2:1;6540:47:0::1;::::0;::::1;7073:21:1::0;7130:2;7110:18;;;7103:30;7169:26;7149:18;;;7142:54;7213:18;;6540:47:0::1;6889:348:1::0;6540:47:0::1;6623:10;6606:28;::::0;;;:16:::1;:28;::::0;;;;;6638:15:::1;-1:-1:-1::0;6606:47:0::1;6598:79;;;::::0;-1:-1:-1;;;6598:79:0;;7444:2:1;6598:79:0::1;::::0;::::1;7426:21:1::0;7483:2;7463:18;;;7456:30;-1:-1:-1;;;7502:18:1;;;7495:49;7561:18;;6598:79:0::1;7242:343:1::0;6598:79:0::1;6707:10;6696:22;::::0;;;:10:::1;:22;::::0;;;;;6731:15:::1;::::0;6696:32:::1;::::0;6721:7:::1;6696:32;:::i;:::-;:50;6688:75;;;::::0;-1:-1:-1;;;6688:75:0;;7792:2:1;6688:75:0::1;::::0;::::1;7774:21:1::0;7831:2;7811:18;;;7804:30;-1:-1:-1;;;7850:18:1;;;7843:42;7902:18;;6688:75:0::1;7590:336:1::0;6688:75:0::1;6812:10;6774:21;6798:25:::0;;;:13:::1;:25;::::0;;;;;6842:23;;::::1;;6834:63;;;::::0;-1:-1:-1;;;6834:63:0;;8133:2:1;6834:63:0::1;::::0;::::1;8115:21:1::0;8172:2;8152:18;;;8145:30;8211:29;8191:18;;;8184:57;8258:18;;6834:63:0::1;7931:351:1::0;6834:63:0::1;6908:66;6938:10;6951:22;6967:6:::0;6951:13;:22:::1;:::i;6908:66::-;7102:6;7085:13;:23;:60;;7115:30;7133:12;7115:15;:30;:::i;:::-;7085:60;;;7111:1;7085:60;7071:10;7054:28;::::0;;;:16:::1;:28;::::0;;;;;:91;;;;7171:52;;-1:-1:-1;;;7171:52:0;;::::1;::::0;::::1;8461:51:1::0;;;;8528:18;;;8521:34;;;-1:-1:-1;;;;;7171:14:0::1;:23;::::0;::::1;::::0;8434:18:1;;7171:52:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7156:67;;7242:7;7234:48;;;::::0;-1:-1:-1;;;7234:48:0;;8768:2:1;7234:48:0::1;::::0;::::1;8750:21:1::0;8807:2;8787:18;;;8780:30;8846;8826:18;;;8819:58;8894:18;;7234:48:0::1;8566:352:1::0;7234:48:0::1;7298:27;::::0;160:25:1;;;7306:10:0::1;::::0;7298:27:::1;::::0;148:2:1;133:18;7298:27:0::1;;;;;;;-1:-1:-1::0;;1494:1:0;1793:7;:22;-1:-1:-1;6466:867:0:o;7341:149::-;7431:10;7395:19;7417:25;;;:13;:25;;;;;;7453:29;7417:25;7453:16;:29::i;:::-;7383:107;7341:149::o;3103:313::-;3191:1;3174:14;;:18;3166:54;;;;-1:-1:-1;;;3166:54:0;;9125:2:1;3166:54:0;;;9107:21:1;9164:2;9144:18;;;9137:30;9203:25;9183:18;;;9176:53;9246:18;;3166:54:0;8923:347:1;3166:54:0;3283:14;;3261:18;-1:-1:-1;;;3261:6:0;:18;:::i;:::-;3260:37;;;;:::i;:::-;3231:25;;:66;;;;;;;:::i;:::-;;;;-1:-1:-1;;3313:40:0;;160:25:1;;;3334:10:0;;3313:40;;148:2:1;133:18;3313:40:0;;;;;;;3402:6;3364:34;;:44;;;;;;;:::i;:::-;;;;-1:-1:-1;;;3103:313:0:o;4641:229::-;4734:32;4749:4;4755:10;4734:14;:32::i;:::-;4774:29;4798:4;4774:23;:29::i;:::-;4641:229;;:::o;84:168::-;138:6;175:1;196:6;;;;188:37;;;;-1:-1:-1;;;188:37:0;;9477:2:1;188:37:0;;;9459:21:1;9516:2;9496:18;;;9489:30;-1:-1:-1;;;9535:18:1;;;9528:48;9593:18;;188:37:0;9275:342:1;260:148:0;314:7;347:1;342;:6;;334:38;;;;-1:-1:-1;;;334:38:0;;9824:2:1;334:38:0;;;9806:21:1;9863:2;9843:18;;;9836:30;-1:-1:-1;;;9882:18:1;;;9875:49;9941:18;;334:38:0;9622:343:1;334:38:0;-1:-1:-1;398:1:0;260:148::o;3424:514::-;3500:29;3532:16;3543:4;3532:10;:16::i;:::-;3500:48;;3563:21;3588:1;3563:26;3559:41;;3592:7;3424:514;:::o;3559:41::-;-1:-1:-1;;;;;3611:24:0;;;;;;:18;:24;;;;;:49;;3639:21;;3611:24;:49;;3639:21;;3611:49;:::i;:::-;;;;-1:-1:-1;;3689:43:0;;3672:12;;-1:-1:-1;;;;;3689:9:0;;;3706:21;;3672:12;3689:43;3672:12;3689:43;3706:21;3689:9;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3671:61;;;3748:7;3743:127;;-1:-1:-1;;;;;3772:24:0;;;;;;:18;:24;;;;;:49;;3800:21;;3772:24;:49;;3800:21;;3772:49;:::i;:::-;;;;-1:-1:-1;;;;;3424:514:0:o;3743:127::-;3903:4;-1:-1:-1;;;;;3885:46:0;;3909:21;3885:46;;;;160:25:1;;148:2;133:18;;14:177;3885:46:0;;;;;;;;3489:449;;3424:514;:::o;7498:576::-;7623:39;;-1:-1:-1;;;7623:39:0;;7656:4;7623:39;;;929:51:1;7578:7:0;;;;-1:-1:-1;;;;;7623:14:0;:24;;;;902:18:1;;7623:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7697:16;;;7711:1;7697:16;;;;;;;;7598:64;;-1:-1:-1;7673:21:0;;7697:16;;;;;;;;;;;;-1:-1:-1;7697:16:0;7673:40;;7734:9;-1:-1:-1;;;;;7734:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7724:4;7729:1;7724:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1;;;;;7724:26:0;;;-1:-1:-1;;;;;7724:26:0;;;;;7779:14;7761:4;7766:1;7761:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7761:33:0;;;:7;;;;;;;;;:33;7805:187;;-1:-1:-1;;;7805:187:0;;:9;:60;;;;;;7873:9;;7805:187;;7898:6;;7919:4;;7946;;7966:15;;7805:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8010:39:0;;-1:-1:-1;;;8010:39:0;;8043:4;8010:39;;;929:51:1;8052:14:0;;-1:-1:-1;8010:14:0;-1:-1:-1;;;;;8010:24:0;;-1:-1:-1;8010:24:0;;-1:-1:-1;902:18:1;;8010:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;;;:::i;:::-;8003:63;7498:576;-1:-1:-1;;;;;7498:576:0:o;3945:688::-;-1:-1:-1;;;;;4044:19:0;;4019:22;4044:19;;;:13;:19;;;;;;;4070:32;;;;4113:27;;;4109:518;;;4153:22;4178:27;4191:14;4178:10;:27;:::i;:::-;4153:52;;4254:63;4302:14;4274:25;;:42;;;;:::i;4254:63::-;-1:-1:-1;;;;;4216:34:0;;;;;;:28;:34;;;;;:101;;:34;;;:101;;;;;:::i;:::-;;;;;;;;4346:14;4328;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;4109:518:0;;-1:-1:-1;;4109:518:0;;4391:14;4378:10;:27;4374:253;;;4418:20;4441:27;4458:10;4441:14;:27;:::i;:::-;4418:50;;4517:61;4565:12;4537:25;;:40;;;;:::i;4517:61::-;-1:-1:-1;;;;;4479:34:0;;;;;;:28;:34;;;;;:99;;:34;;;:99;;;;;:::i;:::-;;;;;;;;4607:12;4589:14;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;;4374:253:0;4012:621;3945:688;;:::o;196:180:1:-;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o;381:131::-;-1:-1:-1;;;;;456:31:1;;446:42;;436:70;;502:1;499;492:12;517:247;576:6;629:2;617:9;608:7;604:23;600:32;597:52;;;645:1;642;635:12;597:52;684:9;671:23;703:31;728:5;703:31;:::i;:::-;753:5;517:247;-1:-1:-1;;;517:247:1:o;1331:355::-;1533:2;1515:21;;;1572:2;1552:18;;;1545:30;1611:33;1606:2;1591:18;;1584:61;1677:2;1662:18;;1331:355::o;2038:127::-;2099:10;2094:3;2090:20;2087:1;2080:31;2130:4;2127:1;2120:15;2154:4;2151:1;2144:15;2170:125;2235:9;;;2256:10;;;2253:36;;;2269:18;;:::i;2508:184::-;2578:6;2631:2;2619:9;2610:7;2606:23;2602:32;2599:52;;;2647:1;2644;2637:12;2599:52;-1:-1:-1;2670:16:1;;2508:184;-1:-1:-1;2508:184:1:o;3077:277::-;3144:6;3197:2;3185:9;3176:7;3172:23;3168:32;3165:52;;;3213:1;3210;3203:12;3165:52;3245:9;3239:16;3298:5;3291:13;3284:21;3277:5;3274:32;3264:60;;3320:1;3317;3310:12;3359:128;3426:9;;;3447:11;;;3444:37;;;3461:18;;:::i;3840:127::-;3901:10;3896:3;3892:20;3889:1;3882:31;3932:4;3929:1;3922:15;3956:4;3953:1;3946:15;3972:251;4042:6;4095:2;4083:9;4074:7;4070:23;4066:32;4063:52;;;4111:1;4108;4101:12;4063:52;4143:9;4137:16;4162:31;4187:5;4162:31;:::i;4228:127::-;4289:10;4284:3;4280:20;4277:1;4270:31;4320:4;4317:1;4310:15;4344:4;4341:1;4334:15;4360:461;4413:3;4451:5;4445:12;4478:6;4473:3;4466:19;4504:4;4533:2;4528:3;4524:12;4517:19;;4570:2;4563:5;4559:14;4591:1;4601:195;4615:6;4612:1;4609:13;4601:195;;;4680:13;;-1:-1:-1;;;;;4676:39:1;4664:52;;4736:12;;;;4771:15;;;;4712:1;4630:9;4601:195;;;-1:-1:-1;4812:3:1;;4360:461;-1:-1:-1;;;;;4360:461:1:o;4826:332::-;5033:6;5022:9;5015:25;5076:2;5071;5060:9;5056:18;5049:30;4996:4;5096:56;5148:2;5137:9;5133:18;5125:6;5096:56;:::i;5163:1105::-;5258:6;5289:2;5332;5320:9;5311:7;5307:23;5303:32;5300:52;;;5348:1;5345;5338:12;5300:52;5381:9;5375:16;5410:18;5451:2;5443:6;5440:14;5437:34;;;5467:1;5464;5457:12;5437:34;5505:6;5494:9;5490:22;5480:32;;5550:7;5543:4;5539:2;5535:13;5531:27;5521:55;;5572:1;5569;5562:12;5521:55;5601:2;5595:9;5623:2;5619;5616:10;5613:36;;;5629:18;;:::i;:::-;5675:2;5672:1;5668:10;5707:2;5701:9;5770:2;5766:7;5761:2;5757;5753:11;5749:25;5741:6;5737:38;5825:6;5813:10;5810:22;5805:2;5793:10;5790:18;5787:46;5784:72;;;5836:18;;:::i;:::-;5872:2;5865:22;5922:18;;;5956:15;;;;-1:-1:-1;5998:11:1;;;5994:20;;;6026:19;;;6023:39;;;6058:1;6055;6048:12;6023:39;6082:11;;;;6102:135;6118:6;6113:3;6110:15;6102:135;;;6184:10;;6172:23;;6135:12;;;;6215;;;;6102:135;;;6256:6;5163:1105;-1:-1:-1;;;;;;;;5163:1105:1:o;6273:168::-;6346:9;;;6377;;6394:15;;;6388:22;;6374:37;6364:71;;6415:18;;:::i;6446:216::-;6510:9;;;6538:11;;;6485:3;6568:9;;6596:10;;6592:19;;6621:10;;6613:19;;6589:44;6586:70;;;6636:18;;:::i;:::-;6586:70;;6446:216;;;;:::o;6667:217::-;6707:1;6733;6723:132;;6777:10;6772:3;6768:20;6765:1;6758:31;6812:4;6809:1;6802:15;6840:4;6837:1;6830:15;6723:132;-1:-1:-1;6869:9:1;;6667:217::o;10180:502::-;10443:6;10432:9;10425:25;10486:3;10481:2;10470:9;10466:18;10459:31;10406:4;10507:57;10559:3;10548:9;10544:19;10536:6;10507:57;:::i;:::-;-1:-1:-1;;;;;10600:32:1;;;;10595:2;10580:18;;10573:60;-1:-1:-1;10664:2:1;10649:18;10642:34;10499:65;10180:502;-1:-1:-1;;10180:502:1:o;10687:200::-;10753:9;;;10726:4;10781:9;;10809:10;;10821:12;;;10805:29;10844:12;;;10836:21;;10802:56;10799:82;;;10861:18;;:::i;:::-;10799:82;10687:200;;;;:::o
Swarm Source
ipfs://8339f4b92d85105bc78746bb7226ff5b1f05a4be2bc1e90932019ad9eb0ffb85
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.