ETH Price: $3,341.77 (+0.07%)
 
Transaction Hash
Method
Block
From
To
Borrow213771952024-12-11 5:31:1121 days ago1733895071IN
BiFi Finance: USDT Wallet
0 ETH0.0061543211.67984593
Borrow212565722024-11-24 9:00:2337 days ago1732438823IN
BiFi Finance: USDT Wallet
0 ETH0.0058232910.13911964
Withdraw209690602024-10-15 6:05:1177 days ago1728972311IN
BiFi Finance: USDT Wallet
0 ETH0.0054243310.9403465
Borrow208113932024-09-23 6:07:4799 days ago1727071667IN
BiFi Finance: USDT Wallet
0 ETH0.0117126322.22465335
Borrow206595722024-09-02 1:23:11121 days ago1725240191IN
BiFi Finance: USDT Wallet
0 ETH0.000559851.06232934
Borrow201086802024-06-17 2:58:47198 days ago1718593127IN
BiFi Finance: USDT Wallet
0 ETH0.001782593.38245517
Repay199397832024-05-24 12:36:23221 days ago1716554183IN
BiFi Finance: USDT Wallet
0 ETH0.001700536.86874381
Repay199377812024-05-24 5:53:47221 days ago1716530027IN
BiFi Finance: USDT Wallet
0 ETH0.001681236.7180501
Withdraw197751122024-05-01 11:54:59244 days ago1714564499IN
BiFi Finance: USDT Wallet
0 ETH0.004480738.27893241
Handler View Pro...197087892024-04-22 5:15:35254 days ago1713762935IN
BiFi Finance: USDT Wallet
0 ETH0.000702856.23091526
Borrow196574792024-04-15 0:56:11261 days ago1713142571IN
BiFi Finance: USDT Wallet
0 ETH0.004750138.96773227
Borrow195664052024-04-02 6:42:35273 days ago1712040155IN
BiFi Finance: USDT Wallet
0 ETH0.0101697717.61897402
Withdraw195662502024-04-02 6:11:23273 days ago1712038283IN
BiFi Finance: USDT Wallet
0 ETH0.0086426615.54783423
Borrow194197252024-03-12 14:54:23294 days ago1710255263IN
BiFi Finance: USDT Wallet
0 ETH0.0433462882.25101658
Repay193174762024-02-27 7:44:11308 days ago1709019851IN
BiFi Finance: USDT Wallet
0 ETH0.0091514536.8404127
Repay192807882024-02-22 4:29:47314 days ago1708576187IN
BiFi Finance: USDT Wallet
0 ETH0.0065745127.0783423
Repay189348382024-01-04 15:23:59362 days ago1704381839IN
BiFi Finance: USDT Wallet
0 ETH0.0112721445.91727869
Repay189135952024-01-01 15:53:35365 days ago1704124415IN
BiFi Finance: USDT Wallet
0 ETH0.0031907112.74981952
Repay187341242023-12-07 11:29:59390 days ago1701948599IN
BiFi Finance: USDT Wallet
0 ETH0.0079179332.2538628
Repay187202162023-12-05 12:43:23392 days ago1701780203IN
BiFi Finance: USDT Wallet
0 ETH0.0164282165.43331788
Withdraw187020892023-12-02 23:46:11395 days ago1701560771IN
BiFi Finance: USDT Wallet
0 ETH0.0134622827.15074378
Deposit186180802023-11-21 5:32:23407 days ago1700544743IN
BiFi Finance: USDT Wallet
0 ETH0.009617926.9464851
Repay181848002023-09-21 14:19:11467 days ago1695305951IN
BiFi Finance: USDT Wallet
0 ETH0.0033674413.7173372
Withdraw181321902023-09-14 4:38:59475 days ago1694666339IN
BiFi Finance: USDT Wallet
0 ETH0.0058880711.87536492
Withdraw179034602023-08-13 4:09:59507 days ago1691899799IN
BiFi Finance: USDT Wallet
0 ETH0.0056918711.35199605
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UsdtHandlerProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, BSD-3-Clause license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-23
*/

pragma solidity 0.6.12;

interface marketManagerInterface  {
	function setOracleProxy(address oracleProxyAddr) external returns (bool);

	function setBreakerTable(address _target, bool _status) external returns (bool);

	function getCircuitBreaker() external view returns (bool);

	function setCircuitBreaker(bool _emergency) external returns (bool);

	function getTokenHandlerInfo(uint256 handlerID) external view returns (bool, address, string memory);

	function handlerRegister(uint256 handlerID, address tokenHandlerAddr) external returns (bool);

	function applyInterestHandlers(address payable userAddr, uint256 callerID, bool allFlag) external returns (uint256, uint256, uint256);

	function liquidationApplyInterestHandlers(address payable userAddr, uint256 callerID) external returns (uint256, uint256, uint256, uint256, uint256);

	function getTokenHandlerPrice(uint256 handlerID) external view returns (uint256);

	function getTokenHandlerBorrowLimit(uint256 handlerID) external view returns (uint256);

	function getTokenHandlerSupport(uint256 handlerID) external view returns (bool);

	function getTokenHandlersLength() external view returns (uint256);

	function setTokenHandlersLength(uint256 _tokenHandlerLength) external returns (bool);

	function getTokenHandlerID(uint256 index) external view returns (uint256);

	function getTokenHandlerMarginCallLimit(uint256 handlerID) external view returns (uint256);

	function getUserIntraHandlerAssetWithInterest(address payable userAddr, uint256 handlerID) external view returns (uint256, uint256);

	function getUserTotalIntraCreditAsset(address payable userAddr) external view returns (uint256, uint256);

