ETH Price: $2,439.28 (+6.29%)

Contract

0x25567603eb61A4A49f27e433652B5B8940D10682
 

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw186164172023-11-20 23:57:23303 days ago1700524643IN
BiFi Finance: LINK Wallet
0 ETH0.0152592629.13213802
Withdraw179023822023-08-13 0:33:11403 days ago1691886791IN
BiFi Finance: LINK Wallet
0 ETH0.0066585911.82301746
Withdraw170567212023-04-16 3:11:11522 days ago1681614671IN
BiFi Finance: LINK Wallet
0 ETH0.0126613524.04541453
Withdraw161651872022-12-12 0:56:23647 days ago1670806583IN
BiFi Finance: LINK Wallet
0 ETH0.0065040112.35190222
Ownership Transf...151328542022-07-13 7:01:19799 days ago1657695679IN
BiFi Finance: LINK Wallet
0 ETH0.001349750
Ownership Transf...147665322022-05-13 9:20:22860 days ago1652433622IN
BiFi Finance: LINK Wallet
0 ETH0.0040491150
Withdraw141872922022-02-11 21:46:41950 days ago1644616001IN
BiFi Finance: LINK Wallet
0 ETH0.0354848864.58631224
Withdraw138229592021-12-17 13:46:571006 days ago1639748817IN
BiFi Finance: LINK Wallet
0 ETH0.0014522148.40730482
Withdraw138228742021-12-17 13:27:191007 days ago1639747639IN
BiFi Finance: LINK Wallet
0 ETH0.0020355167.8506066
Deposit137063942021-11-29 3:54:251025 days ago1638158065IN
BiFi Finance: LINK Wallet
0 ETH0.0314846692.46191654
Borrow136738482021-11-23 23:45:571030 days ago1637711157IN
BiFi Finance: LINK Wallet
0 ETH0.07034084109.94742375
Withdraw136363982021-11-18 1:25:031036 days ago1637198703IN
BiFi Finance: LINK Wallet
0 ETH0.05337752108.70478478
Repay136363882021-11-18 1:23:421036 days ago1637198622IN
BiFi Finance: LINK Wallet
0 ETH0.03113368126.52832295
Deposit135062402021-10-28 14:23:201056 days ago1635431000IN
BiFi Finance: LINK Wallet
0 ETH0.06112932256.72942147
Deposit135060072021-10-28 13:29:091057 days ago1635427749IN
BiFi Finance: LINK Wallet
0 ETH0.06257769183.77367501
Withdraw134729412021-10-23 9:23:251062 days ago1634981005IN
BiFi Finance: LINK Wallet
0 ETH0.0269341651.28050835
Deposit134711852021-10-23 2:23:141062 days ago1634955794IN
BiFi Finance: LINK Wallet
0 ETH0.0167292265.54825598
Withdraw134576182021-10-20 23:55:141064 days ago1634774114IN
BiFi Finance: LINK Wallet
0 ETH0.0466365988.79237761
Deposit133584622021-10-05 10:10:251080 days ago1633428625IN
BiFi Finance: LINK Wallet
0 ETH0.034912113.96972914
Deposit132183722021-09-13 16:13:471101 days ago1631549627IN
BiFi Finance: LINK Wallet
0 ETH0.03852803102.25306127
Deposit132183722021-09-13 16:13:471101 days ago1631549627IN
BiFi Finance: LINK Wallet
0 ETH0.03481747102.25306127
Withdraw131592602021-09-04 12:46:151111 days ago1630759575IN
BiFi Finance: LINK Wallet
0 ETH0.0398094375.79399291
Withdraw131468552021-09-02 14:38:151112 days ago1630593495IN
BiFi Finance: LINK Wallet
0 ETH0.06441021122.63193987
Deposit130887082021-08-24 14:59:511121 days ago1629817191IN
BiFi Finance: LINK Wallet
0 ETH0.0277755881.56934777
Repay130785602021-08-23 1:06:341123 days ago1629680794IN
BiFi Finance: LINK Wallet
0 ETH0.0080584430.83591631
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:
LinkHandlerProxy

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 LinkHandlerProxy 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"}]

