Contract Overview
My Name Tag:
Not Available
TokenTracker:
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x730cf1d62b4c7af3132968a0aec9a3070b9a017360e9e19c433a317b81cb6295 | 0x60806040 | 20417437 | 590 days 10 hrs ago | Rodeo Finance: Deployer | IN | Create: StrategySushiswap | 0 ETH | 0.005135567187 ETH |
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
StrategySushiswap
Compiler Version
v0.8.15+commit.e14f2714
Optimization Enabled:
Yes with 20000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {IERC20} from "./interfaces/IERC20.sol"; import {IPairUniV2} from "./interfaces/IPairUniV2.sol"; import {IOracle} from "./interfaces/IOracle.sol"; import {IVault} from "./interfaces/IVault.sol"; import {Strategy} from "./Strategy.sol"; contract StrategySushiswap is Strategy { string public name; IVault public vault; IOracle public oracleToken0; // Chainlink for pool token0 IOracle public oracleToken1; // Chainlink for pool token1 constructor( address _asset, address _investor, string memory _name, address _vault, address _oracleToken0, address _oracleToken1 ) Strategy(_asset, _investor) { name = _name; vault = IVault(_vault); oracleToken0 = IOracle(_oracleToken0); oracleToken1 = IOracle(_oracleToken1); } function getPair() private view returns (IPairUniV2) { return IPairUniV2(vault.asset()); } function rate(uint256 sha) external view override returns (uint256) { IPairUniV2 pair = getPair(); uint256 value = 0; uint256 lpTotalSupply = pair.totalSupply(); uint256 lpAmount = vault.totalManagedAssets(); (uint112 reserve0, uint112 reserve1,) = pair.getReserves(); { uint256 decimals = uint256(IERC20(pair.token0()).decimals()); uint256 price = uint256(oracleToken0.latestAnswer()); value += ((((uint256(reserve0) * 1e12) / (10 ** decimals)) * lpAmount) / lpTotalSupply) * price / 1e14; } { uint256 decimals = uint256(IERC20(pair.token1()).decimals()); uint256 price = uint256(oracleToken1.latestAnswer()); value += ((((uint256(reserve1) * 1e12) / (10 ** decimals)) * lpAmount) / lpTotalSupply) * price / 1e14; } return value * sha / totalShares; } function _mint(uint256 amt) internal override returns (uint256) { IPairUniV2 pair = getPair(); uint256 halfA = amt / 2; if (pair.token0() == address(asset)) { uint256 halfB = _swap1(pair, amt - halfA); _push(pair.token0(), address(pair), halfA); _push(pair.token1(), address(pair), halfB); } else { uint256 halfB = _swap0(pair, amt - halfA); _push(pair.token1(), address(pair), halfA); _push(pair.token0(), address(pair), halfB); } pair.mint(address(this)); pair.skim(address(this)); uint256 liq = IERC20(address(pair)).balanceOf(address(this)); IERC20(address(pair)).approve(address(vault), liq); uint256 before = IERC20(address(vault)).balanceOf(address(this)); vault.mint(liq, address(this)); return IERC20(address(vault)).balanceOf(address(this)) - before; } function _burn(uint256 sha) internal override returns (uint256) { IPairUniV2 pair = getPair(); vault.burn(sha, address(pair)); pair.burn(address(this)); if (pair.token0() == address(asset)) { _swap0(pair, IERC20(pair.token1()).balanceOf(address(this))); } else { _swap1(pair, IERC20(pair.token0()).balanceOf(address(this))); } return asset.balanceOf(address(this)); } function _swap0(IPairUniV2 pair, uint256 amt) private returns (uint256) { (uint112 reserve0, uint112 reserve1,) = pair.getReserves(); uint256 iwf = amt * 997; uint256 num = iwf * uint256(reserve0); uint256 den = (uint256(reserve1) * 1000) + iwf; IERC20(pair.token1()).transfer(address(pair), amt); pair.swap(num / den, 0, address(this), new bytes(0)); pair.skim(address(this)); return num / den; } function _swap1(IPairUniV2 pair, uint256 amt) private returns (uint256) { (uint112 reserve0, uint112 reserve1,) = pair.getReserves(); uint256 iwf = amt * 997; uint256 num = iwf * uint256(reserve1); uint256 den = (uint256(reserve0) * 1000) + iwf; IERC20(pair.token0()).transfer(address(pair), amt); pair.swap(0, num / den, address(this), new bytes(0)); pair.skim(address(this)); return num / den; } }
// SPDX-License-Identifier: MIT pragma solidity 0.8.15; interface IERC20 { function decimals() external view returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address) external view returns (uint256); function approve(address, uint256) external returns (bool); function transfer(address, uint256) external returns (bool); function transferFrom(address, address, uint256) external returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity 0.8.15; interface IPairUniV2 { function token0() external view returns (address); function token1() external view returns (address); function totalSupply() external view returns (uint256); function getReserves() external view returns (uint112, uint112, uint32); function mint(address) external returns (uint256 liquidity); function burn(address) external returns (uint256 amount0, uint256 amount1); function swap(uint256, uint256, address, bytes calldata) external; function skim(address to) external; }
// SPDX-License-Identifier: MIT pragma solidity 0.8.15; interface IOracle { function latestAnswer() external view returns (int256); }
// SPDX-License-Identifier: MIT pragma solidity 0.8.15; interface IVault { function asset() external view returns (address); function totalManagedAssets() external view returns (uint256); function mint(uint256, address) external; function burn(uint256, address) external; }
// SPDX-License-Identifier: MIT pragma solidity 0.8.15; import {IERC20} from "./interfaces/IERC20.sol"; abstract contract Strategy { error Paused(); error NotInvestor(); error UnknownFile(); error Unauthorized(); error TransferFailed(); IERC20 public asset; uint256 public cap; bool public paused; address public investor; mapping(address => bool) public exec; uint256 public totalShares; event FileInt(bytes32 indexed what, uint256 data); event FileAddress(bytes32 indexed what, address data); event Mint(uint256 amt, uint256 sha); event Burn(uint256 sha, uint256 amt); constructor(address _asset, address _investor) { asset = IERC20(_asset); investor = _investor; exec[msg.sender] = true; } modifier auth() { if (!exec[msg.sender]) revert Unauthorized(); _; } function file(bytes32 what, uint256 data) external auth { if (what == "cap") { cap = data; } else if (what == "paused") { paused = data == 1; } else { revert UnknownFile(); } emit FileInt(what, data); } function file(bytes32 what, address data) external auth { if (what == "exec") { exec[data] = !exec[data]; } else { revert UnknownFile(); } emit FileAddress(what, data); } function rate(uint256 sha) external view virtual returns (uint256) { // calculate vault / lp value in usdc terms (through swap if needed) return 0; } function mint(uint256 amt) external returns (uint256) { if (msg.sender != investor) revert NotInvestor(); if (paused) revert Paused(); _pull(address(asset), msg.sender, amt); uint256 sha = _mint(amt); totalShares += sha; emit Mint(amt, sha); return sha; } function burn(uint256 sha) external returns (uint256) { if (msg.sender != investor) revert NotInvestor(); if (paused) revert Paused(); uint256 amt = _burn(sha); totalShares -= sha; _push(address(asset), msg.sender, amt); emit Burn(sha, amt); return amt; } function _pull(address tkn, address usr, uint256 amt) internal { if (!IERC20(tkn).transferFrom(usr, address(this), amt)) revert TransferFailed(); } function _push(address tkn, address usr, uint256 amt) internal { if (!IERC20(tkn).transfer(usr, amt)) revert TransferFailed(); } function _mint(uint256 amt) internal virtual returns (uint256) { // pull in usdc from caller // convert usdc to needed assets // enter vault / lp } function _burn(uint256 sha) internal virtual returns (uint256) { // exit vault / lp // convert assets to usdc // return funds } }
{ "remappings": [ "src/=src/", "src/=src/" ], "optimizer": { "enabled": true, "runs": 20000 }, "metadata": { "bytecodeHash": "ipfs" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "london", "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_asset","type":"address"},{"internalType":"address","name":"_investor","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_oracleToken0","type":"address"},{"internalType":"address","name":"_oracleToken1","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotInvestor","type":"error"},{"inputs":[],"name":"Paused","type":"error"},{"inputs":[],"name":"TransferFailed","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"UnknownFile","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sha","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"address","name":"data","type":"address"}],"name":"FileAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"what","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"data","type":"uint256"}],"name":"FileInt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sha","type":"uint256"}],"name":"Mint","type":"event"},{"inputs":[],"name":"asset","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"sha","type":"uint256"}],"name":"burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exec","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"uint256","name":"data","type":"uint256"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"what","type":"bytes32"},{"internalType":"address","name":"data","type":"address"}],"name":"file","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"investor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracleToken0","outputs":[{"internalType":"contract IOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracleToken1","outputs":[{"internalType":"contract IOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"sha","type":"uint256"}],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract IVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200282d3803806200282d833981016040819052620000349162000112565b600080546001600160a01b0319166001600160a01b0388811691909117825560028054610100600160a81b03191661010092891692909202919091179055338152600360205260409020805460ff191660011790556005620000978582620002dc565b50600680546001600160a01b039485166001600160a01b03199182161790915560078054938516938216939093179092556008805491909316911617905550620003a8915050565b80516001600160a01b0381168114620000f757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060008060008060c087890312156200012c57600080fd5b6200013787620000df565b9550602062000148818901620000df565b60408901519096506001600160401b03808211156200016657600080fd5b818a0191508a601f8301126200017b57600080fd5b815181811115620001905762000190620000fc565b604051601f8201601f19908116603f01168101908382118183101715620001bb57620001bb620000fc565b816040528281528d86848701011115620001d457600080fd5b600093505b82841015620001f85784840186015181850187015292850192620001d9565b828411156200020a5760008684830101525b8099505050505050506200022160608801620000df565b92506200023160808801620000df565b91506200024160a08801620000df565b90509295509295509295565b600181811c908216806200026257607f821691505b6020821081036200028357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002d757600081815260208120601f850160051c81016020861015620002b25750805b601f850160051c820191505b81811015620002d357828155600101620002be565b5050505b505050565b81516001600160401b03811115620002f857620002f8620000fc565b62000310816200030984546200024d565b8462000289565b602080601f8311600181146200034857600084156200032f5750858301515b600019600386901b1c1916600185901b178555620002d3565b600085815260208120601f198616915b82811015620003795788860151825594840194600190910190840162000358565b5085821015620003985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61247580620003b86000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80635c975abb11610097578063ad8c660b11610066578063ad8c660b1461023d578063d4e8be831461025d578063e7ee6ad614610270578063fbfa77cf1461028357600080fd5b80635c975abb146101ca5780636bb6126e146101e75780639fc19ac21461020a578063a0712d681461022a57600080fd5b8063355274ea116100d3578063355274ea1461017757806338d52e0f1461018e5780633a98ef39146101ae57806342966c68146101b757600080fd5b806306fdde03146100fa5780631e0018d61461011857806329ae811414610162575b600080fd5b6101026102a3565b60405161010f9190611fdd565b60405180910390f35b60025461013d90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010f565b610175610170366004611ff0565b610331565b005b61018060015481565b60405190815260200161010f565b60005461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b61018060045481565b6101806101c5366004612012565b610474565b6002546101d79060ff1681565b604051901515815260200161010f565b6101d76101f5366004612050565b60036020526000908152604090205460ff1681565b60075461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b610180610238366004612012565b610592565b60085461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b61017561026b36600461206d565b6106a6565b61018061027e366004612012565b6107b1565b60065461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b600580546102b09061209d565b80601f01602080910402602001604051908101604052809291908181526020018280546102dc9061209d565b80156103295780601f106102fe57610100808354040283529160200191610329565b820191906000526020600020905b81548152906001019060200180831161030c57829003601f168201915b505050505081565b3360009081526003602052604090205460ff1661037a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f6361700000000000000000000000000000000000000000000000000000000000036103ab576001819055610436565b817f70617573656400000000000000000000000000000000000000000000000000000361040457600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018314179055610436565b6040517f33d646de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f75b666bb5982c26146549f340e3f4c827469b18602d2bf483f21ed8a43f67e988260405161046891815260200190565b60405180910390a25050565b600254600090610100900473ffffffffffffffffffffffffffffffffffffffff1633146104cd576040517f3ab272c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff161561050a576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061051583610d3d565b90508260046000828254610529919061211f565b90915550506000546105529073ffffffffffffffffffffffffffffffffffffffff1633836111d9565b60408051848152602081018390527f410c5c259085cde81fedf70c1aa308ec839373c26e9b7ada6560a2aca0254eb691015b60405180910390a192915050565b600254600090610100900473ffffffffffffffffffffffffffffffffffffffff1633146105eb576040517f3ab272c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff1615610628576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005461064c9073ffffffffffffffffffffffffffffffffffffffff1633846112ae565b60006106578361130f565b9050806004600082825461066b9190612136565b909155505060408051848152602081018390527fcc9c58b575eabd3f6a1ee653e91fcea3ff546867ffc3782a3bbca1f9b6dbb8df9101610584565b3360009081526003602052604090205460ff166106ef576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f6578656300000000000000000000000000000000000000000000000000000000036104045773ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff9091161517905560405173ffffffffffffffffffffffffffffffffffffffff8216815282907f41a50316b758972a692a69178de3d99c3138a652f5213364ee8eff829f22048a90602001610468565b6000806107bc6119ad565b90506000808273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610830919061214e565b90506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305b2bfb06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c5919061214e565b90506000808573ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610939919061218a565b509150915060008673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906121f7565b60ff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab5919061214e565b9050655af3107a4000818787610acc86600a61233a565b610aeb6dffffffffffffffffffffffffffff8a1664e8d4a51000612346565b610af59190612383565b610aff9190612346565b610b099190612383565b610b139190612346565b610b1d9190612383565b610b279088612136565b9650505060008673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a91906121f7565b60ff1690506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca2919061214e565b9050655af3107a4000818787610cb986600a61233a565b610cd86dffffffffffffffffffffffffffff891664e8d4a51000612346565b610ce29190612383565b610cec9190612346565b610cf69190612383565b610d009190612346565b610d0a9190612383565b610d149088612136565b965050506004548886610d279190612346565b610d319190612383565b98975050505050505050565b600080610d486119ad565b6006546040517ffcd3533c0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff808416602483015292935091169063fcd3533c90604401600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b50506040517f89afcb4400000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff841692506389afcb44915060240160408051808303816000875af1158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6591906123be565b505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d91906121da565b73ffffffffffffffffffffffffffffffffffffffff160361103657611030818273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b91906121da565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b919061214e565b611a46565b50611140565b61113e818273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a991906121da565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061214e565b611d64565b505b6000546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156111ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d2919061214e565b9392505050565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044015b6020604051808303816000875af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127391906123e2565b6112a9576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152306024830152604482018390528416906323b872dd90606401611230565b60008061131a6119ad565b90506000611329600285612383565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d191906121da565b73ffffffffffffffffffffffffffffffffffffffff16036114f65760006113fc83611139848861211f565b90506114778373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147091906121da565b84846111d9565b6114f08373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e991906121da565b84836111d9565b506115a6565b60006115068361102b848861211f565b90506115568373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b6115a48373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c5573d6000803e3d6000fd5b505b6040517f6a62784200000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831690636a627842906024016020604051808303816000875af1158015611612573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611636919061214e565b506040517fbc25cf7700000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83169063bc25cf7790602401600060405180830381600087803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000925073ffffffffffffffffffffffffffffffffffffffff851691506370a0823190602401602060405180830381865afa158015611723573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611747919061214e565b6006546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526024810183905291925084169063095ea7b3906044016020604051808303816000875af11580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e691906123e2565b506006546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015611856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187a919061214e565b6006546040517f94bf804d0000000000000000000000000000000000000000000000000000000081526004810185905230602482015291925073ffffffffffffffffffffffffffffffffffffffff16906394bf804d90604401600060405180830381600087803b1580156118ed57600080fd5b505af1158015611901573d6000803e3d6000fd5b50506006546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015284935073ffffffffffffffffffffffffffffffffffffffff90911691506370a0823190602401602060405180830381865afa158015611975573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611999919061214e565b6119a3919061211f565b9695505050505050565b600654604080517f38d52e0f000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916338d52e0f9160048083019260209291908290030181865afa158015611a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4191906121da565b905090565b60008060008473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aba919061218a565b5090925090506000611ace856103e5612346565b90506000611aec6dffffffffffffffffffffffffffff851683612346565b9050600082611b0d6dffffffffffffffffffffffffffff86166103e8612346565b611b179190612136565b90508773ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8891906121da565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152602482018a9052919091169063a9059cbb906044016020604051808303816000875af1158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2391906123e2565b5073ffffffffffffffffffffffffffffffffffffffff881663022c0d9f611c4a8385612383565b600030815b6040519080825280601f01601f191660200182016040528015611c79576020820181803683370190505b506040518563ffffffff1660e01b8152600401611c999493929190612404565b600060405180830381600087803b158015611cb357600080fd5b505af1158015611cc7573d6000803e3d6000fd5b50506040517fbc25cf7700000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8b16925063bc25cf779150602401600060405180830381600087803b158015611d3257600080fd5b505af1158015611d46573d6000803e3d6000fd5b505050508082611d569190612383565b955050505050505b92915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd8919061218a565b5090925090506000611dec856103e5612346565b90506000611e0a6dffffffffffffffffffffffffffff841683612346565b9050600082611e2b6dffffffffffffffffffffffffffff87166103e8612346565b611e359190612136565b90508773ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea691906121da565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152602482018a9052919091169063a9059cbb906044016020604051808303816000875af1158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4191906123e2565b5073ffffffffffffffffffffffffffffffffffffffff881663022c0d9f6000611f6a8486612383565b306000611c4f565b6000815180845260005b81811015611f9857602081850181015186830182015201611f7c565b81811115611faa576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006111d26020830184611f72565b6000806040838503121561200357600080fd5b50508035926020909101359150565b60006020828403121561202457600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461204d57600080fd5b50565b60006020828403121561206257600080fd5b81356111d28161202b565b6000806040838503121561208057600080fd5b8235915060208301356120928161202b565b809150509250929050565b600181811c908216806120b157607f821691505b6020821081036120ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612131576121316120f0565b500390565b60008219821115612149576121496120f0565b500190565b60006020828403121561216057600080fd5b5051919050565b80516dffffffffffffffffffffffffffff8116811461218557600080fd5b919050565b60008060006060848603121561219f57600080fd5b6121a884612167565b92506121b660208501612167565b9150604084015163ffffffff811681146121cf57600080fd5b809150509250925092565b6000602082840312156121ec57600080fd5b81516111d28161202b565b60006020828403121561220957600080fd5b815160ff811681146111d257600080fd5b600181815b8085111561227357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612259576122596120f0565b8085161561226657918102915b93841c939080029061221f565b509250929050565b60008261228a57506001611d5e565b8161229757506000611d5e565b81600181146122ad57600281146122b7576122d3565b6001915050611d5e565b60ff8411156122c8576122c86120f0565b50506001821b611d5e565b5060208310610133831016604e8410600b84101617156122f6575081810a611d5e565b612300838361221a565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612332576123326120f0565b029392505050565b60006111d2838361227b565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561237e5761237e6120f0565b500290565b6000826123b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600080604083850312156123d157600080fd5b505080516020909101519092909150565b6000602082840312156123f457600080fd5b815180151581146111d257600080fd5b84815283602082015273ffffffffffffffffffffffffffffffffffffffff831660408201526080606082015260006119a36080830184611f7256fea2646970667358221220fdbb600ddd9baf2c9cc368ff3024dc16ef3da480f02edef5b59c8be3e6d05f0464736f6c634300080f0033000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc80000000000000000000000002105b54c400d8d95e1528285c07b908e0084fc4300000000000000000000000000000000000000000000000000000000000000c000000000000000000000000090da882144d063773a4586a83b277ce7a0ce68e0000000000000000000000000639fe6ab55c921f74e7fac1ee960c0b6293ba61200000000000000000000000050834f3163758fcc1df9973b6e91f0f0f0434ad3000000000000000000000000000000000000000000000000000000000000001353757368695377617020574554482f5553444300000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80635c975abb11610097578063ad8c660b11610066578063ad8c660b1461023d578063d4e8be831461025d578063e7ee6ad614610270578063fbfa77cf1461028357600080fd5b80635c975abb146101ca5780636bb6126e146101e75780639fc19ac21461020a578063a0712d681461022a57600080fd5b8063355274ea116100d3578063355274ea1461017757806338d52e0f1461018e5780633a98ef39146101ae57806342966c68146101b757600080fd5b806306fdde03146100fa5780631e0018d61461011857806329ae811414610162575b600080fd5b6101026102a3565b60405161010f9190611fdd565b60405180910390f35b60025461013d90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010f565b610175610170366004611ff0565b610331565b005b61018060015481565b60405190815260200161010f565b60005461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b61018060045481565b6101806101c5366004612012565b610474565b6002546101d79060ff1681565b604051901515815260200161010f565b6101d76101f5366004612050565b60036020526000908152604090205460ff1681565b60075461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b610180610238366004612012565b610592565b60085461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b61017561026b36600461206d565b6106a6565b61018061027e366004612012565b6107b1565b60065461013d9073ffffffffffffffffffffffffffffffffffffffff1681565b600580546102b09061209d565b80601f01602080910402602001604051908101604052809291908181526020018280546102dc9061209d565b80156103295780601f106102fe57610100808354040283529160200191610329565b820191906000526020600020905b81548152906001019060200180831161030c57829003601f168201915b505050505081565b3360009081526003602052604090205460ff1661037a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f6361700000000000000000000000000000000000000000000000000000000000036103ab576001819055610436565b817f70617573656400000000000000000000000000000000000000000000000000000361040457600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018314179055610436565b6040517f33d646de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f75b666bb5982c26146549f340e3f4c827469b18602d2bf483f21ed8a43f67e988260405161046891815260200190565b60405180910390a25050565b600254600090610100900473ffffffffffffffffffffffffffffffffffffffff1633146104cd576040517f3ab272c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff161561050a576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061051583610d3d565b90508260046000828254610529919061211f565b90915550506000546105529073ffffffffffffffffffffffffffffffffffffffff1633836111d9565b60408051848152602081018390527f410c5c259085cde81fedf70c1aa308ec839373c26e9b7ada6560a2aca0254eb691015b60405180910390a192915050565b600254600090610100900473ffffffffffffffffffffffffffffffffffffffff1633146105eb576040517f3ab272c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025460ff1615610628576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005461064c9073ffffffffffffffffffffffffffffffffffffffff1633846112ae565b60006106578361130f565b9050806004600082825461066b9190612136565b909155505060408051848152602081018390527fcc9c58b575eabd3f6a1ee653e91fcea3ff546867ffc3782a3bbca1f9b6dbb8df9101610584565b3360009081526003602052604090205460ff166106ef576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b817f6578656300000000000000000000000000000000000000000000000000000000036104045773ffffffffffffffffffffffffffffffffffffffff8116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff9091161517905560405173ffffffffffffffffffffffffffffffffffffffff8216815282907f41a50316b758972a692a69178de3d99c3138a652f5213364ee8eff829f22048a90602001610468565b6000806107bc6119ad565b90506000808273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610830919061214e565b90506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305b2bfb06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c5919061214e565b90506000808573ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610915573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610939919061218a565b509150915060008673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906121f7565b60ff1690506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab5919061214e565b9050655af3107a4000818787610acc86600a61233a565b610aeb6dffffffffffffffffffffffffffff8a1664e8d4a51000612346565b610af59190612383565b610aff9190612346565b610b099190612383565b610b139190612346565b610b1d9190612383565b610b279088612136565b9650505060008673ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0a91906121f7565b60ff1690506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca2919061214e565b9050655af3107a4000818787610cb986600a61233a565b610cd86dffffffffffffffffffffffffffff891664e8d4a51000612346565b610ce29190612383565b610cec9190612346565b610cf69190612383565b610d009190612346565b610d0a9190612383565b610d149088612136565b965050506004548886610d279190612346565b610d319190612383565b98975050505050505050565b600080610d486119ad565b6006546040517ffcd3533c0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff808416602483015292935091169063fcd3533c90604401600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b50506040517f89afcb4400000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff841692506389afcb44915060240160408051808303816000875af1158015610e41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6591906123be565b505060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d91906121da565b73ffffffffffffffffffffffffffffffffffffffff160361103657611030818273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b91906121da565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b919061214e565b611a46565b50611140565b61113e818273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a991906121da565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061214e565b611d64565b505b6000546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156111ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d2919061214e565b9392505050565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044015b6020604051808303816000875af115801561124f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127391906123e2565b6112a9576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152306024830152604482018390528416906323b872dd90606401611230565b60008061131a6119ad565b90506000611329600285612383565b905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d191906121da565b73ffffffffffffffffffffffffffffffffffffffff16036114f65760006113fc83611139848861211f565b90506114778373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147091906121da565b84846111d9565b6114f08373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e991906121da565b84836111d9565b506115a6565b60006115068361102b848861211f565b90506115568373ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561144c573d6000803e3d6000fd5b6115a48373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c5573d6000803e3d6000fd5b505b6040517f6a62784200000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831690636a627842906024016020604051808303816000875af1158015611612573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611636919061214e565b506040517fbc25cf7700000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff83169063bc25cf7790602401600060405180830381600087803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000925073ffffffffffffffffffffffffffffffffffffffff851691506370a0823190602401602060405180830381865afa158015611723573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611747919061214e565b6006546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526024810183905291925084169063095ea7b3906044016020604051808303816000875af11580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e691906123e2565b506006546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015611856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187a919061214e565b6006546040517f94bf804d0000000000000000000000000000000000000000000000000000000081526004810185905230602482015291925073ffffffffffffffffffffffffffffffffffffffff16906394bf804d90604401600060405180830381600087803b1580156118ed57600080fd5b505af1158015611901573d6000803e3d6000fd5b50506006546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015284935073ffffffffffffffffffffffffffffffffffffffff90911691506370a0823190602401602060405180830381865afa158015611975573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611999919061214e565b6119a3919061211f565b9695505050505050565b600654604080517f38d52e0f000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916338d52e0f9160048083019260209291908290030181865afa158015611a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4191906121da565b905090565b60008060008473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aba919061218a565b5090925090506000611ace856103e5612346565b90506000611aec6dffffffffffffffffffffffffffff851683612346565b9050600082611b0d6dffffffffffffffffffffffffffff86166103e8612346565b611b179190612136565b90508773ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8891906121da565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152602482018a9052919091169063a9059cbb906044016020604051808303816000875af1158015611bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2391906123e2565b5073ffffffffffffffffffffffffffffffffffffffff881663022c0d9f611c4a8385612383565b600030815b6040519080825280601f01601f191660200182016040528015611c79576020820181803683370190505b506040518563ffffffff1660e01b8152600401611c999493929190612404565b600060405180830381600087803b158015611cb357600080fd5b505af1158015611cc7573d6000803e3d6000fd5b50506040517fbc25cf7700000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8b16925063bc25cf779150602401600060405180830381600087803b158015611d3257600080fd5b505af1158015611d46573d6000803e3d6000fd5b505050508082611d569190612383565b955050505050505b92915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd8919061218a565b5090925090506000611dec856103e5612346565b90506000611e0a6dffffffffffffffffffffffffffff841683612346565b9050600082611e2b6dffffffffffffffffffffffffffff87166103e8612346565b611e359190612136565b90508773ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea691906121da565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152602482018a9052919091169063a9059cbb906044016020604051808303816000875af1158015611f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4191906123e2565b5073ffffffffffffffffffffffffffffffffffffffff881663022c0d9f6000611f6a8486612383565b306000611c4f565b6000815180845260005b81811015611f9857602081850181015186830182015201611f7c565b81811115611faa576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006111d26020830184611f72565b6000806040838503121561200357600080fd5b50508035926020909101359150565b60006020828403121561202457600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461204d57600080fd5b50565b60006020828403121561206257600080fd5b81356111d28161202b565b6000806040838503121561208057600080fd5b8235915060208301356120928161202b565b809150509250929050565b600181811c908216806120b157607f821691505b6020821081036120ea577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612131576121316120f0565b500390565b60008219821115612149576121496120f0565b500190565b60006020828403121561216057600080fd5b5051919050565b80516dffffffffffffffffffffffffffff8116811461218557600080fd5b919050565b60008060006060848603121561219f57600080fd5b6121a884612167565b92506121b660208501612167565b9150604084015163ffffffff811681146121cf57600080fd5b809150509250925092565b6000602082840312156121ec57600080fd5b81516111d28161202b565b60006020828403121561220957600080fd5b815160ff811681146111d257600080fd5b600181815b8085111561227357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612259576122596120f0565b8085161561226657918102915b93841c939080029061221f565b509250929050565b60008261228a57506001611d5e565b8161229757506000611d5e565b81600181146122ad57600281146122b7576122d3565b6001915050611d5e565b60ff8411156122c8576122c86120f0565b50506001821b611d5e565b5060208310610133831016604e8410600b84101617156122f6575081810a611d5e565b612300838361221a565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612332576123326120f0565b029392505050565b60006111d2838361227b565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561237e5761237e6120f0565b500290565b6000826123b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600080604083850312156123d157600080fd5b505080516020909101519092909150565b6000602082840312156123f457600080fd5b815180151581146111d257600080fd5b84815283602082015273ffffffffffffffffffffffffffffffffffffffff831660408201526080606082015260006119a36080830184611f7256fea2646970667358221220fdbb600ddd9baf2c9cc368ff3024dc16ef3da480f02edef5b59c8be3e6d05f0464736f6c634300080f0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc80000000000000000000000002105b54c400d8d95e1528285c07b908e0084fc4300000000000000000000000000000000000000000000000000000000000000c000000000000000000000000090da882144d063773a4586a83b277ce7a0ce68e0000000000000000000000000639fe6ab55c921f74e7fac1ee960c0b6293ba61200000000000000000000000050834f3163758fcc1df9973b6e91f0f0f0434ad3000000000000000000000000000000000000000000000000000000000000001353757368695377617020574554482f5553444300000000000000000000000000
-----Decoded View---------------
Arg [0] : _asset (address): 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8
Arg [1] : _investor (address): 0x2105b54C400d8D95E1528285C07B908E0084fc43
Arg [2] : _name (string): SushiSwap WETH/USDC
Arg [3] : _vault (address): 0x90da882144D063773A4586A83b277ce7A0CE68E0
Arg [4] : _oracleToken0 (address): 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612
Arg [5] : _oracleToken1 (address): 0x50834F3163758fcC1Df9973b6e91f0F0F0434aD3
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000ff970a61a04b1ca14834a43f5de4533ebddb5cc8
Arg [1] : 0000000000000000000000002105b54c400d8d95e1528285c07b908e0084fc43
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 00000000000000000000000090da882144d063773a4586a83b277ce7a0ce68e0
Arg [4] : 000000000000000000000000639fe6ab55c921f74e7fac1ee960c0b6293ba612
Arg [5] : 00000000000000000000000050834f3163758fcc1df9973b6e91f0f0f0434ad3
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000013
Arg [7] : 53757368695377617020574554482f5553444300000000000000000000000000
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.