	function getUserLimitIntraAsset(address payable userAddr) external view returns (uint256, uint256);

	function getUserCollateralizableAmount(address payable userAddr, uint256 handlerID) external view returns (uint256);

	function getUserExtraLiquidityAmount(address payable userAddr, uint256 handlerID) external view returns (uint256);

	function partialLiquidationUser(address payable delinquentBorrower, uint256 liquidateAmount, address payable liquidator, uint256 liquidateHandlerID, uint256 rewardHandlerID) external returns (uint256, uint256, uint256);

	function getMaxLiquidationReward(address payable delinquentBorrower, uint256 liquidateHandlerID, uint256 liquidateAmount, uint256 rewardHandlerID, uint256 rewardRatio) external view returns (uint256);

	function partialLiquidationUserReward(address payable delinquentBorrower, uint256 rewardAmount, address payable liquidator, uint256 handlerID) external returns (uint256);

	function setLiquidationManager(address liquidationManagerAddr) external returns (bool);

	function rewardClaimAll(address payable userAddr) external returns (bool);

	function rewardTransfer(uint256 _claimAmountSum) external returns (bool);

	function updateRewardParams(address payable userAddr) external returns (bool);

	function interestUpdateReward() external returns (bool);

	function getGlobalRewardInfo() external view returns (uint256, uint256, uint256);
}

interface interestModelInterface  {
	function getInterestAmount(address handlerDataStorageAddr, address payable userAddr, bool isView) external view returns (bool, uint256, uint256, bool, uint256, uint256);

	function viewInterestAmount(address handlerDataStorageAddr, address payable userAddr) external view returns (bool, uint256, uint256, bool, uint256, uint256);

	function getSIRandBIR(address handlerDataStorageAddr, uint256 depositTotalAmount, uint256 borrowTotalAmount) external view returns (uint256, uint256);
}

interface marketHandlerDataStorageInterface  {
	function setCircuitBreaker(bool _emergency) external returns (bool);

	function setNewCustomer(address payable userAddr) external returns (bool);

	function getUserAccessed(address payable userAddr) external view returns (bool);

	function setUserAccessed(address payable userAddr, bool _accessed) external returns (bool);

	function getReservedAddr() external view returns (address payable);

	function setReservedAddr(address payable reservedAddress) external returns (bool);

	function getReservedAmount() external view returns (int256);

	function addReservedAmount(uint256 amount) external returns (int256);

	function subReservedAmount(uint256 amount) external returns (int256);

	function updateSignedReservedAmount(int256 amount) external returns (int256);

	function setTokenHandler(address _marketHandlerAddr, address _interestModelAddr) external returns (bool);

	function setCoinHandler(address _marketHandlerAddr, address _interestModelAddr) external returns (bool);

	function getDepositTotalAmount() external view returns (uint256);

	function addDepositTotalAmount(uint256 amount) external returns (uint256);

	function subDepositTotalAmount(uint256 amount) external returns (uint256);

	function getBorrowTotalAmount() external view returns (uint256);

	function addBorrowTotalAmount(uint256 amount) external returns (uint256);

	function subBorrowTotalAmount(uint256 amount) external returns (uint256);

	function getUserIntraDepositAmount(address payable userAddr) external view returns (uint256);

	function addUserIntraDepositAmount(address payable userAddr, uint256 amount) external returns (uint256);

	function subUserIntraDepositAmount(address payable userAddr, uint256 amount) external returns (uint256);

	function getUserIntraBorrowAmount(address payable userAddr) external view returns (uint256);

	function addUserIntraBorrowAmount(address payable userAddr, uint256 amount) external returns (uint256);

	function subUserIntraBorrowAmount(address payable userAddr, uint256 amount) external returns (uint256);

	function addDepositAmount(address payable userAddr, uint256 amount) external returns (bool);

	function addBorrowAmount(address payable userAddr, uint256 amount) external returns (bool);

	function subDepositAmount(address payable userAddr, uint256 amount) external returns (bool);

	function subBorrowAmount(address payable userAddr, uint256 amount) external returns (bool);

	function getUserAmount(address payable userAddr) external view returns (uint256, uint256);

	function getHandlerAmount() external view returns (uint256, uint256);

	function getAmount(address payable userAddr) external view returns (uint256, uint256, uint256, uint256);

	function setAmount(address payable userAddr, uint256 depositTotalAmount, uint256 borrowTotalAmount, uint256 depositAmount, uint256 borrowAmount) external returns (uint256);

	function setBlocks(uint256 lastUpdatedBlock, uint256 inactiveActionDelta) external returns (bool);

	function getLastUpdatedBlock() external view returns (uint256);

	function setLastUpdatedBlock(uint256 _lastUpdatedBlock) external returns (bool);

	function getInactiveActionDelta() external view returns (uint256);

	function setInactiveActionDelta(uint256 inactiveActionDelta) external returns (bool);

	function syncActionEXR() external returns (bool);

	function getActionEXR() external view returns (uint256, uint256);

	function setActionEXR(uint256 actionDepositExRate, uint256 actionBorrowExRate) external returns (bool);

	function getGlobalDepositEXR() external view returns (uint256);

	function getGlobalBorrowEXR() external view returns (uint256);

	function setEXR(address payable userAddr, uint256 globalDepositEXR, uint256 globalBorrowEXR) external returns (bool);

	function getUserEXR(address payable userAddr) external view returns (uint256, uint256);

	function setUserEXR(address payable userAddr, uint256 depositEXR, uint256 borrowEXR) external returns (bool);

	function getGlobalEXR() external view returns (uint256, uint256);

	function getMarketHandlerAddr() external view returns (address);