670de0b6b3a764000060035560c0604052601560808190527f6465706f7369742875696e743235362c626f6f6c29000000000000000000000060a09081526200004c91600c919062000148565b506040805180820190915260168082527f77697468647261772875696e743235362c626f6f6c290000000000000000000060209092019182526200009391600d9162000148565b506040805180820190915260148082527f626f72726f772875696e743235362c626f6f6c290000000000000000000000006020909201918252620000da91600e9162000148565b506040805180820190915260138082527f72657061792875696e743235362c626f6f6c290000000000000000000000000060209092019182526200012191600f9162000148565b503480156200012f57600080fd5b50600080546001600160a01b03191633179055620001e4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018b57805160ff1916838001178555620001bb565b82800160010185558215620001bb579182015b82811115620001bb5782518255916020019190600101906200019e565b50620001c9929150620001cd565b5090565b5b80821115620001c95760008155600101620001ce565b61139c80620001f46000396000f3fe6080604052600436106101145760003560e01c8063829311cc116100a0578063ba0b362311610064578063ba0b36231461067a578063c0a47d451461069f578063c80916d4146106b4578063d3a417a2146106c9578063ff41073a146106fc57610114565b8063829311cc146105b15780638cd01307146105c65780639a408321146105f8578063adc495561461061d578063b6fd00701461065057610114565b806343b5eabe116100e757806343b5eabe14610373578063478a425114610424578063575979c514610457578063685e24861461047e5780637ad23b7f146104b157610114565b80630e76d128146101195780631e157ad11461024b5780631f426b1d1461027c57806338d074361461032d575b600080fd5b34801561012557600080fd5b506101ca6004803603602081101561013c57600080fd5b810190602081018135600160201b81111561015657600080fd5b82018360208201111561016857600080fd5b803590602001918460018302840111600160201b8311171561018957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107ad945050505050565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561020f5781810151838201526020016101f7565b50505050905090810190601f16801561023c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561025757600080fd5b506102606108f5565b604080516001600160a01b039092168252519081900360200190f35b34801561028857600080fd5b506101ca6004803603602081101561029f57600080fd5b810190602081018135600160201b8111156102b957600080fd5b8201836020820111156102cb57600080fd5b803590602001918460018302840111600160201b831117156102ec57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610904945050505050565b34801561033957600080fd5b5061035f6004803603604081101561035057600080fd5b5080359060200135151561094b565b604080519115158252519081900360200190f35b34801561037f57600080fd5b506101ca6004803603602081101561039657600080fd5b810190602081018135600160201b8111156103b057600080fd5b8201836020820111156103c257600080fd5b803590602001918460018302840111600160201b831117156103e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b0b945050505050565b34801561043057600080fd5b5061035f6004803603602081101561044757600080fd5b50356001600160a01b0316610c95565b34801561046357600080fd5b5061046c610d08565b60408051918252519081900360200190f35b34801561048a57600080fd5b5061035f600480360360208110156104a157600080fd5b50356001600160a01b0316610d0e565b3480156104bd57600080fd5b5061035f60048036036101208110156104d557600080fd5b8135916001600160a01b03602082013581169260408301358216926060810135831692608082013581169260a0830135909116919081019060e0810160c0820135600160201b81111561052757600080fd5b82018360208201111561053957600080fd5b803590602001918460018302840111600160201b8311171561055a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160a01b038335811694506020909301359092169150610e489050565b3480156105bd57600080fd5b50610260610f40565b3480156105d257600080fd5b5061035f600480360360408110156105e957600080fd5b50803590602001351515610f4f565b61035f6004803603604081101561060e57600080fd5b50803590602001351515610fbb565b34801561062957600080fd5b5061035f6004803603602081101561064057600080fd5b50356001600160a01b0316611027565b34801561065c57600080fd5b5061035f6004803603602081101561067357600080fd5b503561109a565b61035f6004803603604081101561069057600080fd5b508035906020013515156110f1565b3480156106ab57600080fd5b5061026061115d565b3480156106c057600080fd5b5061026061116c565b3480156106d557600080fd5b5061035f600480360360208110156106ec57600080fd5b50356001600160a01b031661117b565b34801561070857600080fd5b506101ca6004803603602081101561071f57600080fd5b810190602081018135600160201b81111561073957600080fd5b82018360208201111561074b57600080fd5b803590602001918460018302840111600160201b8311171561076c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506111ee945050505050565b600a546040518251600092606092849284926001600160a01b0316918791819060208401908083835b602083106107f55780518252601f1990920191602091820191016107d6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610855576040519150601f19603f3d011682016040523d82523d6000602084013e61085a565b606091505b50909250905080826108ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108af578181015183820152602001610897565b50505050905090810190601f1680156108dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509092509050915091565b600b546001600160a01b031681565b600b546040518251600092606092849284926001600160a01b031691879181906020840190808383602083106107f55780518252601f1990920191602091820191016107d6565b600080606080600d8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b820191906000526020600020905b8154815290600101906020018083116109c5575b505060408051918290039091206020850180516001600160e01b03166001600160e01b0319909216919091178152600a54915185519596506001600160a01b039092169486945091925082918083835b60208310610a485780518252601f199092019160209182019101610a29565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610aa8576040519150601f19603f3d011682016040523d82523d6000602084013e610aad565b606091505b5090935091508183610b005760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156108af578181015183820152602001610897565b509195945050505050565b60055460009060609033906001600160a01b0316811480610b3957506000546001600160a01b038281169116145b610b8a576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794d61726b65744d616e616765722066756e6374696f6e000000000000604482015290519081900360640190fd5b600b5460405185516000926060926001600160a01b0390911691889190819060208401908083835b60208310610bd15780518252601f199092019160209182019101610bb2565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5090925090508082610c895760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156108af578181015183820152602001610897565b50909350915050915091565b600080546001600160a01b03163314610ce3576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b60015490565b600080546001600160a01b03163314610d5c576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b600954604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d6020811015610dd157600080fd5b50516009546040805163a9059cbb60e01b81526001600160a01b03878116600483015260248201859052915193945091169163a9059cbb9160448082019260009290919082900301818387803b158015610e2a57600080fd5b505af1158015610e3e573d6000803e3d6000fd5b5050505050919050565b600080546001600160a01b03163314610e96576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b60018a9055600a80546001600160a01b03199081166001600160a01b038c8116919091179092556005805482168b84161790556006805482168a8416179055600780548216898416179055600980549091169187169190911790558351610f049060029060208701906112b3565b50600b80546001600160a01b039485166001600160a01b0319918216179091556008805493909416921691909117909155979650505050505050565b600a546001600160a01b031690565b600080606080600e8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600080606080600c8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600080546001600160a01b03163314611075576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600b80546001600160a01b0383166001600160a01b03199091161790556001919050565b600080546001600160a01b031633146110e8576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600190815590565b600080606080600f8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600b546001600160a01b031690565b600a546001600160a01b031681565b600080546001600160a01b031633146111c9576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b60055460009060609033906001600160a01b031681148061121c57506000546001600160a01b038281169116145b61126d576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794d61726b65744d616e616765722066756e6374696f6e000000000000604482015290519081900360640190fd5b600a5460405185516000926060926001600160a01b03909116918891908190602084019080838360208310610bd15780518252601f199092019160209182019101610bb2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112f457805160ff1916838001178555611321565b82800160010185558215611321579182015b82811115611321578251825591602001919060010190611306565b5061132d929150611331565b5090565b5b8082111561132d576000815560010161133256fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220cd806fde29f7ab507cee4a2850a3f6a9404c9060167681fabbc94e99a2224fe764736f6c634300060c0033

