Contract Overview
Balance:
0 Ether
EtherValue:
$0.00
More Info
My Name Tag:
Not Available, login to update
Txn Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
0x59be1fc34479a2f7b35479066af23071ce5a6f1e54f238c6904edc257945c410 | 0x60806040 | 10603823 | 909 days 19 hrs ago | 0x2d407ddb06311396fe14d4b49da5f0471447d45c | IN | Create: StrategyVaultTUSD | 0 Ether | 0.16464606 |
[ Download CSV Export ]
View more zero value Internal Transactions in Advanced View mode
Contract Name:
StrategyVaultTUSD
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-06 */ /** *Submitted for verification at Etherscan.io on 2020-08-04 */ // SPDX-License-Identifier: MIT pragma solidity ^0.5.17; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function decimals() external view returns (uint); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != 0x0 && codehash != accountHash); } function toPayable(address account) internal pure returns (address payable) { return address(uint160(account)); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-call-value (bool success, ) = recipient.call.value(amount)(""); require(success, "Address: unable to send value, recipient may have reverted"); } } library SafeERC20 { using SafeMath for uint256; using Address for address; function safeTransfer(IERC20 token, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal { callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove(IERC20 token, address spender, uint256 value) internal { require((value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function callOptionalReturn(IERC20 token, bytes memory data) private { require(address(token).isContract(), "SafeERC20: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = address(token).call(data); require(success, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional // solhint-disable-next-line max-line-length require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } interface Controller { function vaults(address) external view returns (address); } interface Vault { function deposit(uint) external; function withdraw(uint) external; function getPricePerFullShare() external view returns (uint); } interface Aave { function borrow(address _reserve, uint _amount, uint _interestRateModel, uint16 _referralCode) external; function setUserUseReserveAsCollateral(address _reserve, bool _useAsCollateral) external; function repay(address _reserve, uint _amount, address payable _onBehalfOf) external payable; function getUserAccountData(address _user) external view returns ( uint totalLiquidityETH, uint totalCollateralETH, uint totalBorrowsETH, uint totalFeesETH, uint availableBorrowsETH, uint currentLiquidationThreshold, uint ltv, uint healthFactor ); function getUserReserveData(address _reserve, address _user) external view returns ( uint currentATokenBalance, uint currentBorrowBalance, uint principalBorrowBalance, uint borrowRateMode, uint borrowRate, uint liquidityRate, uint originationFee, uint variableBorrowIndex, uint lastUpdateTimestamp, bool usageAsCollateralEnabled ); } interface LendingPoolAddressesProvider { function getLendingPool() external view returns (address); function getLendingPoolCore() external view returns (address); function getPriceOracle() external view returns (address); } /* A strategy must implement the following calls; - deposit() - withdraw(address) must exclude any tokens used in the yield - Controller role - withdraw should return to Controller - withdraw(uint) - Controller | Vault role - withdraw should always return to vault - withdrawAll() - Controller | Vault role - withdraw should always return to vault - balanceOf() Where possible, strategies must remain as immutable as possible, instead of updating variables, we update the contract by linking it in the controller */ contract StrategyVaultTUSD { using SafeERC20 for IERC20; using Address for address; using SafeMath for uint256; address constant public want = address(0x0000000000085d4780B73119b644AE5ecd22b376); address constant public vault = address(0x37d19d1c4E1fa9DC47bD1eA12f742a0887eDa74a); address public constant aave = address(0x24a42fD28C976A61Df5D00D0599C34c4f90748c8); address public governance; address public controller; constructor(address _controller) public { governance = msg.sender; controller = _controller; } function deposit() external { uint _balance = IERC20(want).balanceOf(address(this)); if (_balance > 0) { IERC20(want).safeApprove(address(vault), 0); IERC20(want).safeApprove(address(vault), _balance); Vault(vault).deposit(_balance); } } function getAave() public view returns (address) { return LendingPoolAddressesProvider(aave).getLendingPool(); } function getName() external pure returns (string memory) { return "StrategyVaultTUSD"; } function debt() external view returns (uint) { (,uint currentBorrowBalance,,,,,,,,) = Aave(getAave()).getUserReserveData(want, Controller(controller).vaults(address(this))); return currentBorrowBalance; } function have() external view returns (uint) { uint _have = balanceOf(); _have = _have.mul(999).div(1000); // Adjust for yVault fee return _have; } function skimmable() external view returns (uint) { (,uint currentBorrowBalance,,,,,,,,) = Aave(getAave()).getUserReserveData(want, Controller(controller).vaults(address(this))); uint _have = balanceOf(); _have = _have.mul(999).div(1000); // Adjust for yVault fee if (_have > currentBorrowBalance) { return _have.sub(currentBorrowBalance); } else { return 0; } } function skim() external { require(msg.sender == controller, "!controller"); (,uint currentBorrowBalance,,,,,,,,) = Aave(getAave()).getUserReserveData(want, Controller(controller).vaults(address(this))); uint _have = balanceOf(); _have = _have.mul(999).div(1000); // Adjust for yVault fee if (_have > currentBorrowBalance) { uint _balance = IERC20(want).balanceOf(address(this)); uint _amount = _have.sub(currentBorrowBalance); if (_balance < _amount) { _amount = _withdrawSome(_amount.sub(_balance)); _amount = _amount.add(_balance); } IERC20(want).safeTransfer(controller, _amount); } } // Controller only function for creating additional rewards from dust function withdraw(IERC20 _asset) external returns (uint balance) { require(msg.sender == controller, "!controller"); require(address(_asset) != address(want), "!want"); balance = _asset.balanceOf(address(this)); _asset.safeTransfer(controller, balance); } // Withdraw partial funds, normally used with a vault withdrawal function withdraw(uint _amount) external { require(msg.sender == controller, "!controller"); uint _balance = IERC20(want).balanceOf(address(this)); if (_balance < _amount) { _amount = _withdrawSome(_amount.sub(_balance)); _amount = _amount.add(_balance); } address _vault = Controller(controller).vaults(address(this)); require(_vault != address(0), "!vault"); // additional protection so we don't burn the funds IERC20(want).safeTransfer(_vault, _amount); } // Withdraw all funds, normally used when migrating strategies function withdrawAll() external returns (uint balance) { require(msg.sender == controller, "!controller"); _withdrawAll(); balance = IERC20(want).balanceOf(address(this)); address _vault = Controller(controller).vaults(address(this)); require(_vault != address(0), "!vault"); // additional protection so we don't burn the funds IERC20(want).safeTransfer(_vault, balance); } function normalize(uint _amount) public view returns (uint) { return _amount.mul(10**IERC20(want).decimals()).div(10**IERC20(vault).decimals()); } function _withdrawAll() internal { Vault(vault).withdraw(IERC20(vault).balanceOf(address(this))); } function _withdrawSome(uint256 _amount) internal returns (uint) { uint _redeem = IERC20(vault).balanceOf(address(this)).mul(_amount).div(balanceSavingsInToken()); uint _before = IERC20(want).balanceOf(address(this)); Vault(vault).withdraw(_redeem); uint _after = IERC20(want).balanceOf(address(this)); return _after.sub(_before); } function balanceOf() public view returns (uint) { return IERC20(want).balanceOf(address(this)) .add(balanceSavingsInToken()); } function balanceSavingsInToken() public view returns (uint256) { return normalize(IERC20(vault).balanceOf(address(this)).mul(Vault(vault).getPricePerFullShare()).div(1e18)); } function setGovernance(address _governance) external { require(msg.sender == governance, "!governance"); governance = _governance; } function setController(address _controller) external { require(msg.sender == governance, "!governance"); controller = _controller; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":true,"inputs":[],"name":"aave","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceSavingsInToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"controller","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"debt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getAave","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"have","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"normalize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"setController","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"name":"setGovernance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"skim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"skimmable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vault","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"want","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract IERC20","name":"_asset","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAll","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516130d53803806130d58339818101604052602081101561003357600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613000806100d56000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c8063722713f7116100ad578063ab033ea911610071578063ab033ea91461045b578063d0e30db01461049f578063f77c4791146104a9578063f7c1ec77146104f3578063fbfa77cf1461053d5761012b565b8063722713f714610373578063819faf7b14610391578063853828b6146103db57806392eefe9b146103f95780639d9f91551461043d5761012b565b80631dd19cb4116100f45780631dd19cb41461024f5780631f1fcd51146102595780632e1a7d4d146102a357806351cff8d9146102d15780635aa6e675146103295761012b565b8062dd6eef146101305780630dca59c114610172578063125009cc1461019057806317d7de7c146101ae578063183dcad914610231575b600080fd5b61015c6004803603602081101561014657600080fd5b8101908080359060200190929190505050610587565b6040518082815260200191505060405180910390f35b61017a6106de565b6040518082815260200191505060405180910390f35b61019861092a565b6040518082815260200191505060405180910390f35b6101b6610ac5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610239610b02565b6040518082815260200191505060405180910390f35b610257610dac565b005b610261611272565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102cf600480360360208110156102b957600080fd5b8101908080359060200190929190505050611285565b005b610313600480360360208110156102e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160e565b6040518082815260200191505060405180910390f35b610331611890565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61037b6118b5565b6040518082815260200191505060405180910390f35b61039961199c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103e36119b4565b6040518082815260200191505060405180910390f35b61043b6004803603602081101561040f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d09565b005b610445611e0f565b6040518082815260200191505060405180910390f35b61049d6004803603602081101561047157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e4e565b005b6104a7611f53565b005b6104b1612147565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104fb61216d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610545612209565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006106d77337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e657600080fd5b505afa1580156105fa573d6000803e3d6000fd5b505050506040513d602081101561061057600080fd5b8101908080519060200190929190505050600a0a6106c96e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561067c57600080fd5b505afa158015610690573d6000803e3d6000fd5b505050506040513d60208110156106a657600080fd5b8101908080519060200190929190505050600a0a8561222190919063ffffffff16565b6122a790919063ffffffff16565b9050919050565b6000806106e961216d565b73ffffffffffffffffffffffffffffffffffffffff166328dd2d016e085d4780b73119b644ae5ecd22b376600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156107b357600080fd5b505afa1580156107c7573d6000803e3d6000fd5b505050506040513d60208110156107dd57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506101406040518083038186803b15801561088257600080fd5b505afa158015610896573d6000803e3d6000fd5b505050506040513d6101408110156108ad57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505050505050505050509150508091505090565b6000610ac0610abb670de0b6b3a7640000610aad7337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a73ffffffffffffffffffffffffffffffffffffffff166377c7b8fc6040518163ffffffff1660e01b815260040160206040518083038186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d60208110156109c257600080fd5b81019080805190602001909291905050507337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a6457600080fd5b505afa158015610a78573d6000803e3d6000fd5b505050506040513d6020811015610a8e57600080fd5b810190808051906020019092919050505061222190919063ffffffff16565b6122a790919063ffffffff16565b610587565b905090565b60606040518060400160405280601181526020017f53747261746567795661756c7454555344000000000000000000000000000000815250905090565b600080610b0d61216d565b73ffffffffffffffffffffffffffffffffffffffff166328dd2d016e085d4780b73119b644ae5ecd22b376600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610bd757600080fd5b505afa158015610beb573d6000803e3d6000fd5b505050506040513d6020811015610c0157600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506101406040518083038186803b158015610ca657600080fd5b505afa158015610cba573d6000803e3d6000fd5b505050506040513d610140811015610cd157600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505050505050505050509150506000610d516118b5565b9050610d7c6103e8610d6e6103e78461222190919063ffffffff16565b6122a790919063ffffffff16565b905081811115610da257610d9982826122f190919063ffffffff16565b92505050610da9565b6000925050505b90565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000610e7961216d565b73ffffffffffffffffffffffffffffffffffffffff166328dd2d016e085d4780b73119b644ae5ecd22b376600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f4357600080fd5b505afa158015610f57573d6000803e3d6000fd5b505050506040513d6020811015610f6d57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506101406040518083038186803b15801561101257600080fd5b505afa158015611026573d6000803e3d6000fd5b505050506040513d61014081101561103d57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050505050505050505091505060006110bd6118b5565b90506110e86103e86110da6103e78461222190919063ffffffff16565b6122a790919063ffffffff16565b90508181111561126e5760006e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561118057600080fd5b505afa158015611194573d6000803e3d6000fd5b505050506040513d60208110156111aa57600080fd5b8101908080519060200190929190505050905060006111d284846122f190919063ffffffff16565b90508082101561120f576111f76111f283836122f190919063ffffffff16565b61233b565b905061120c828261266990919063ffffffff16565b90505b61126b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166126f19092919063ffffffff16565b50505b5050565b6e085d4780b73119b644ae5ecd22b37681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156113d657600080fd5b505afa1580156113ea573d6000803e3d6000fd5b505050506040513d602081101561140057600080fd5b810190808051906020019092919050505090508181101561144e5761143661143182846122f190919063ffffffff16565b61233b565b915061144b818361266990919063ffffffff16565b91505b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156114ef57600080fd5b505afa158015611503573d6000803e3d6000fd5b505050506040513d602081101561151957600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f217661756c74000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61160981846e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166126f19092919063ffffffff16565b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b6e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611784576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f2177616e7400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561180157600080fd5b505afa158015611815573d6000803e3d6000fd5b505050506040513d602081101561182b57600080fd5b8101908080519060200190929190505050905061188b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff166126f19092919063ffffffff16565b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006119976118c261092a565b6e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561194e57600080fd5b505afa158015611962573d6000803e3d6000fd5b505050506040513d602081101561197857600080fd5b810190808051906020019092919050505061266990919063ffffffff16565b905090565b7324a42fd28c976a61df5d00d0599c34c4f90748c881565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21636f6e74726f6c6c657200000000000000000000000000000000000000000081525060200191505060405180910390fd5b611a816127c2565b6e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611b0d57600080fd5b505afa158015611b21573d6000803e3d6000fd5b505050506040513d6020811015611b3757600080fd5b810190808051906020019092919050505090506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a622ee7c306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611beb57600080fd5b505afa158015611bff573d6000803e3d6000fd5b505050506040513d6020811015611c1557600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ccb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f217661756c74000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b611d0581836e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166126f19092919063ffffffff16565b5090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080611e1a6118b5565b9050611e456103e8611e376103e78461222190919063ffffffff16565b6122a790919063ffffffff16565b90508091505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fe157600080fd5b505afa158015611ff5573d6000803e3d6000fd5b505050506040513d602081101561200b57600080fd5b810190808051906020019092919050505090506000811115612144576120767337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a60006e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff1661290e9092919063ffffffff16565b6120c47337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a826e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff1661290e9092919063ffffffff16565b7337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a73ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561212b57600080fd5b505af115801561213f573d6000803e3d6000fd5b505050505b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007324a42fd28c976a61df5d00d0599c34c4f90748c873ffffffffffffffffffffffffffffffffffffffff16630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c957600080fd5b505afa1580156121dd573d6000803e3d6000fd5b505050506040513d60208110156121f357600080fd5b8101908080519060200190929190505050905090565b7337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a81565b60008083141561223457600090506122a1565b600082840290508284828161224557fe5b041461229c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612f4b6021913960400191505060405180910390fd5b809150505b92915050565b60006122e983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b2e565b905092915050565b600061233383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612bf4565b905092915050565b60008061243561234961092a565b612427857337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156123de57600080fd5b505afa1580156123f2573d6000803e3d6000fd5b505050506040513d602081101561240857600080fd5b810190808051906020019092919050505061222190919063ffffffff16565b6122a790919063ffffffff16565b905060006e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156124c557600080fd5b505afa1580156124d9573d6000803e3d6000fd5b505050506040513d60208110156124ef57600080fd5b810190808051906020019092919050505090507337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a73ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561256957600080fd5b505af115801561257d573d6000803e3d6000fd5b5050505060006e085d4780b73119b644ae5ecd22b37673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561260f57600080fd5b505afa158015612623573d6000803e3d6000fd5b505050506040513d602081101561263957600080fd5b8101908080519060200190929190505050905061265f82826122f190919063ffffffff16565b9350505050919050565b6000808284019050838110156126e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6127bd838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612cb4565b505050565b7337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a73ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d7337d19d1c4e1fa9dc47bd1ea12f742a0887eda74a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561288357600080fd5b505afa158015612897573d6000803e3d6000fd5b505050506040513d60208110156128ad57600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156128f457600080fd5b505af1158015612908573d6000803e3d6000fd5b50505050565b6000811480612a08575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156129cb57600080fd5b505afa1580156129df573d6000803e3d6000fd5b505050506040513d60208110156129f557600080fd5b8101908080519060200190929190505050145b612a5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180612f966036913960400191505060405180910390fd5b612b29838473ffffffffffffffffffffffffffffffffffffffff1663095ea7b3905060e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612cb4565b505050565b60008083118290612bda576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b9f578082015181840152602081019050612b84565b50505050905090810190601f168015612bcc5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612be657fe5b049050809150509392505050565b6000838311158290612ca1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c66578082015181840152602081019050612c4b565b50505050905090810190601f168015612c935780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b612cd38273ffffffffffffffffffffffffffffffffffffffff16612eff565b612d45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b60208310612d945780518252602082019150602081019050602083039250612d71565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612df6576040519150601f19603f3d011682016040523d82523d6000602084013e612dfb565b606091505b509150915081612e73576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115612ef957808060200190516020811015612e9257600080fd5b8101908080519060200190929190505050612ef8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612f6c602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015612f415750808214155b9250505091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a72315820c52c8d983647129354276b54f226cfe517fb1d1bcaa1fbcc2488d1933f4bb35864736f6c634300051100320000000000000000000000002be5d998c95de70d9a38b3d78e49751f10f9e88b
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002be5d998c95de70d9a38b3d78e49751f10f9e88b
-----Decoded View---------------
Arg [0] : _controller (address): 0x2be5D998C95DE70D9A38b3d78e49751F10F9E88b
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002be5d998c95de70d9a38b3d78e49751f10f9e88b
Deployed ByteCode Sourcemap
7015:5748:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7015:5748:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11377:160;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11377:160:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8200:227;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12237:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8086:102;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8086:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8630:447;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9089:747;;;:::i;:::-;;7153:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10301:552;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10301:552:0;;;;;;;;;;;;;;;;;:::i;:::-;;9923:296;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9923:296:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7429:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12067:158;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7338:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10933:432;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12605:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12605:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8439:179;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12438:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12438:155:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7628:308;;;:::i;:::-;;7461:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7948:126;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7242:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11377:160;11431:4;11455:74;7282:42;11504:22;;;:24;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11504:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11504:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11504:24:0;;;;;;;;;;;;;;;;11500:2;:28;11455:40;7192:42;11471:21;;;:23;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11471:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11471:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11471:23:0;;;;;;;;;;;;;;;;11467:2;:27;11455:7;:11;;:40;;;;:::i;:::-;:44;;:74;;;;:::i;:::-;11448:81;;11377:160;;;:::o;8200:227::-;8239:4;8258:25;8300:9;:7;:9::i;:::-;8295:34;;;7192:42;8347:10;;;;;;;;;;;8336:29;;;8374:4;8336:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8336:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8336:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8336:44:0;;;;;;;;;;;;;;;;8295:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8295:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8295:86:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8295:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8256:125;;;;;;;;;;;8399:20;8392:27;;;8200:227;:::o;12237:189::-;12291:7;12318:100;12328:89;12412:4;12328:79;7282:42;12371:33;;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12371:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12371:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12371:35:0;;;;;;;;;;;;;;;;7282:42;12328:23;;;12360:4;12328:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12328:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12328:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12328:38:0;;;;;;;;;;;;;;;;:42;;:79;;;;:::i;:::-;:83;;:89;;;;:::i;:::-;12318:9;:100::i;:::-;12311:107;;12237:189;:::o;8086:102::-;8128:13;8154:26;;;;;;;;;;;;;;;;;;;8086:102;:::o;8630:447::-;8674:4;8693:25;8735:9;:7;:9::i;:::-;8730:34;;;7192:42;8782:10;;;;;;;;;;;8771:29;;;8809:4;8771:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8771:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8771:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8771:44:0;;;;;;;;;;;;;;;;8730:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8730:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8730:86:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8730:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8691:125;;;;;;;;;;;8827:10;8840:11;:9;:11::i;:::-;8827:24;;8870;8889:4;8870:14;8880:3;8870:5;:9;;:14;;;;:::i;:::-;:18;;:24;;;;:::i;:::-;8862:32;;8942:20;8934:5;:28;8930:140;;;8986:31;8996:20;8986:5;:9;;:31;;;;:::i;:::-;8979:38;;;;;;8930:140;9057:1;9050:8;;;;8630:447;;:::o;9089:747::-;9147:10;;;;;;;;;;;9133:24;;:10;:24;;;9125:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9186:25;9228:9;:7;:9::i;:::-;9223:34;;;7192:42;9275:10;;;;;;;;;;;9264:29;;;9302:4;9264:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9264:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9264:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9264:44:0;;;;;;;;;;;;;;;;9223:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9223:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9223:86:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9223:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9184:125;;;;;;;;;;;9320:10;9333:11;:9;:11::i;:::-;9320:24;;9363;9382:4;9363:14;9373:3;9363:5;:9;;:14;;;;:::i;:::-;:18;;:24;;;;:::i;:::-;9355:32;;9435:20;9427:5;:28;9423:406;;;9472:13;7192:42;9488:22;;;9519:4;9488:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9488:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9488:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9488:37:0;;;;;;;;;;;;;;;;9472:53;;9540:12;9555:31;9565:20;9555:5;:9;;:31;;;;:::i;:::-;9540:46;;9616:7;9605:8;:18;9601:155;;;9654:36;9668:21;9680:8;9668:7;:11;;:21;;;;:::i;:::-;9654:13;:36::i;:::-;9644:46;;9719:21;9731:8;9719:7;:11;;:21;;;;:::i;:::-;9709:31;;9601:155;9771:46;9797:10;;;;;;;;;;;9809:7;7192:42;9771:25;;;;:46;;;;;:::i;:::-;9423:406;;;9089:747;;:::o;7153:82::-;7192:42;7153:82;:::o;10301:552::-;10375:10;;;;;;;;;;;10361:24;;:10;:24;;;10353:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10412:13;7192:42;10428:22;;;10459:4;10428:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10428:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10428:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10428:37:0;;;;;;;;;;;;;;;;10412:53;;10491:7;10480:8;:18;10476:143;;;10525:36;10539:21;10551:8;10539:7;:11;;:21;;;;:::i;:::-;10525:13;:36::i;:::-;10515:46;;10586:21;10598:8;10586:7;:11;;:21;;;;:::i;:::-;10576:31;;10476:143;10629:14;10657:10;;;;;;;;;;;10646:29;;;10684:4;10646:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10646:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10646:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10646:44:0;;;;;;;;;;;;;;;;10629:61;;10727:1;10709:20;;:6;:20;;;;10701:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10803:42;10829:6;10837:7;7192:42;10803:25;;;;:42;;;;;:::i;:::-;10301:552;;;:::o;9923:296::-;9974:12;10021:10;;;;;;;;;;;10007:24;;:10;:24;;;9999:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7192:42;10066:32;;10074:6;10066:32;;;;10058:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10129:6;:16;;;10154:4;10129:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10129:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10129:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10129:31:0;;;;;;;;;;;;;;;;10119:41;;10171:40;10191:10;;;;;;;;;;;10203:7;10171:6;:19;;;;:40;;;;;:::i;:::-;9923:296;;;:::o;7429:25::-;;;;;;;;;;;;;:::o;12067:158::-;12109:4;12133:84;12193:23;:21;:23::i;:::-;7192:42;12133:22;;;12164:4;12133:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12133:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12133:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12133:37:0;;;;;;;;;;;;;;;;:59;;:84;;;;:::i;:::-;12126:91;;12067:158;:::o;7338:82::-;7377:42;7338:82;:::o;10933:432::-;10974:12;11021:10;;;;;;;;;;;11007:24;;:10;:24;;;10999:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11058:14;:12;:14::i;:::-;7192:42;11093:22;;;11124:4;11093:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11093:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11093:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11093:37:0;;;;;;;;;;;;;;;;11083:47;;11141:14;11169:10;;;;;;;;;;;11158:29;;;11196:4;11158:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11158:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11158:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11158:44:0;;;;;;;;;;;;;;;;11141:61;;11239:1;11221:20;;:6;:20;;;;11213:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11315:42;11341:6;11349:7;7192:42;11315:25;;;;:42;;;;;:::i;:::-;10933:432;;:::o;12605:155::-;12691:10;;;;;;;;;;;12677:24;;:10;:24;;;12669:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12741:11;12728:10;;:24;;;;;;;;;;;;;;;;;;12605:155;:::o;8439:179::-;8478:4;8495:10;8508:11;:9;:11::i;:::-;8495:24;;8538;8557:4;8538:14;8548:3;8538:5;:9;;:14;;;;:::i;:::-;:18;;:24;;;;:::i;:::-;8530:32;;8605:5;8598:12;;;8439:179;:::o;12438:155::-;12524:10;;;;;;;;;;;12510:24;;:10;:24;;;12502:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12574:11;12561:10;;:24;;;;;;;;;;;;;;;;;;12438:155;:::o;7628:308::-;7667:13;7192:42;7683:22;;;7714:4;7683:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7683:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7683:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7683:37:0;;;;;;;;;;;;;;;;7667:53;;7746:1;7735:8;:12;7731:198;;;7764:43;7282:42;7805:1;7192:42;7764:24;;;;:43;;;;;:::i;:::-;7822:50;7282:42;7863:8;7192:42;7822:24;;;;:50;;;;;:::i;:::-;7282:42;7887:20;;;7908:8;7887:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7887:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7887:30:0;;;;7731:198;7628:308;:::o;7461:25::-;;;;;;;;;;;;;:::o;7948:126::-;7988:7;7377:42;8015:49;;;:51;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8015:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8015:51:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8015:51:0;;;;;;;;;;;;;;;;8008:58;;7948:126;:::o;7242:83::-;7282:42;7242:83;:::o;1417:250::-;1475:7;1504:1;1499;:6;1495:47;;;1529:1;1522:8;;;;1495:47;1554:9;1570:1;1566;:5;1554:17;;1599:1;1594;1590;:5;;;;;;:10;1582:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1658:1;1651:8;;;1417:250;;;;;:::o;1673:132::-;1731:7;1758:39;1762:1;1765;1758:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1751:46;;1673:132;;;;:::o;1077:136::-;1135:7;1162:43;1166:1;1169;1162:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1155:50;;1077:136;;;;:::o;11674:381::-;11732:4;11749:12;11764:80;11820:23;:21;:23::i;:::-;11764:51;11807:7;7282:42;11764:23;;;11796:4;11764:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11764:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11764:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11764:38:0;;;;;;;;;;;;;;;;:42;;:51;;;;:::i;:::-;:55;;:80;;;;:::i;:::-;11749:95;;11855:12;7192:42;11870:22;;;11901:4;11870:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11870:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11870:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11870:37:0;;;;;;;;;;;;;;;;11855:52;;7282:42;11918:21;;;11940:7;11918:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11918:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11918:30:0;;;;11959:11;7192:42;11973:22;;;12004:4;11973:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11973:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11973:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11973:37:0;;;;;;;;;;;;;;;;11959:51;;12028:19;12039:7;12028:6;:10;;:19;;;;:::i;:::-;12021:26;;;;;11674:381;;;:::o;890:181::-;948:7;968:9;984:1;980;:5;968:17;;1009:1;1004;:6;;996:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1062:1;1055:8;;;890:181;;;;:::o;3390:176::-;3473:85;3492:5;3522;:14;;;:23;;;;3547:2;3551:5;3499:58;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3499:58:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;3499:58:0;3473:18;:85::i;:::-;3390:176;;;:::o;11549:113::-;7282:42;11593:21;;;7282:42;11615:23;;;11647:4;11615:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11615:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11615:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11615:38:0;;;;;;;;;;;;;;;;11593:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11593:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11593:61:0;;;;11549:113::o;3786:347::-;3891:1;3882:5;:10;3881:62;;;;3941:1;3898:5;:15;;;3922:4;3929:7;3898:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3898:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3898:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3898:39:0;;;;;;;;;;;;;;;;:44;3881:62;3873:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4036:89;4055:5;4085;:13;;;:22;;;;4109:7;4118:5;4062:62;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4062:62:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;4062:62:0;4036:18;:89::i;:::-;3786:347;;;:::o;1811:258::-;1897:7;1996:1;1992;:5;1999:12;1984:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1984:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2023:9;2039:1;2035;:5;;;;;;2023:17;;2060:1;2053:8;;;1811:258;;;;;:::o;1219:192::-;1305:7;1338:1;1333;:6;;1341:12;1325:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1325:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1365:9;1381:1;1377;:5;1365:17;;1402:1;1395:8;;;1219:192;;;;;:::o;4139:598::-;4227:27;4235:5;4227:25;;;:27::i;:::-;4219:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4364:12;4378:23;4413:5;4405:19;;4425:4;4405:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4405:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;4363:67:0;;;;4449:7;4441:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4530:1;4510:10;:17;:21;4506:224;;;4652:10;4641:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4641:30:0;;;;;;;;;;;;;;;;4633:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4506:224;4139:598;;;;:::o;2407:374::-;2467:4;2484:16;2511:19;2533:66;2511:88;;;;2702:7;2690:20;2678:32;;2742:3;2730:15;;:8;:15;;:42;;;;;2761:11;2749:8;:23;;2730:42;2722:51;;;;2407:374;;;:::o
Swarm Source
bzzr://c52c8d983647129354276b54f226cfe517fb1d1bcaa1fbcc2488d1933f4bb358
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
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.