	function setMarketHandlerAddr(address marketHandlerAddr) external returns (bool);

	function getInterestModelAddr() external view returns (address);

	function setInterestModelAddr(address interestModelAddr) external returns (bool);

	function getLimit() external view returns (uint256, uint256);

	function getBorrowLimit() external view returns (uint256);

	function getMarginCallLimit() external view returns (uint256);

	function getMinimumInterestRate() external view returns (uint256);

	function getLiquiditySensitivity() external view returns (uint256);

	function setBorrowLimit(uint256 _borrowLimit) external returns (bool);

	function setMarginCallLimit(uint256 _marginCallLimit) external returns (bool);

	function setMinimumInterestRate(uint256 _minimumInterestRate) external returns (bool);

	function setLiquiditySensitivity(uint256 _liquiditySensitivity) external returns (bool);

	function getLimitOfAction() external view returns (uint256);

	function setLimitOfAction(uint256 limitOfAction) external returns (bool);

	function getLiquidityLimit() external view returns (uint256);

	function setLiquidityLimit(uint256 liquidityLimit) external returns (bool);
}

interface IERC20  {
	function totalSupply() external view returns (uint256);

	function balanceOf(address account) external view returns (uint256);

	function transfer(address recipient, uint256 amount) external ;

	function allowance(address owner, address spender) external view returns (uint256);

	function approve(address spender, uint256 amount) external view returns (bool);

	function transferFrom(address from, address to, uint256 value) external ;
}

interface marketSIHandlerDataStorageInterface  {
	function setCircuitBreaker(bool _emergency) external returns (bool);

	function updateRewardPerBlockStorage(uint256 _rewardPerBlock) external returns (bool);

	function getRewardInfo(address userAddr) external view returns (uint256, uint256, uint256, uint256, uint256, uint256);

	function getMarketRewardInfo() external view returns (uint256, uint256, uint256);

	function setMarketRewardInfo(uint256 _rewardLane, uint256 _rewardLaneUpdateAt, uint256 _rewardPerBlock) external returns (bool);

	function getUserRewardInfo(address userAddr) external view returns (uint256, uint256, uint256);

	function setUserRewardInfo(address userAddr, uint256 _rewardLane, uint256 _rewardLaneUpdateAt, uint256 _rewardAmount) external returns (bool);

	function getBetaRate() external view returns (uint256);

	function setBetaRate(uint256 _betaRate) external returns (bool);
}

contract proxy  {
	address payable owner;

	uint256 handlerID;

	string tokenName;

	uint256 constant unifiedPoint = 10 ** 18;

	uint256 unifiedTokenDecimal = 10 ** 18;

	uint256 underlyingTokenDecimal;

	marketManagerInterface marketManager;

	interestModelInterface interestModelInstance;

	marketHandlerDataStorageInterface handlerDataStorage;

	marketSIHandlerDataStorageInterface SIHandlerDataStorage;

	IERC20 erc20Instance;

	address public handler;

	address public SI;

	string DEPOSIT = "deposit(uint256,bool)";

	string REDEEM = "withdraw(uint256,bool)";

	string BORROW = "borrow(uint256,bool)";

	string REPAY = "repay(uint256,bool)";

	modifier onlyOwner {
		require(msg.sender == owner, "Ownable: caller is not the owner");
		_;
	}

	modifier onlyMarketManager {
		address msgSender = msg.sender;
		require((msgSender == address(marketManager)) || (msgSender == owner), "onlyMarketManager function");
		_;
	}

	constructor () public 
	{
		owner = msg.sender;
	}

	function ownershipTransfer(address _owner) onlyOwner external returns (bool)
	{
		owner = address(uint160(_owner));
		return true;
	}

	function initialize(uint256 _handlerID, address handlerAddr, address marketManagerAddr, address interestModelAddr, address marketDataStorageAddr, address erc20Addr, string memory _tokenName, address siHandlerAddr, address SIHandlerDataStorageAddr) onlyOwner public returns (bool)
	{
		handlerID = _handlerID;
		handler = handlerAddr;
		marketManager = marketManagerInterface(marketManagerAddr);
		interestModelInstance = interestModelInterface(interestModelAddr);
		handlerDataStorage = marketHandlerDataStorageInterface(marketDataStorageAddr);
		erc20Instance = IERC20(erc20Addr);
		tokenName = _tokenName;
		SI = siHandlerAddr;
		SIHandlerDataStorage = marketSIHandlerDataStorageInterface(SIHandlerDataStorageAddr);
	}

	function setHandlerID(uint256 _handlerID) onlyOwner public returns (bool)
	{
		handlerID = _handlerID;
		return true;
	}

	function setHandlerAddr(address handlerAddr) onlyOwner public returns (bool)
	{
		handler = handlerAddr;
		return true;
	}

	function setSiHandlerAddr(address siHandlerAddr) onlyOwner public returns (bool)
	{
		SI = siHandlerAddr;
		return true;
	}

	function getHandlerID() public view returns (uint256)
	{
		return handlerID;
	}

	function getHandlerAddr() public view returns (address)
	{
		return handler;
	}

	function getSiHandlerAddr() public view returns (address)
	{
		return SI;
	}

	function migration(address target) onlyOwner public returns (bool)
	{
		uint256 balance = erc20Instance.balanceOf(address(this));
		erc20Instance.transfer(target, balance);
	}

	function deposit(uint256 unifiedTokenAmount, bool flag) public payable returns (bool)
	{
		bool result;
		bytes memory returnData;
		bytes memory data = abi.encodeWithSignature(DEPOSIT, unifiedTokenAmount, flag);
		(result, returnData) = handler.delegatecall(data);
		require(result, string(returnData));
		return result;
	}

	function withdraw(uint256 unifiedTokenAmount, bool flag) public returns (bool)
	{
		bool result;
		bytes memory returnData;
		bytes memory data = abi.encodeWithSignature(REDEEM, unifiedTokenAmount, flag);
		(result, returnData) = handler.delegatecall(data);
		require(result, string(returnData));
		return result;
	}

	function borrow(uint256 unifiedTokenAmount, bool flag) public returns (bool)
	{
		bool result;
		bytes memory returnData;
		bytes memory data = abi.encodeWithSignature(BORROW, unifiedTokenAmount, flag);
		(result, returnData) = handler.delegatecall(data);
		require(result, string(returnData));
		return result;
	}

	function repay(uint256 unifiedTokenAmount, bool flag) public payable returns (bool)
	{
		bool result;
		bytes memory returnData;
		bytes memory data = abi.encodeWithSignature(REPAY, unifiedTokenAmount, flag);
		(result, returnData) = handler.delegatecall(data);
		require(result, string(returnData));
		return result;
	}

	function handlerProxy(bytes memory data) onlyMarketManager external returns (bool, bytes memory)
	{
		bool result;
		bytes memory returnData;
		(result, returnData) = handler.delegatecall(data);
		require(result, string(returnData));
		return (result, returnData);
	}

	function handlerViewProxy(bytes memory data) external returns (bool, bytes memory)
	{
		bool result;
		bytes memory returnData;
		(result, returnData) = handler.delegatecall(data);
		require(result, string(returnData));
		return (result, returnData);
	}

	function siProxy(bytes memory data) onlyMarketManager external returns (bool, bytes memory)
	{
		bool result;
		bytes memory returnData;
		(result, returnData) = SI.delegatecall(data);
		require(result, string(returnData));
		return (result, returnData);
	}

	function siViewProxy(bytes memory data) external returns (bool, bytes memory)
	{
		bool result;
		bytes memory returnData;
		(result, returnData) = SI.delegatecall(data);
		require(result, string(returnData));
		return (result, returnData);
	}
}