Deployed Bytecode

0x6080604052600436106101145760003560e01c8063829311cc116100a0578063ba0b362311610064578063ba0b36231461067a578063c0a47d451461069f578063c80916d4146106b4578063d3a417a2146106c9578063ff41073a146106fc57610114565b8063829311cc146105b15780638cd01307146105c65780639a408321146105f8578063adc495561461061d578063b6fd00701461065057610114565b806343b5eabe116100e757806343b5eabe14610373578063478a425114610424578063575979c514610457578063685e24861461047e5780637ad23b7f146104b157610114565b80630e76d128146101195780631e157ad11461024b5780631f426b1d1461027c57806338d074361461032d575b600080fd5b34801561012557600080fd5b506101ca6004803603602081101561013c57600080fd5b810190602081018135600160201b81111561015657600080fd5b82018360208201111561016857600080fd5b803590602001918460018302840111600160201b8311171561018957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107ad945050505050565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561020f5781810151838201526020016101f7565b50505050905090810190601f16801561023c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561025757600080fd5b506102606108f5565b604080516001600160a01b039092168252519081900360200190f35b34801561028857600080fd5b506101ca6004803603602081101561029f57600080fd5b810190602081018135600160201b8111156102b957600080fd5b8201836020820111156102cb57600080fd5b803590602001918460018302840111600160201b831117156102ec57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610904945050505050565b34801561033957600080fd5b5061035f6004803603604081101561035057600080fd5b5080359060200135151561094b565b604080519115158252519081900360200190f35b34801561037f57600080fd5b506101ca6004803603602081101561039657600080fd5b810190602081018135600160201b8111156103b057600080fd5b8201836020820111156103c257600080fd5b803590602001918460018302840111600160201b831117156103e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b0b945050505050565b34801561043057600080fd5b5061035f6004803603602081101561044757600080fd5b50356001600160a01b0316610c95565b34801561046357600080fd5b5061046c610d08565b60408051918252519081900360200190f35b34801561048a57600080fd5b5061035f600480360360208110156104a157600080fd5b50356001600160a01b0316610d0e565b3480156104bd57600080fd5b5061035f60048036036101208110156104d557600080fd5b8135916001600160a01b03602082013581169260408301358216926060810135831692608082013581169260a0830135909116919081019060e0810160c0820135600160201b81111561052757600080fd5b82018360208201111561053957600080fd5b803590602001918460018302840111600160201b8311171561055a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160a01b038335811694506020909301359092169150610e489050565b3480156105bd57600080fd5b50610260610f40565b3480156105d257600080fd5b5061035f600480360360408110156105e957600080fd5b50803590602001351515610f4f565b61035f6004803603604081101561060e57600080fd5b50803590602001351515610fbb565b34801561062957600080fd5b5061035f6004803603602081101561064057600080fd5b50356001600160a01b0316611027565b34801561065c57600080fd5b5061035f6004803603602081101561067357600080fd5b503561109a565b61035f6004803603604081101561069057600080fd5b508035906020013515156110f1565b3480156106ab57600080fd5b5061026061115d565b3480156106c057600080fd5b5061026061116c565b3480156106d557600080fd5b5061035f600480360360208110156106ec57600080fd5b50356001600160a01b031661117b565b34801561070857600080fd5b506101ca6004803603602081101561071f57600080fd5b810190602081018135600160201b81111561073957600080fd5b82018360208201111561074b57600080fd5b803590602001918460018302840111600160201b8311171561076c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506111ee945050505050565b600a546040518251600092606092849284926001600160a01b0316918791819060208401908083835b602083106107f55780518252601f1990920191602091820191016107d6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610855576040519150601f19603f3d011682016040523d82523d6000602084013e61085a565b606091505b50909250905080826108ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108af578181015183820152602001610897565b50505050905090810190601f1680156108dc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509092509050915091565b600b546001600160a01b031681565b600b546040518251600092606092849284926001600160a01b031691879181906020840190808383602083106107f55780518252601f1990920191602091820191016107d6565b600080606080600d8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b820191906000526020600020905b8154815290600101906020018083116109c5575b505060408051918290039091206020850180516001600160e01b03166001600160e01b0319909216919091178152600a54915185519596506001600160a01b039092169486945091925082918083835b60208310610a485780518252601f199092019160209182019101610a29565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610aa8576040519150601f19603f3d011682016040523d82523d6000602084013e610aad565b606091505b5090935091508183610b005760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156108af578181015183820152602001610897565b509195945050505050565b60055460009060609033906001600160a01b0316811480610b3957506000546001600160a01b038281169116145b610b8a576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794d61726b65744d616e616765722066756e6374696f6e000000000000604482015290519081900360640190fd5b600b5460405185516000926060926001600160a01b0390911691889190819060208401908083835b60208310610bd15780518252601f199092019160209182019101610bb2565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5090925090508082610c895760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156108af578181015183820152602001610897565b50909350915050915091565b600080546001600160a01b03163314610ce3576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b60015490565b600080546001600160a01b03163314610d5c576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b600954604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d6020811015610dd157600080fd5b50516009546040805163a9059cbb60e01b81526001600160a01b03878116600483015260248201859052915193945091169163a9059cbb9160448082019260009290919082900301818387803b158015610e2a57600080fd5b505af1158015610e3e573d6000803e3d6000fd5b5050505050919050565b600080546001600160a01b03163314610e96576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b60018a9055600a80546001600160a01b03199081166001600160a01b038c8116919091179092556005805482168b84161790556006805482168a8416179055600780548216898416179055600980549091169187169190911790558351610f049060029060208701906112b3565b50600b80546001600160a01b039485166001600160a01b0319918216179091556008805493909416921691909117909155979650505050505050565b600a546001600160a01b031690565b600080606080600e8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600080606080600c8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600080546001600160a01b03163314611075576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600b80546001600160a01b0383166001600160a01b03199091161790556001919050565b600080546001600160a01b031633146110e8576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600190815590565b600080606080600f8686604051602401808381526020018215158152602001925050506040516020818303038152906040529060405180828054600181600116156101000203166002900480156109d95780601f106109b75761010080835404028352918201916109d9565b600b546001600160a01b031690565b600a546001600160a01b031681565b600080546001600160a01b031633146111c9576040805162461bcd60e51b81526020600482018190526024820152600080516020611347833981519152604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b60055460009060609033906001600160a01b031681148061121c57506000546001600160a01b038281169116145b61126d576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794d61726b65744d616e616765722066756e6374696f6e000000000000604482015290519081900360640190fd5b600a5460405185516000926060926001600160a01b03909116918891908190602084019080838360208310610bd15780518252601f199092019160209182019101610bb2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112f457805160ff1916838001178555611321565b82800160010185558215611321579182015b82811115611321578251825591602001919060010190611306565b5061132d929150611331565b5090565b5b8082111561132d576000815560010161133256fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220cd806fde29f7ab507cee4a2850a3f6a9404c9060167681fabbc94e99a2224fe764736f6c634300060c0033

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://cd806fde29f7ab507cee4a2850a3f6a9404c9060167681fabbc94e99a2224fe7

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.