contract UsdtHandlerProxy is proxy {
    constructor()
    proxy() public {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"SI","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"unifiedTokenAmount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"borrow","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"unifiedTokenAmount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"deposit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getHandlerAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHandlerID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSiHandlerAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"handler","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"handlerProxy","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"handlerViewProxy","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_handlerID","type":"uint256"},{"internalType":"address","name":"handlerAddr","type":"address"},{"internalType":"address","name":"marketManagerAddr","type":"address"},{"internalType":"address","name":"interestModelAddr","type":"address"},{"internalType":"address","name":"marketDataStorageAddr","type":"address"},{"internalType":"address","name":"erc20Addr","type":"address"},{"internalType":"string","name":"_tokenName","type":"string"},{"internalType":"address","name":"siHandlerAddr","type":"address"},{"internalType":"address","name":"SIHandlerDataStorageAddr","type":"address"}],"name":"initialize","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"migration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"ownershipTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"unifiedTokenAmount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"repay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"handlerAddr","type":"address"}],"name":"setHandlerAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_handlerID","type":"uint256"}],"name":"setHandlerID","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"siHandlerAddr","type":"address"}],"name":"setSiHandlerAddr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"siProxy","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"name":"siViewProxy","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"unifiedTokenAmount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

670de0b6b3a764000060035560c0604052601560808190527f6465706f7369742875696e743235362c626f6f6c29000000000000000000000060a09081526200004c91600c919062000148565b506040805180820190915260168082527f77697468647261772875696e743235362c626f6f6c290000000000000000000060209092019182526200009391600d9162000148565b506040805180820190915260148082527f626f72726f772875696e743235362c626f6f6c290000000000000000000000006020909201918252620000da91600e9162000148565b506040805180820190915260138082527f72657061792875696e743235362c626f6f6c290000000000000000000000000060209092019182526200012191600f9162000148565b503480156200012f57600080fd5b50600080546001600160a01b03191633179055620001e4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018b57805160ff1916838001178555620001bb565b82800160010185558215620001bb579182015b82811115620001bb5782518255916020019190600101906200019e565b50620001c9929150620001cd565b5090565b5b80821115620001c95760008155600101620001ce565b61139c80620001f46000396000f3fe6080604052600436106101145760003560e01c8063829311cc116100a0578063ba0b362311610064578063ba0b36231461067a578063c0a47d451461069f578063c80916d4146106b4578063d3a417a2146106c9578063ff41073a146106fc57610114565b8063829311cc146105b15780638cd01307146105c65780639a408321146105f8578063adc495561461061d578063b6fd00701461065057610114565b806343b5eabe116100e757806343b5eabe14610373578063478a425114610424578063575979c514610457578063685e24861461047e5780637ad23b7f146104b157610114565b80630e76d128146101195780631e157ad11461024b5780631f426b1d1461027c57806338d074361461032d575b600080fd5b34801561012557600080fd5b506101ca6004803603602081101561013c57600080fd5b810190602081018135600160201b81111561015657600080fd5b82018360208201111561016857600080fd5b803590602001918460018302840111600160201b8311171561018957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107ad945050505050565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561020f5781810151838201526020016101f7565b50505050905090810190601f16801561023c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561025757600080fd5b506102606108f5565b604080516001600160a01b039092168252519081900360200190f35b34801561028857600080fd5b506101ca6004803603602081101561029f57600080fd5b810190602081018135600160201b8111156102b957600080fd5b8201836020820111156102cb57600080fd5b803590602001918460018302840111600160201b831117156102ec57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610904945050505050565b34801561033957600080fd5b5061035f6004803603604081101561035057600080fd5b5080359060200135151561094b565b604080519115158252519081900360200190f35b34801561037f57600080fd5b506101ca6004803603602081101561039657600080fd5b810190602081018135600160201b8111156103b057600080fd5b8201836020820111156103c257600080fd5b803590602001918460018302840111600160201b831117156103e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b0b945050505050565b34801561043057600080fd5b5061035f6004803603602081101561044757600080fd5b50356001600160a01b0316610c95565b34801561046357600080fd5b5061046c610d08565b60408051918252519081900360200190f35b34801561048a57600080fd5b5061035f600480360360208110156104a157600080fd5b50356001600160a01b0316610d0e565b3480156104bd57600080fd5b5061035f60048036036101208110156104d557600080fd5b8135916001600160a01b03602082013581169260408301358216926060810135831692608082013581169260a0830135909116919081019060e0810160c0820135600160201b81111561052757600080fd5b82018360208201111561053957600080fd5b803590602001918460018302840111600160201b8311171561055a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160a01b038335811694506020909301359092169150610e489050565b3480156105bd57600080fd5b50610260610f40565b3480156105d257600080fd5b5061035f600480360360408110156105e957600080fd5b50803590602001351515610f4f565b61035f6004803603604081101561060e57600080fd5b50803590602001351515610fbb565b34801561062957600080fd5b5061035f6004803603602081101561064057600080fd5b50356001600160a01b0316611027565b34801561065c57600080fd5b5061035f6004803603602081101561067357600080fd5b503561109a565b61035f6004803603604081101561069057600080fd5b508035906020013515156110f1565b3480156106ab57600080fd5b5061026061115d565b3480156106c057600080fd5b5061026061116c565b3480156106d557600080fd5b5061035f600480360360208110156106ec57600080fd5b50356001600160a01b031661117b565b34801561070857600080fd5b506101ca6004803603602081101561071f57600080fd5b810190602081018135600160201b81111561073957600080fd5b82018360208201111561074b57600080fd5b803590602001918460018302840111600160201b8311171561076c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506111ee945050505050565b600a546040518251600092606092849284926001600160a01b0316918791819060208401908083835b602083106107f55780518252601f1990920191602091820191016107d6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610855576040519150601f19603f3d011682016040523d82523d6000602084013e61085a565b606091505b50909250905080826108ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108af578181015183820152602001610897565b50505050905090810190601f1680156108dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509092509050915091565b600b546001600160a01b031681565b600b546040518251600092606092849284926001600160a01b031691879181906020840190808383602083106107f55780518252601f1990920191602091820191016107d6565b600080606080600d8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b820191906000526020600020905b8154815290600101906020018083116109c5575b505060408051918290039091206020850180516001600160e01b03166001600160e01b0319909216919091178152600a54915185519596506001600160a01b039092169486945091925082918083835b60208310610a485780518252601f199092019160209182019101610a29565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610aa8576040519150601f19603f3d011682016040523d82523d6000602084013e610aad565b606091505b5090935091508183610b005760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156108af578181015183820152602001610897565b509195945050505050565b60055460009060609033906001600160a01b0316811480610b3957506000546001600160a01b038281169116145b610b8a576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794d61726b65744d616e616765722066756e6374696f6e000000000000604482015290519081900360640190fd5b600b5460405185516000926060926001600160a01b0390911691889190819060208401908083835b60208310610bd15780518252601f199092019160209182019101610bb2565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5090925090508082610c895760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156108af578181015183820152602001610897565b50909350915050915091565b600080546001600160a01b03163314610ce3576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b60015490565b600080546001600160a01b03163314610d5c576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b600954604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d6020811015610dd157600080fd5b50516009546040805163a9059cbb60e01b81526001600160a01b03878116600483015260248201859052915193945091169163a9059cbb9160448082019260009290919082900301818387803b158015610e2a57600080fd5b505af1158015610e3e573d6000803e3d6000fd5b5050505050919050565b600080546001600160a01b03163314610e96576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b60018a9055600a80546001600160a01b03199081166001600160a01b038c8116919091179092556005805482168b84161790556006805482168a8416179055600780548216898416179055600980549091169187169190911790558351610f049060029060208701906112b3565b50600b80546001600160a01b039485166001600160a01b0319918216179091556008805493909416921691909117909155979650505050505050565b600a546001600160a01b031690565b600080606080600e8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600080606080600c8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600080546001600160a01b03163314611075576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600b80546001600160a01b0383166001600160a01b03199091161790556001919050565b600080546001600160a01b031633146110e8576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600190815590565b600080606080600f8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600b546001600160a01b031690565b600a546001600160a01b031681565b600080546001600160a01b031633146111c9576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b60055460009060609033906001600160a01b031681148061121c57506000546001600160a01b038281169116145b61126d576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794d61726b65744d616e616765722066756e6374696f6e000000000000604482015290519081900360640190fd5b600a5460405185516000926060926001600160a01b03909116918891908190602084019080838360208310610bd15780518252601f199092019160209182019101610bb2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112f457805160ff1916838001178555611321565b82800160010185558215611321579182015b82811115611321578251825591602001919060010190611306565b5061132d929150611331565b5090565b5b8082111561132d576000815560010161133256fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220cf5708d56e8549a6dd6f1f2a61208e54ac313fc2146be6649e07ec8e79322b7664736f6c634300060c0033

Deployed Bytecode

0x6080604052600436106101145760003560e01c8063829311cc116100a0578063ba0b362311610064578063ba0b36231461067a578063c0a47d451461069f578063c80916d4146106b4578063d3a417a2146106c9578063ff41073a146106fc57610114565b8063829311cc146105b15780638cd01307146105c65780639a408321146105f8578063adc495561461061d578063b6fd00701461065057610114565b806343b5eabe116100e757806343b5eabe14610373578063478a425114610424578063575979c514610457578063685e24861461047e5780637ad23b7f146104b157610114565b80630e76d128146101195780631e157ad11461024b5780631f426b1d1461027c57806338d074361461032d575b600080fd5b34801561012557600080fd5b506101ca6004803603602081101561013c57600080fd5b810190602081018135600160201b81111561015657600080fd5b82018360208201111561016857600080fd5b803590602001918460018302840111600160201b8311171561018957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107ad945050505050565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561020f5781810151838201526020016101f7565b50505050905090810190601f16801561023c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561025757600080fd5b506102606108f5565b604080516001600160a01b039092168252519081900360200190f35b34801561028857600080fd5b506101ca6004803603602081101561029f57600080fd5b810190602081018135600160201b8111156102b957600080fd5b8201836020820111156102cb57600080fd5b803590602001918460018302840111600160201b831117156102ec57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610904945050505050565b34801561033957600080fd5b5061035f6004803603604081101561035057600080fd5b5080359060200135151561094b565b604080519115158252519081900360200190f35b34801561037f57600080fd5b506101ca6004803603602081101561039657600080fd5b810190602081018135600160201b8111156103b057600080fd5b8201836020820111156103c257600080fd5b803590602001918460018302840111600160201b831117156103e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b0b945050505050565b34801561043057600080fd5b5061035f6004803603602081101561044757600080fd5b50356001600160a01b0316610c95565b34801561046357600080fd5b5061046c610d08565b60408051918252519081900360200190f35b34801561048a57600080fd5b5061035f600480360360208110156104a157600080fd5b50356001600160a01b0316610d0e565b3480156104bd57600080fd5b5061035f60048036036101208110156104d557600080fd5b8135916001600160a01b03602082013581169260408301358216926060810135831692608082013581169260a0830135909116919081019060e0810160c0820135600160201b81111561052757600080fd5b82018360208201111561053957600080fd5b803590602001918460018302840111600160201b8311171561055a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160a01b038335811694506020909301359092169150610e489050565b3480156105bd57600080fd5b50610260610f40565b3480156105d257600080fd5b5061035f600480360360408110156105e957600080fd5b50803590602001351515610f4f565b61035f6004803603604081101561060e57600080fd5b50803590602001351515610fbb565b34801561062957600080fd5b5061035f6004803603602081101561064057600080fd5b50356001600160a01b0316611027565b34801561065c57600080fd5b5061035f6004803603602081101561067357600080fd5b503561109a565b61035f6004803603604081101561069057600080fd5b508035906020013515156110f1565b3480156106ab57600080fd5b5061026061115d565b3480156106c057600080fd5b5061026061116c565b3480156106d557600080fd5b5061035f600480360360208110156106ec57600080fd5b50356001600160a01b031661117b565b34801561070857600080fd5b506101ca6004803603602081101561071f57600080fd5b810190602081018135600160201b81111561073957600080fd5b82018360208201111561074b57600080fd5b803590602001918460018302840111600160201b8311171561076c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506111ee945050505050565b600a546040518251600092606092849284926001600160a01b0316918791819060208401908083835b602083106107f55780518252601f1990920191602091820191016107d6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610855576040519150601f19603f3d011682016040523d82523d6000602084013e61085a565b606091505b50909250905080826108ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108af578181015183820152602001610897565b50505050905090810190601f1680156108dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509092509050915091565b600b546001600160a01b031681565b600b546040518251600092606092849284926001600160a01b031691879181906020840190808383602083106107f55780518252601f1990920191602091820191016107d6565b600080606080600d8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b820191906000526020600020905b8154815290600101906020018083116109c5575b505060408051918290039091206020850180516001600160e01b03166001600160e01b0319909216919091178152600a54915185519596506001600160a01b039092169486945091925082918083835b60208310610a485780518252601f199092019160209182019101610a29565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610aa8576040519150601f19603f3d011682016040523d82523d6000602084013e610aad565b606091505b5090935091508183610b005760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156108af578181015183820152602001610897565b509195945050505050565b60055460009060609033906001600160a01b0316811480610b3957506000546001600160a01b038281169116145b610b8a576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794d61726b65744d616e616765722066756e6374696f6e000000000000604482015290519081900360640190fd5b600b5460405185516000926060926001600160a01b0390911691889190819060208401908083835b60208310610bd15780518252601f199092019160209182019101610bb2565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5090925090508082610c895760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156108af578181015183820152602001610897565b50909350915050915091565b600080546001600160a01b03163314610ce3576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b60015490565b600080546001600160a01b03163314610d5c576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b600954604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d6020811015610dd157600080fd5b50516009546040805163a9059cbb60e01b81526001600160a01b03878116600483015260248201859052915193945091169163a9059cbb9160448082019260009290919082900301818387803b158015610e2a57600080fd5b505af1158015610e3e573d6000803e3d6000fd5b5050505050919050565b600080546001600160a01b03163314610e96576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b60018a9055600a80546001600160a01b03199081166001600160a01b038c8116919091179092556005805482168b84161790556006805482168a8416179055600780548216898416179055600980549091169187169190911790558351610f049060029060208701906112b3565b50600b80546001600160a01b039485166001600160a01b0319918216179091556008805493909416921691909117909155979650505050505050565b600a546001600160a01b031690565b600080606080600e8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600080606080600c8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600080546001600160a01b03163314611075576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600b80546001600160a01b0383166001600160a01b03199091161790556001919050565b600080546001600160a01b031633146110e8576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600190815590565b600080606080600f8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600b546001600160a01b031690565b600a546001600160a01b031681565b600080546001600160a01b031633146111c9576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b60055460009060609033906001600160a01b031681148061121c57506000546001600160a01b038281169116145b61126d576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794d61726b65744d616e616765722066756e6374696f6e000000000000604482015290519081900360640190fd5b600a5460405185516000926060926001600160a01b03909116918891908190602084019080838360208310610bd15780518252601f199092019160209182019101610bb2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112f457805160ff1916838001178555611321565b82800160010185558215611321579182015b82811115611321578251825591602001919060010190611306565b5061132d929150611331565b5090565b5b8082111561132d576000815560010161133256fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220cf5708d56e8549a6dd6f1f2a61208e54ac313fc2146be6649e07ec8e79322b7664736f6c634300060c0033

Deployed Bytecode Sourcemap

15658:81:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14867:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14867:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14867:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14867:260:0;;-1:-1:-1;14867:260:0;;-1:-1:-1;;;;;14867:260:0:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11004:17;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;11004:17:0;;;;;;;;;;;;;;15401:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15401:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15401:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15401:250:0;;-1:-1:-1;15401:250:0;;-1:-1:-1;;;;;15401:250:0:i;13599:324::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13599:324:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;15132:264;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15132:264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15132:264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15132:264:0;;-1:-1:-1;15132:264:0;;-1:-1:-1;;;;;15132:264:0:i;12557:126::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12557:126:0;-1:-1:-1;;;;;12557:126:0;;:::i;12820:82::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;13078:179;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13078:179:0;-1:-1:-1;;;;;13078:179:0;;:::i;11692:731::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11692:731:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11692:731:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11692:731:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11692:731:0;;-1:-1:-1;;;;;;;11692:731:0;;;;;-1:-1:-1;11692:731:0;;;;;;;;;-1:-1:-1;11692:731:0;;-1:-1:-1;11692:731:0:i;12907:82::-;;;;;;;;;;;;;:::i;13928:322::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13928:322:0;;;;;;;;;:::i;13262:332::-;;;;;;;;;;;;;;;;-1:-1:-1;13262:332:0;;;;;;;;;:::i;12688:127::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12688:127:0;-1:-1:-1;;;;;12688:127:0;;:::i;12428:124::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12428:124:0;;:::i;14255:328::-;;;;;;;;;;;;;;;;-1:-1:-1;14255:328:0;;;;;;;;;:::i;12994:79::-;;;;;;;;;;;;;:::i;10976:22::-;;;;;;;;;;;;;:::i;11550:137::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11550:137:0;-1:-1:-1;;;;;11550:137:0;;:::i;14588:274::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14588:274:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14588:274:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14588:274:0;;-1:-1:-1;14588:274:0;;-1:-1:-1;;;;;14588:274:0:i;14867:260::-;15024:7;;:26;;;;14930:4;;14936:12;;14930:4;;14936:12;;-1:-1:-1;;;;;15024:7:0;;15045:4;;15024:26;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15024:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15001:49:0;;-1:-1:-1;15001:49:0;-1:-1:-1;15001:49:0;;15055:35;;;;-1:-1:-1;;;15055:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15103:6:0;;-1:-1:-1;15111:10:0;-1:-1:-1;14867:260:0;;;:::o;11004:17::-;;;-1:-1:-1;;;;;11004:17:0;;:::o;15401:250::-;15553:2;;:21;;;;15459:4;;15465:12;;15459:4;;15465:12;;-1:-1:-1;;;;;15553:2:0;;15569:4;;15553:21;;;;;;;;;;;;;;;;;;-1:-1:-1;;15553:21:0;;;;;;;;;;;;13599:324;13672:4;13685:11;13701:23;13729:17;13773:6;13781:18;13801:4;13749:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13749:57:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13749:57:0;-1:-1:-1;;;;;;13749:57:0;;;;;;;;;13834:7;;:26;;;;13749:57;;-1:-1:-1;;;;;;13834:7:0;;;;13749:57;;-1:-1:-1;13834:26:0;;-1:-1:-1;13834:26:0;;;;13749:57;13834:26;;;;;;;;;;-1:-1:-1;;13834:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13811:49:0;;-1:-1:-1;13811:49:0;-1:-1:-1;13811:49:0;;13865:35;;;;-1:-1:-1;;;13865:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13912:6:0;;13599:324;-1:-1:-1;;;;;13599:324:0:o;15132:264::-;11406:13;;15204:4;;15210:12;;11361:10;;-1:-1:-1;;;;;11406:13:0;11385:35;;;11384:61;;-1:-1:-1;11439:5:0;;-1:-1:-1;;;;;11426:18:0;;;11439:5;;11426:18;11384:61;11376:100;;;;;-1:-1:-1;;;11376:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;15298:2:::1;::::0;:21:::1;::::0;;;15231:11:::1;::::0;15247:23:::1;::::0;-1:-1:-1;;;;;15298:2:0;;::::1;::::0;15314:4;;15298:21;;;::::1;::::0;::::1;::::0;;;;::::1;;;;;;::::0;;;;-1:-1:-1;;15298:21:0;;;;::::1;::::0;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15275:44:0;;-1:-1:-1;15275:44:0;-1:-1:-1;15275:44:0;;15324:35:::1;;;::::0;-1:-1:-1;;;15324:35:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;::::1;::::0;;;;;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;-1:-1:-1::0;15372:6:0;;-1:-1:-1;15380:10:0;-1:-1:-1;15132:264:0;;;;:::o;12557:126::-;12628:4;11251:5;;-1:-1:-1;;;;;11251:5:0;11237:10;:19;11229:64;;;;;-1:-1:-1;;;11229:64:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11229:64:0;;;;;;;;;;;;;;;-1:-1:-1;12641:7:0::1;:21:::0;;-1:-1:-1;;;;;12641:21:0;::::1;-1:-1:-1::0;;;;;;12641:21:0;;::::1;;::::0;;;12557:126;;;:::o;12820:82::-;12888:9;;12820:82;:::o;13078:179::-;13139:4;11251:5;;-1:-1:-1;;;;;11251:5:0;11237:10;:19;11229:64;;;;;-1:-1:-1;;;11229:64:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11229:64:0;;;;;;;;;;;;;;;13170:13:::1;::::0;:38:::1;::::0;;-1:-1:-1;;;13170:38:0;;13202:4:::1;13170:38;::::0;::::1;::::0;;;13152:15:::1;::::0;-1:-1:-1;;;;;13170:13:0::1;::::0;:23:::1;::::0;:38;;;;;::::1;::::0;;;;;;;;:13;:38;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13170:38:0;13213:13:::1;::::0;:39:::1;::::0;;-1:-1:-1;;;13213:39:0;;-1:-1:-1;;;;;13213:39:0;;::::1;;::::0;::::1;::::0;;;;;;;;;13170:38;;-1:-1:-1;13213:13:0;::::1;::::0;:22:::1;::::0;:39;;;;;:13:::1;::::0;:39;;;;;;;;:13;;:39;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11298:1;13078:179:::0;;;:::o;11692:731::-;11966:4;11251:5;;-1:-1:-1;;;;;11251:5:0;11237:10;:19;11229:64;;;;;-1:-1:-1;;;11229:64:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11229:64:0;;;;;;;;;;;;;;;11979:9:::1;:22:::0;;;12006:7:::1;:21:::0;;-1:-1:-1;;;;;;12006:21:0;;::::1;-1:-1:-1::0;;;;;12006:21:0;;::::1;::::0;;;::::1;::::0;;;12032:13:::1;:57:::0;;;::::1;::::0;;::::1;;::::0;;12094:21:::1;:65:::0;;;::::1;::::0;;::::1;;::::0;;12164:18:::1;:77:::0;;;::::1;::::0;;::::1;;::::0;;12246:13:::1;:33:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;12284:22;;::::1;::::0;:9:::1;::::0;:22:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;12311:2:0::1;:18:::0;;-1:-1:-1;;;;;12311:18:0;;::::1;-1:-1:-1::0;;;;;;12311:18:0;;::::1;;::::0;;;12334:20:::1;:84:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;11692:731;;-1:-1:-1;;;;;;;11692:731:0:o;12907:82::-;12977:7;;-1:-1:-1;;;;;12977:7:0;12907:82;:::o;13928:322::-;13999:4;14012:11;14028:23;14056:17;14100:6;14108:18;14128:4;14076:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13262:332;13342:4;13355:11;13371:23;13399:17;13443:7;13452:18;13472:4;13419:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12688:127;12763:4;11251:5;;-1:-1:-1;;;;;11251:5:0;11237:10;:19;11229:64;;;;;-1:-1:-1;;;11229:64:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11229:64:0;;;;;;;;;;;;;;;-1:-1:-1;12776:2:0::1;:18:::0;;-1:-1:-1;;;;;12776:18:0;::::1;-1:-1:-1::0;;;;;;12776:18:0;;::::1;;::::0;;;12688:127;;;:::o;12428:124::-;12496:4;11251:5;;-1:-1:-1;;;;;11251:5:0;11237:10;:19;11229:64;;;;;-1:-1:-1;;;11229:64:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11229:64:0;;;;;;;;;;;;;;;-1:-1:-1;12509:9:0::1;:22:::0;;;:9;12428:124::o;14255:328::-;14333:4;14346:11;14362:23;14390:17;14434:5;14441:18;14461:4;14410:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12994:79;13066:2;;-1:-1:-1;;;;;13066:2:0;12994:79;:::o;10976:22::-;;;-1:-1:-1;;;;;10976:22:0;;:::o;11550:137::-;11621:4;11251:5;;-1:-1:-1;;;;;11251:5:0;11237:10;:19;11229:64;;;;;-1:-1:-1;;;11229:64:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11229:64:0;;;;;;;;;;;;;;;-1:-1:-1;11634:5:0::1;:32:::0;;-1:-1:-1;;;;;11634:32:0;::::1;-1:-1:-1::0;;;;;;11634:32:0;;::::1;;::::0;;;11550:137;;;:::o;14588:274::-;11406:13;;14665:4;;14671:12;;11361:10;;-1:-1:-1;;;;;11406:13:0;11385:35;;;11384:61;;-1:-1:-1;11439:5:0;;-1:-1:-1;;;;;11426:18:0;;;11439:5;;11426:18;11384:61;11376:100;;;;;-1:-1:-1;;;11376:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14759:7:::1;::::0;:26:::1;::::0;;;14692:11:::1;::::0;14708:23:::1;::::0;-1:-1:-1;;;;;14759:7:0;;::::1;::::0;14780:4;;14759:26;;;::::1;::::0;::::1;::::0;;;;::::1;;;;;::::0;;;;-1:-1:-1;;14759:26:0;;;;::::1;::::0;;::::1;::::0;::::1;;;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;

Swarm Source

ipfs://cf5708d56e8549a6dd6f1f2a61208e54ac313fc2146be6649e07ec8e79322b76

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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.