More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,132 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake Early | 15568441 | 799 days ago | IN | 0 ETH | 0.00116471 | ||||
Stake | 15568432 | 799 days ago | IN | 0 ETH | 0.00289527 | ||||
Unstake Early | 15568428 | 799 days ago | IN | 0 ETH | 0.00090317 | ||||
Stake | 15568424 | 799 days ago | IN | 0 ETH | 0.00333022 | ||||
Unstake Early | 15568418 | 799 days ago | IN | 0 ETH | 0.00080789 | ||||
Stake | 15568410 | 799 days ago | IN | 0 ETH | 0.00293888 | ||||
Unstake Early | 15568337 | 799 days ago | IN | 0 ETH | 0.0009755 | ||||
Stake | 15568333 | 799 days ago | IN | 0 ETH | 0.00388429 | ||||
Unstake Early | 15568184 | 799 days ago | IN | 0 ETH | 0.001092 | ||||
Stake | 15568177 | 799 days ago | IN | 0 ETH | 0.00479121 | ||||
Unstake Early | 15568167 | 799 days ago | IN | 0 ETH | 0.00140214 | ||||
Stake | 15568164 | 799 days ago | IN | 0 ETH | 0.00450616 | ||||
Unstake Early | 15568145 | 799 days ago | IN | 0 ETH | 0.00111477 | ||||
Unstake Early | 15568139 | 799 days ago | IN | 0 ETH | 0.00122013 | ||||
Stake | 15568123 | 799 days ago | IN | 0 ETH | 0.00470717 | ||||
Stake | 15565353 | 799 days ago | IN | 0 ETH | 0.00116472 | ||||
Unstake | 15488746 | 811 days ago | IN | 0 ETH | 0.00080418 | ||||
Unstake | 15140093 | 866 days ago | IN | 0 ETH | 0.00073273 | ||||
Stake | 13068300 | 1193 days ago | IN | 0 ETH | 0.00906752 | ||||
Unstake Early | 13068174 | 1193 days ago | IN | 0 ETH | 0.00142841 | ||||
Stake | 12976921 | 1207 days ago | IN | 0 ETH | 0.01124868 | ||||
Unstake Early | 12976916 | 1207 days ago | IN | 0 ETH | 0.00263587 | ||||
Stake | 12965209 | 1209 days ago | IN | 0 ETH | 0.01465292 | ||||
Unstake Early | 12965171 | 1209 days ago | IN | 0 ETH | 0.00319079 | ||||
Unstake Early | 12965171 | 1209 days ago | IN | 0 ETH | 0.00319079 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
FlashProtocol
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-01-01 */ // SPDX-License-Identifier: MIT // File: ../../../../media/shakeib98/xio-flash-protocol/contracts/interfaces/IFlashToken.sol pragma solidity 0.6.12; interface IFlashToken { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transfer(address recipient, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); function mint(address to, uint256 value) external returns (bool); function burn(uint256 value) external returns (bool); } // File: ../../../../media/shakeib98/xio-flash-protocol/contracts/interfaces/IFlashReceiver.sol pragma solidity 0.6.12; interface IFlashReceiver { function receiveFlash( bytes32 id, uint256 amountIn, uint256 expireAfter, uint256 mintedAmount, address staker, bytes calldata data ) external returns (uint256); } // File: ../../../../media/shakeib98/xio-flash-protocol/contracts/interfaces/IFlashProtocol.sol pragma solidity 0.6.12; interface IFlashProtocol { enum LockedFunctions { SET_MATCH_RATIO, SET_MATCH_RECEIVER } function TIMELOCK() external view returns (uint256); function FLASH_TOKEN() external view returns (address); function matchRatio() external view returns (uint256); function matchReceiver() external view returns (address); function stakes(bytes32 _id) external view returns ( uint256 amountIn, uint256 expiry, uint256 expireAfter, uint256 mintedAmount, address staker, address receiver ); function stake( uint256 _amountIn, uint256 _days, address _receiver, bytes calldata _data ) external returns ( uint256 mintedAmount, uint256 matchedAmount, bytes32 id ); function lockFunction(LockedFunctions _lockedFunction) external; function unlockFunction(LockedFunctions _lockedFunction) external; function timelock(LockedFunctions _lockedFunction) external view returns (uint256); function balances(address _staker) external view returns (uint256); function unstake(bytes32 _id) external returns (uint256 withdrawAmount); function unstakeEarly(bytes32 _id) external returns (uint256 withdrawAmount); function getFPY(uint256 _amountIn) external view returns (uint256); function setMatchReceiver(address _newMatchReceiver) external; function setMatchRatio(uint256 _newMatchRatio) external; function getMatchedAmount(uint256 mintedAmount) external view returns (uint256); function getMintAmount(uint256 _amountIn, uint256 _expiry) external view returns (uint256); function getPercentageStaked(uint256 _amountIn) external view returns (uint256 percentage); function getInvFPY(uint256 _amount) external view returns (uint256); function getPercentageUnStaked(uint256 _amount) external view returns (uint256 percentage); } // File: ../../../../media/shakeib98/xio-flash-protocol/contracts/libraries/SafeMath.sol pragma solidity 0.6.12; // A library for performing overflow-safe math, courtesy of DappHub: https://github.com/dapphub/ds-math/blob/d0ef6d6a5f/src/math.sol // Modified to include only the essentials library SafeMath { function add(uint256 x, uint256 y) internal pure returns (uint256 z) { require((z = x + y) >= x, "MATH:: ADD_OVERFLOW"); } function sub(uint256 x, uint256 y) internal pure returns (uint256 z) { require((z = x - y) <= x, "MATH:: SUB_UNDERFLOW"); } function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "MATH:: MUL_OVERFLOW"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "MATH:: DIVISION_BY_ZERO"); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } // File: ../../../../media/shakeib98/xio-flash-protocol/contracts/libraries/Address.sol pragma solidity 0.6.12; /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } } // File: ../../../../media/shakeib98/xio-flash-protocol/contracts/FlashProtocol.sol pragma solidity 0.6.12; contract FlashProtocol is IFlashProtocol { using SafeMath for uint256; using Address for address; struct Stake { uint256 amountIn; uint256 expiry; uint256 expireAfter; uint256 mintedAmount; address staker; address receiver; } uint256 public constant override TIMELOCK = 3 days; address public constant override FLASH_TOKEN = 0xB4467E8D621105312a914F1D42f10770C0Ffe3c8; uint256 internal constant PRECISION = 1e18; uint256 internal constant MAX_FPY_FOR_1_YEAR = 5e17; uint256 internal constant SECONDS_IN_1_YEAR = 365 * 86400; uint256 public override matchRatio; address public override matchReceiver; mapping(bytes32 => Stake) public override stakes; mapping(LockedFunctions => uint256) public override timelock; mapping(address => uint256) public override balances; event Staked( bytes32 _id, uint256 _amountIn, uint256 _expiry, uint256 _expireAfter, uint256 _mintedAmount, address indexed _staker, address indexed _receiver ); event Unstaked(bytes32 _id, uint256 _amountIn, address indexed _staker); modifier onlyMatchReceiver { require(msg.sender == matchReceiver, "FlashProtocol:: NOT_MATCH_RECEIVER"); _; } modifier notLocked(LockedFunctions _lockedFunction) { require( timelock[_lockedFunction] != 0 && timelock[_lockedFunction] <= block.timestamp, "FlashProtocol:: FUNCTION_TIMELOCKED" ); _; } constructor(address _initialMatchReceiver) public { _setMatchReceiver(_initialMatchReceiver); } function lockFunction(LockedFunctions _lockedFunction) external override onlyMatchReceiver { timelock[_lockedFunction] = type(uint256).max; } function unlockFunction(LockedFunctions _lockedFunction) external override onlyMatchReceiver { timelock[_lockedFunction] = block.timestamp + TIMELOCK; } function setMatchReceiver(address _newMatchReceiver) external override onlyMatchReceiver notLocked(LockedFunctions.SET_MATCH_RECEIVER) { _setMatchReceiver(_newMatchReceiver); timelock[LockedFunctions.SET_MATCH_RECEIVER] = 0; } function _setMatchReceiver(address _newMatchReceiver) internal { matchReceiver = _newMatchReceiver; } function setMatchRatio(uint256 _newMatchRatio) external override onlyMatchReceiver notLocked(LockedFunctions.SET_MATCH_RATIO) { require(_newMatchRatio >= 0 && _newMatchRatio <= 2000, "FlashProtocol:: INVALID_MATCH_RATIO"); matchRatio = _newMatchRatio; timelock[LockedFunctions.SET_MATCH_RATIO] = 0; } function stake( uint256 _amountIn, uint256 _expiry, address _receiver, bytes calldata _data ) external override returns ( uint256 mintedAmount, uint256 matchedAmount, bytes32 id ) { require(_amountIn > 0, "FlashProtocol:: INVALID_AMOUNT"); require(_receiver != address(this), "FlashProtocol:: INVALID_ADDRESS"); address staker = msg.sender; require(_expiry <= calculateMaxStakePeriod(_amountIn), "FlashProtocol:: MAX_STAKE_PERIOD_EXCEEDS"); uint256 expiration = block.timestamp.add(_expiry); IFlashToken(FLASH_TOKEN).transferFrom(staker, address(this), _amountIn); balances[staker] = balances[staker].add(_amountIn); id = keccak256(abi.encodePacked(_amountIn, _expiry, _receiver, staker, block.timestamp)); require(stakes[id].staker == address(0), "FlashProtocol:: STAKE_EXISTS"); mintedAmount = getMintAmount(_amountIn, _expiry); matchedAmount = getMatchedAmount(mintedAmount); IFlashToken(FLASH_TOKEN).mint(_receiver, mintedAmount); IFlashToken(FLASH_TOKEN).mint(matchReceiver, matchedAmount); stakes[id] = Stake(_amountIn, _expiry, expiration, mintedAmount, staker, _receiver); if (_receiver.isContract()) { IFlashReceiver(_receiver).receiveFlash(id, _amountIn, expiration, mintedAmount, staker, _data); } emit Staked(id, _amountIn, _expiry, expiration, mintedAmount, staker, _receiver); } function unstake(bytes32 _id) external override returns (uint256 withdrawAmount) { Stake memory s = stakes[_id]; require(block.timestamp >= s.expireAfter, "FlashProtol:: STAKE_NOT_EXPIRED"); balances[s.staker] = balances[s.staker].sub(s.amountIn); withdrawAmount = s.amountIn; delete stakes[_id]; IFlashToken(FLASH_TOKEN).transfer(s.staker, withdrawAmount); emit Unstaked(_id, s.amountIn, s.staker); } function unstakeEarly(bytes32 _id) external override returns (uint256 withdrawAmount) { Stake memory s = stakes[_id]; address staker = msg.sender; require(s.staker == staker, "FlashProtocol:: INVALID_STAKER"); uint256 remainingTime = (s.expireAfter.sub(block.timestamp)); uint256 burnAmount = _calculateBurn(s.amountIn, remainingTime, s.expiry); assert(burnAmount <= s.amountIn); balances[staker] = balances[staker].sub(s.amountIn); withdrawAmount = s.amountIn.sub(burnAmount); delete stakes[_id]; IFlashToken(FLASH_TOKEN).burn(burnAmount); IFlashToken(FLASH_TOKEN).transfer(staker, withdrawAmount); emit Unstaked(_id, s.amountIn, staker); } function getMatchedAmount(uint256 _mintedAmount) public override view returns (uint256) { return _mintedAmount.mul(matchRatio).div(10000); } function getMintAmount(uint256 _amountIn, uint256 _expiry) public override view returns (uint256) { return _amountIn.mul(_expiry).mul(getFPY(_amountIn)).div(PRECISION * SECONDS_IN_1_YEAR); } function getFPY(uint256 _amountIn) public override view returns (uint256) { return (PRECISION.sub(getPercentageStaked(_amountIn))).div(2); } function getPercentageStaked(uint256 _amountIn) public override view returns (uint256 percentage) { uint256 locked = IFlashToken(FLASH_TOKEN).balanceOf(address(this)).add(_amountIn); percentage = locked.mul(PRECISION).div(IFlashToken(FLASH_TOKEN).totalSupply()); } function _calculateBurn( uint256 _amount, uint256 _remainingTime, uint256 _totalTime ) private view returns (uint256 burnAmount) { burnAmount = _amount.mul(_remainingTime).mul(getInvFPY(_amount)).div(_totalTime.mul(PRECISION)); } function getInvFPY(uint256 _amount) public override view returns (uint256) { return PRECISION.sub(getPercentageUnStaked(_amount)); } function getPercentageUnStaked(uint256 _amount) public override view returns (uint256 percentage) { uint256 locked = IFlashToken(FLASH_TOKEN).balanceOf(address(this)).sub(_amount); percentage = locked.mul(PRECISION).div(IFlashToken(FLASH_TOKEN).totalSupply()); } function calculateMaxStakePeriod(uint256 _amountIn) private view returns (uint256) { return MAX_FPY_FOR_1_YEAR.mul(SECONDS_IN_1_YEAR).div(getFPY(_amountIn)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_initialMatchReceiver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"_id","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_amountIn","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_expiry","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_expireAfter","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_mintedAmount","type":"uint256"},{"indexed":true,"internalType":"address","name":"_staker","type":"address"},{"indexed":true,"internalType":"address","name":"_receiver","type":"address"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"_id","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_amountIn","type":"uint256"},{"indexed":true,"internalType":"address","name":"_staker","type":"address"}],"name":"Unstaked","type":"event"},{"inputs":[],"name":"FLASH_TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIMELOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountIn","type":"uint256"}],"name":"getFPY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"getInvFPY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintedAmount","type":"uint256"}],"name":"getMatchedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountIn","type":"uint256"},{"internalType":"uint256","name":"_expiry","type":"uint256"}],"name":"getMintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountIn","type":"uint256"}],"name":"getPercentageStaked","outputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"getPercentageUnStaked","outputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum IFlashProtocol.LockedFunctions","name":"_lockedFunction","type":"uint8"}],"name":"lockFunction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"matchRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"matchReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMatchRatio","type":"uint256"}],"name":"setMatchRatio","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMatchReceiver","type":"address"}],"name":"setMatchReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountIn","type":"uint256"},{"internalType":"uint256","name":"_expiry","type":"uint256"},{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"stake","outputs":[{"internalType":"uint256","name":"mintedAmount","type":"uint256"},{"internalType":"uint256","name":"matchedAmount","type":"uint256"},{"internalType":"bytes32","name":"id","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"stakes","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint256","name":"expireAfter","type":"uint256"},{"internalType":"uint256","name":"mintedAmount","type":"uint256"},{"internalType":"address","name":"staker","type":"address"},{"internalType":"address","name":"receiver","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum IFlashProtocol.LockedFunctions","name":"","type":"uint8"}],"name":"timelock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"enum IFlashProtocol.LockedFunctions","name":"_lockedFunction","type":"uint8"}],"name":"unlockFunction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_id","type":"bytes32"}],"name":"unstake","outputs":[{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_id","type":"bytes32"}],"name":"unstakeEarly","outputs":[{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516118dd3803806118dd8339818101604052602081101561003357600080fd5b505161003e81610044565b50610066565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611868806100756000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638fee6407116100ad578063b4fa3b9811610071578063b4fa3b98146103bc578063c17bae2a146103dc578063cc704d54146103fc578063d08c970214610419578063e345a380146104215761012c565b80638fee640714610256578063a066983d146102b2578063aa53099d1461035c578063aad4717d1461037c578063b3e1f050146103995761012c565b80635b49129e116100f45780635b49129e146101ef57806368220664146101f757806371ed5d1a1461021457806376f5cf28146102315780637aadef8b1461024e5761012c565b80631051f6961461013157806321edc93d1461016057806323c6e14c1461017d57806327212b5b146101a157806327e235e3146101c9575b600080fd5b61014e6004803603602081101561014757600080fd5b503561043e565b60408051918252519081900360200190f35b61014e6004803603602081101561017657600080fd5b5035610467565b610185610484565b604080516001600160a01b039092168252519081900360200190f35b6101c7600480360360208110156101b757600080fd5b50356001600160a01b031661049c565b005b61014e600480360360208110156101df57600080fd5b50356001600160a01b03166105b6565b61014e6105c8565b61014e6004803603602081101561020d57600080fd5b50356105ce565b61014e6004803603602081101561022a57600080fd5b50356106ff565b6101c76004803603602081101561024757600080fd5b5035610931565b61014e610a67565b6102736004803603602081101561026c57600080fd5b5035610a6e565b6040805196875260208701959095528585019390935260608501919091526001600160a01b0390811660808501521660a0830152519081900360c00190f35b61033e600480360360808110156102c857600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156102ff57600080fd5b82018360208201111561031157600080fd5b8035906020019184600183028401116401000000008311171561033357600080fd5b509092509050610ab1565b60408051938452602084019290925282820152519081900360600190f35b6101c76004803603602081101561037257600080fd5b503560ff166110b2565b61014e6004803603602081101561039257600080fd5b5035611130565b61014e600480360360408110156103af57600080fd5b50803590602001356111ca565b6101c7600480360360208110156103d257600080fd5b503560ff166111f7565b61014e600480360360208110156103f257600080fd5b503560ff16611253565b61014e6004803603602081101561041257600080fd5b5035611265565b610185611278565b61014e6004803603602081101561043757600080fd5b5035611287565b600061046161271061045b6000548561156d90919063ffffffff16565b906115d2565b92915050565b600061046161047583611130565b670de0b6b3a76400009061163c565b73b4467e8d621105312a914f1d42f10770c0ffe3c881565b6001546001600160a01b031633146104e55760405162461bcd60e51b81526004018080602001828103825260228152602001806118116022913960400191505060405180910390fd5b6001600081905260036020527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c541580159061054a5750426003600083600181111561052d57fe5b600181111561053857fe5b81526020019081526020016000205411155b6105855760405162461bcd60e51b81526004018080602001828103825260238152602001806117c66023913960400191505060405180910390fd5b61058e8261168b565b600060038160015b60018111156105a157fe5b81526020810191909152604001600020555050565b60046020526000908152604090205481565b60005481565b6000806106688373b4467e8d621105312a914f1d42f10770c0ffe3c86001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561063657600080fd5b505afa15801561064a573d6000803e3d6000fd5b505050506040513d602081101561066057600080fd5b5051906116ad565b90506106f873b4467e8d621105312a914f1d42f10770c0ffe3c86001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106ba57600080fd5b505afa1580156106ce573d6000803e3d6000fd5b505050506040513d60208110156106e457600080fd5b505161045b83670de0b6b3a764000061156d565b9392505050565b600061070961175a565b50600082815260026020818152604092839020835160c08101855281548152600182015492810192909252918201549281018390526003820154606082015260048201546001600160a01b03908116608083015260059092015490911660a0820152904210156107c0576040805162461bcd60e51b815260206004820152601f60248201527f466c61736850726f746f6c3a3a205354414b455f4e4f545f4558504952454400604482015290519081900360640190fd5b805160808201516001600160a01b03166000908152600460205260409020546107e89161163c565b6080820180516001600160a01b0390811660009081526004602081815260408084209690965586518984526002808352878520858155600181018690559081018590556003810185905580840180546001600160a01b03199081169091556005909101805490911690559451865163a9059cbb60e01b815294169184019190915260248301849052935192955073b4467e8d621105312a914f1d42f10770c0ffe3c89363a9059cbb93604480850194929391928390030190829087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b505050506040513d60208110156108db57600080fd5b50506080810151815160408051868152602081019290925280516001600160a01b03909316927f2ce17f91452598d1f926f6cfe29a9d42a67ff82b45d1eb94e0634c27555c14da9281900390910190a250919050565b6001546001600160a01b0316331461097a5760405162461bcd60e51b81526004018080602001828103825260228152602001806118116022913960400191505060405180910390fd5b600080805260036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff54158015906109dd575042600360008360018111156109c057fe5b60018111156109cb57fe5b81526020019081526020016000205411155b610a185760405162461bcd60e51b81526004018080602001828103825260238152602001806117c66023913960400191505060405180910390fd5b6107d0821115610a595760405162461bcd60e51b81526004018080602001828103825260238152602001806117a36023913960400191505060405180910390fd5b600082815560038180610596565b6203f48081565b6002602081905260009182526040909120805460018201549282015460038301546004840154600590940154929493919290916001600160a01b03908116911686565b6000806000808811610b0a576040805162461bcd60e51b815260206004820152601e60248201527f466c61736850726f746f636f6c3a3a20494e56414c49445f414d4f554e540000604482015290519081900360640190fd5b6001600160a01b038616301415610b68576040805162461bcd60e51b815260206004820152601f60248201527f466c61736850726f746f636f6c3a3a20494e56414c49445f4144445245535300604482015290519081900360640190fd5b33610b72896116fb565b881115610bb05760405162461bcd60e51b81526004018080602001828103825260288152602001806117e96028913960400191505060405180910390fd5b6000610bbc428a6116ad565b604080516323b872dd60e01b81526001600160a01b0385166004820152306024820152604481018d9052905191925073b4467e8d621105312a914f1d42f10770c0ffe3c8916323b872dd916064808201926020929091908290030181600087803b158015610c2957600080fd5b505af1158015610c3d573d6000803e3d6000fd5b505050506040513d6020811015610c5357600080fd5b50506001600160a01b038216600090815260046020526040902054610c78908b6116ad565b60046000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550898989844260405160200180868152602001858152602001846001600160a01b031660601b8152601401836001600160a01b031660601b81526014018281526020019550505050505060405160208183030381529060405280519060200120925060006001600160a01b03166002600085815260200190815260200160002060040160009054906101000a90046001600160a01b03166001600160a01b031614610d92576040805162461bcd60e51b815260206004820152601c60248201527f466c61736850726f746f636f6c3a3a205354414b455f45584953545300000000604482015290519081900360640190fd5b610d9c8a8a6111ca565b9450610da78561043e565b935073b4467e8d621105312a914f1d42f10770c0ffe3c86001600160a01b03166340c10f1989876040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e1457600080fd5b505af1158015610e28573d6000803e3d6000fd5b505050506040513d6020811015610e3e57600080fd5b5050600154604080516340c10f1960e01b81526001600160a01b039092166004830152602482018690525173b4467e8d621105312a914f1d42f10770c0ffe3c8916340c10f199160448083019260209291908290030181600087803b158015610ea657600080fd5b505af1158015610eba573d6000803e3d6000fd5b505050506040513d6020811015610ed057600080fd5b50506040805160c0810182528b815260208181018c8152828401858152606084018a81526001600160a01b03808916608087019081528f821660a0880181815260008d8152600298899052999099209751885594516001880155925194860194909455516003850155516004840180549184166001600160a01b03199283161790559351600590930180549390921692909316919091179055610f729061171f565b1561104757876001600160a01b0316632cbff446848c8489878d8d6040518863ffffffff1660e01b815260040180888152602001878152602001868152602001858152602001846001600160a01b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050602060405180830381600087803b15801561101a57600080fd5b505af115801561102e573d6000803e3d6000fd5b505050506040513d602081101561104457600080fd5b50505b60408051848152602081018c90528082018b9052606081018390526080810187905290516001600160a01b03808b1692908516917f8872a0bfe035dd55f2341f67aa0f9a8196bb3f97e132b6d3cb2f53f91aaa93f99181900360a00190a35050955095509592505050565b6001546001600160a01b031633146110fb5760405162461bcd60e51b81526004018080602001828103825260228152602001806118116022913960400191505060405180910390fd5b6203f48042016003600083600181111561111157fe5b600181111561111c57fe5b815260208101919091526040016000205550565b6000806106688373b4467e8d621105312a914f1d42f10770c0ffe3c86001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561119857600080fd5b505afa1580156111ac573d6000803e3d6000fd5b505050506040513d60208110156111c257600080fd5b50519061163c565b60006106f86a1a1601fc4ea7109e00000061045b6111e786611265565b6111f1878761156d565b9061156d565b6001546001600160a01b031633146112405760405162461bcd60e51b81526004018080602001828103825260228152602001806118116022913960400191505060405180910390fd5b6000196003600083600181111561111157fe5b60036020526000908152604090205481565b6000610461600261045b610475856105ce565b6001546001600160a01b031681565b600061129161175a565b50600082815260026020818152604092839020835160c0810185528154815260018201549281019290925291820154928101929092526003810154606083015260048101546001600160a01b03908116608084018190526005909201541660a083015233908114611349576040805162461bcd60e51b815260206004820152601e60248201527f466c61736850726f746f636f6c3a3a20494e56414c49445f5354414b45520000604482015290519081900360640190fd5b604082015160009061135b904261163c565b905060006113728460000151838660200151611725565b845190915081111561138057fe5b83516001600160a01b0384166000908152600460205260409020546113a49161163c565b6001600160a01b03841660009081526004602052604090205583516113c9908261163c565b60008781526002602081815260408084208481556001810185905592830184905560038301849055600480840180546001600160a01b0319908116909155600590940180549094169093558051630852cd8d60e31b81529283018690525193985073b4467e8d621105312a914f1d42f10770c0ffe3c8936342966c68936024808501948390030190829087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b50506040805163a9059cbb60e01b81526001600160a01b038516600482015260248101879052905173b4467e8d621105312a914f1d42f10770c0ffe3c89163a9059cbb9160448083019260209291908290030181600087803b1580156114f157600080fd5b505af1158015611505573d6000803e3d6000fd5b505050506040513d602081101561151b57600080fd5b5050835160408051888152602081019290925280516001600160a01b038616927f2ce17f91452598d1f926f6cfe29a9d42a67ff82b45d1eb94e0634c27555c14da92908290030190a250505050919050565b60008261157c57506000610461565b8282028284828161158957fe5b04146106f8576040805162461bcd60e51b81526020600482015260136024820152724d4154483a3a204d554c5f4f564552464c4f5760681b604482015290519081900360640190fd5b6000808211611628576040805162461bcd60e51b815260206004820152601760248201527f4d4154483a3a204449564953494f4e5f42595f5a45524f000000000000000000604482015290519081900360640190fd5b600082848161163357fe5b04949350505050565b80820382811115610461576040805162461bcd60e51b81526020600482015260146024820152734d4154483a3a205355425f554e444552464c4f5760601b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b80820182811015610461576040805162461bcd60e51b81526020600482015260136024820152724d4154483a3a204144445f4f564552464c4f5760681b604482015290519081900360640190fd5b600061046161170983611265565b61045b6706f05b59d3b200006301e1338061156d565b3b151590565b600061175261173c83670de0b6b3a764000061156d565b61045b61174887610467565b6111f1888861156d565b949350505050565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152509056fe466c61736850726f746f636f6c3a3a20494e56414c49445f4d415443485f524154494f466c61736850726f746f636f6c3a3a2046554e4354494f4e5f54494d454c4f434b4544466c61736850726f746f636f6c3a3a204d41585f5354414b455f504552494f445f45584345454453466c61736850726f746f636f6c3a3a204e4f545f4d415443485f5245434549564552a26469706673582212203d61015aeb9398234d4cc34778e624e01a76f38d86a1dced5b5fa6853477078e64736f6c634300060c0033000000000000000000000000842f8f6fb524996d0b660621da895166e1cea691
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80638fee6407116100ad578063b4fa3b9811610071578063b4fa3b98146103bc578063c17bae2a146103dc578063cc704d54146103fc578063d08c970214610419578063e345a380146104215761012c565b80638fee640714610256578063a066983d146102b2578063aa53099d1461035c578063aad4717d1461037c578063b3e1f050146103995761012c565b80635b49129e116100f45780635b49129e146101ef57806368220664146101f757806371ed5d1a1461021457806376f5cf28146102315780637aadef8b1461024e5761012c565b80631051f6961461013157806321edc93d1461016057806323c6e14c1461017d57806327212b5b146101a157806327e235e3146101c9575b600080fd5b61014e6004803603602081101561014757600080fd5b503561043e565b60408051918252519081900360200190f35b61014e6004803603602081101561017657600080fd5b5035610467565b610185610484565b604080516001600160a01b039092168252519081900360200190f35b6101c7600480360360208110156101b757600080fd5b50356001600160a01b031661049c565b005b61014e600480360360208110156101df57600080fd5b50356001600160a01b03166105b6565b61014e6105c8565b61014e6004803603602081101561020d57600080fd5b50356105ce565b61014e6004803603602081101561022a57600080fd5b50356106ff565b6101c76004803603602081101561024757600080fd5b5035610931565b61014e610a67565b6102736004803603602081101561026c57600080fd5b5035610a6e565b6040805196875260208701959095528585019390935260608501919091526001600160a01b0390811660808501521660a0830152519081900360c00190f35b61033e600480360360808110156102c857600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156102ff57600080fd5b82018360208201111561031157600080fd5b8035906020019184600183028401116401000000008311171561033357600080fd5b509092509050610ab1565b60408051938452602084019290925282820152519081900360600190f35b6101c76004803603602081101561037257600080fd5b503560ff166110b2565b61014e6004803603602081101561039257600080fd5b5035611130565b61014e600480360360408110156103af57600080fd5b50803590602001356111ca565b6101c7600480360360208110156103d257600080fd5b503560ff166111f7565b61014e600480360360208110156103f257600080fd5b503560ff16611253565b61014e6004803603602081101561041257600080fd5b5035611265565b610185611278565b61014e6004803603602081101561043757600080fd5b5035611287565b600061046161271061045b6000548561156d90919063ffffffff16565b906115d2565b92915050565b600061046161047583611130565b670de0b6b3a76400009061163c565b73b4467e8d621105312a914f1d42f10770c0ffe3c881565b6001546001600160a01b031633146104e55760405162461bcd60e51b81526004018080602001828103825260228152602001806118116022913960400191505060405180910390fd5b6001600081905260036020527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c541580159061054a5750426003600083600181111561052d57fe5b600181111561053857fe5b81526020019081526020016000205411155b6105855760405162461bcd60e51b81526004018080602001828103825260238152602001806117c66023913960400191505060405180910390fd5b61058e8261168b565b600060038160015b60018111156105a157fe5b81526020810191909152604001600020555050565b60046020526000908152604090205481565b60005481565b6000806106688373b4467e8d621105312a914f1d42f10770c0ffe3c86001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561063657600080fd5b505afa15801561064a573d6000803e3d6000fd5b505050506040513d602081101561066057600080fd5b5051906116ad565b90506106f873b4467e8d621105312a914f1d42f10770c0ffe3c86001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106ba57600080fd5b505afa1580156106ce573d6000803e3d6000fd5b505050506040513d60208110156106e457600080fd5b505161045b83670de0b6b3a764000061156d565b9392505050565b600061070961175a565b50600082815260026020818152604092839020835160c08101855281548152600182015492810192909252918201549281018390526003820154606082015260048201546001600160a01b03908116608083015260059092015490911660a0820152904210156107c0576040805162461bcd60e51b815260206004820152601f60248201527f466c61736850726f746f6c3a3a205354414b455f4e4f545f4558504952454400604482015290519081900360640190fd5b805160808201516001600160a01b03166000908152600460205260409020546107e89161163c565b6080820180516001600160a01b0390811660009081526004602081815260408084209690965586518984526002808352878520858155600181018690559081018590556003810185905580840180546001600160a01b03199081169091556005909101805490911690559451865163a9059cbb60e01b815294169184019190915260248301849052935192955073b4467e8d621105312a914f1d42f10770c0ffe3c89363a9059cbb93604480850194929391928390030190829087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b505050506040513d60208110156108db57600080fd5b50506080810151815160408051868152602081019290925280516001600160a01b03909316927f2ce17f91452598d1f926f6cfe29a9d42a67ff82b45d1eb94e0634c27555c14da9281900390910190a250919050565b6001546001600160a01b0316331461097a5760405162461bcd60e51b81526004018080602001828103825260228152602001806118116022913960400191505060405180910390fd5b600080805260036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff54158015906109dd575042600360008360018111156109c057fe5b60018111156109cb57fe5b81526020019081526020016000205411155b610a185760405162461bcd60e51b81526004018080602001828103825260238152602001806117c66023913960400191505060405180910390fd5b6107d0821115610a595760405162461bcd60e51b81526004018080602001828103825260238152602001806117a36023913960400191505060405180910390fd5b600082815560038180610596565b6203f48081565b6002602081905260009182526040909120805460018201549282015460038301546004840154600590940154929493919290916001600160a01b03908116911686565b6000806000808811610b0a576040805162461bcd60e51b815260206004820152601e60248201527f466c61736850726f746f636f6c3a3a20494e56414c49445f414d4f554e540000604482015290519081900360640190fd5b6001600160a01b038616301415610b68576040805162461bcd60e51b815260206004820152601f60248201527f466c61736850726f746f636f6c3a3a20494e56414c49445f4144445245535300604482015290519081900360640190fd5b33610b72896116fb565b881115610bb05760405162461bcd60e51b81526004018080602001828103825260288152602001806117e96028913960400191505060405180910390fd5b6000610bbc428a6116ad565b604080516323b872dd60e01b81526001600160a01b0385166004820152306024820152604481018d9052905191925073b4467e8d621105312a914f1d42f10770c0ffe3c8916323b872dd916064808201926020929091908290030181600087803b158015610c2957600080fd5b505af1158015610c3d573d6000803e3d6000fd5b505050506040513d6020811015610c5357600080fd5b50506001600160a01b038216600090815260046020526040902054610c78908b6116ad565b60046000846001600160a01b03166001600160a01b0316815260200190815260200160002081905550898989844260405160200180868152602001858152602001846001600160a01b031660601b8152601401836001600160a01b031660601b81526014018281526020019550505050505060405160208183030381529060405280519060200120925060006001600160a01b03166002600085815260200190815260200160002060040160009054906101000a90046001600160a01b03166001600160a01b031614610d92576040805162461bcd60e51b815260206004820152601c60248201527f466c61736850726f746f636f6c3a3a205354414b455f45584953545300000000604482015290519081900360640190fd5b610d9c8a8a6111ca565b9450610da78561043e565b935073b4467e8d621105312a914f1d42f10770c0ffe3c86001600160a01b03166340c10f1989876040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e1457600080fd5b505af1158015610e28573d6000803e3d6000fd5b505050506040513d6020811015610e3e57600080fd5b5050600154604080516340c10f1960e01b81526001600160a01b039092166004830152602482018690525173b4467e8d621105312a914f1d42f10770c0ffe3c8916340c10f199160448083019260209291908290030181600087803b158015610ea657600080fd5b505af1158015610eba573d6000803e3d6000fd5b505050506040513d6020811015610ed057600080fd5b50506040805160c0810182528b815260208181018c8152828401858152606084018a81526001600160a01b03808916608087019081528f821660a0880181815260008d8152600298899052999099209751885594516001880155925194860194909455516003850155516004840180549184166001600160a01b03199283161790559351600590930180549390921692909316919091179055610f729061171f565b1561104757876001600160a01b0316632cbff446848c8489878d8d6040518863ffffffff1660e01b815260040180888152602001878152602001868152602001858152602001846001600160a01b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050602060405180830381600087803b15801561101a57600080fd5b505af115801561102e573d6000803e3d6000fd5b505050506040513d602081101561104457600080fd5b50505b60408051848152602081018c90528082018b9052606081018390526080810187905290516001600160a01b03808b1692908516917f8872a0bfe035dd55f2341f67aa0f9a8196bb3f97e132b6d3cb2f53f91aaa93f99181900360a00190a35050955095509592505050565b6001546001600160a01b031633146110fb5760405162461bcd60e51b81526004018080602001828103825260228152602001806118116022913960400191505060405180910390fd5b6203f48042016003600083600181111561111157fe5b600181111561111c57fe5b815260208101919091526040016000205550565b6000806106688373b4467e8d621105312a914f1d42f10770c0ffe3c86001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561119857600080fd5b505afa1580156111ac573d6000803e3d6000fd5b505050506040513d60208110156111c257600080fd5b50519061163c565b60006106f86a1a1601fc4ea7109e00000061045b6111e786611265565b6111f1878761156d565b9061156d565b6001546001600160a01b031633146112405760405162461bcd60e51b81526004018080602001828103825260228152602001806118116022913960400191505060405180910390fd5b6000196003600083600181111561111157fe5b60036020526000908152604090205481565b6000610461600261045b610475856105ce565b6001546001600160a01b031681565b600061129161175a565b50600082815260026020818152604092839020835160c0810185528154815260018201549281019290925291820154928101929092526003810154606083015260048101546001600160a01b03908116608084018190526005909201541660a083015233908114611349576040805162461bcd60e51b815260206004820152601e60248201527f466c61736850726f746f636f6c3a3a20494e56414c49445f5354414b45520000604482015290519081900360640190fd5b604082015160009061135b904261163c565b905060006113728460000151838660200151611725565b845190915081111561138057fe5b83516001600160a01b0384166000908152600460205260409020546113a49161163c565b6001600160a01b03841660009081526004602052604090205583516113c9908261163c565b60008781526002602081815260408084208481556001810185905592830184905560038301849055600480840180546001600160a01b0319908116909155600590940180549094169093558051630852cd8d60e31b81529283018690525193985073b4467e8d621105312a914f1d42f10770c0ffe3c8936342966c68936024808501948390030190829087803b15801561146257600080fd5b505af1158015611476573d6000803e3d6000fd5b505050506040513d602081101561148c57600080fd5b50506040805163a9059cbb60e01b81526001600160a01b038516600482015260248101879052905173b4467e8d621105312a914f1d42f10770c0ffe3c89163a9059cbb9160448083019260209291908290030181600087803b1580156114f157600080fd5b505af1158015611505573d6000803e3d6000fd5b505050506040513d602081101561151b57600080fd5b5050835160408051888152602081019290925280516001600160a01b038616927f2ce17f91452598d1f926f6cfe29a9d42a67ff82b45d1eb94e0634c27555c14da92908290030190a250505050919050565b60008261157c57506000610461565b8282028284828161158957fe5b04146106f8576040805162461bcd60e51b81526020600482015260136024820152724d4154483a3a204d554c5f4f564552464c4f5760681b604482015290519081900360640190fd5b6000808211611628576040805162461bcd60e51b815260206004820152601760248201527f4d4154483a3a204449564953494f4e5f42595f5a45524f000000000000000000604482015290519081900360640190fd5b600082848161163357fe5b04949350505050565b80820382811115610461576040805162461bcd60e51b81526020600482015260146024820152734d4154483a3a205355425f554e444552464c4f5760601b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b80820182811015610461576040805162461bcd60e51b81526020600482015260136024820152724d4154483a3a204144445f4f564552464c4f5760681b604482015290519081900360640190fd5b600061046161170983611265565b61045b6706f05b59d3b200006301e1338061156d565b3b151590565b600061175261173c83670de0b6b3a764000061156d565b61045b61174887610467565b6111f1888861156d565b949350505050565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152509056fe466c61736850726f746f636f6c3a3a20494e56414c49445f4d415443485f524154494f466c61736850726f746f636f6c3a3a2046554e4354494f4e5f54494d454c4f434b4544466c61736850726f746f636f6c3a3a204d41585f5354414b455f504552494f445f45584345454453466c61736850726f746f636f6c3a3a204e4f545f4d415443485f5245434549564552a26469706673582212203d61015aeb9398234d4cc34778e624e01a76f38d86a1dced5b5fa6853477078e64736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000842f8f6fb524996d0b660621da895166e1cea691
-----Decoded View---------------
Arg [0] : _initialMatchReceiver (address): 0x842f8f6fB524996d0b660621DA895166E1ceA691
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000842f8f6fb524996d0b660621da895166e1cea691
Deployed Bytecode Sourcemap
6151:7468:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11882:154;;;;;;;;;;;;;;;;-1:-1:-1;11882:154:0;;:::i;:::-;;;;;;;;;;;;;;;;12996:146;;;;;;;;;;;;;;;;-1:-1:-1;12996:146:0;;:::i;6517:89::-;;;:::i;:::-;;;;-1:-1:-1;;;;;6517:89:0;;;;;;;;;;;;;;8223:290;;;;;;;;;;;;;;;;-1:-1:-1;8223:290:0;-1:-1:-1;;;;;8223:290:0;;:::i;:::-;;6997:52;;;;;;;;;;;;;;;;-1:-1:-1;6997:52:0;-1:-1:-1;;;;;6997:52:0;;:::i;6788:34::-;;;:::i;12418:287::-;;;;;;;;;;;;;;;;-1:-1:-1;12418:287:0;;:::i;10643:469::-;;;;;;;;;;;;;;;;-1:-1:-1;10643:469:0;;:::i;8644:373::-;;;;;;;;;;;;;;;;-1:-1:-1;8644:373:0;;:::i;6460:50::-;;;:::i;6875:48::-;;;;;;;;;;;;;;;;-1:-1:-1;6875:48:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6875:48:0;;;;;;;;;;;;;;;;;;;;;9025:1610;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9025:1610:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9025:1610:0;;-1:-1:-1;9025:1610:0;-1:-1:-1;9025:1610:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;8049:166;;;;;;;;;;;;;;;;-1:-1:-1;8049:166:0;;;;:::i;13150:285::-;;;;;;;;;;;;;;;;-1:-1:-1;13150:285:0;;:::i;12044:204::-;;;;;;;;;;;;;;;;-1:-1:-1;12044:204:0;;;;;;;:::i;7886:155::-;;;;;;;;;;;;;;;;-1:-1:-1;7886:155:0;;;;:::i;6930:60::-;;;;;;;;;;;;;;;;-1:-1:-1;6930:60:0;;;;:::i;12256:154::-;;;;;;;;;;;;;;;;-1:-1:-1;12256:154:0;;:::i;6829:37::-;;;:::i;11120:754::-;;;;;;;;;;;;;;;;-1:-1:-1;11120:754:0;;:::i;11882:154::-;11961:7;11988:40;12022:5;11988:29;12006:10;;11988:13;:17;;:29;;;;:::i;:::-;:33;;:40::i;:::-;11981:47;11882:154;-1:-1:-1;;11882:154:0:o;12996:146::-;13062:7;13089:45;13103:30;13125:7;13103:21;:30::i;:::-;6653:4;;13089:13;:45::i;6517:89::-;6564:42;6517:89;:::o;8223:290::-;7435:13;;-1:-1:-1;;;;;7435:13:0;7421:10;:27;7413:74;;;;-1:-1:-1;;;7413:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8358:34:::1;7600:25;::::0;;;:8:::1;:25;::::0;;;:30;;::::1;::::0;:78:::1;;;7663:15;7634:8;:25;7643:15;7634:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;:44;;7600:78;7578:163;;;;-1:-1:-1::0;;;7578:163:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8410:36:::2;8428:17;8410;:36::i;:::-;8504:1;8457:8;8504:1:::0;8466:34:::2;8457:44;;;;;;;;;::::0;;::::2;::::0;::::2;::::0;;;;;;-1:-1:-1;8457:44:0;:48;-1:-1:-1;;8223:290:0:o;6997:52::-;;;;;;;;;;;;;:::o;6788:34::-;;;;:::o;12418:287::-;12496:18;12527:14;12544:64;12598:9;6564:42;-1:-1:-1;;;;;12544:34:0;;12587:4;12544:49;;;;;;;;;;;;;-1:-1:-1;;;;;12544:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12544:49:0;;:53;:64::i;:::-;12527:81;;12632:65;6564:42;-1:-1:-1;;;;;12658:36:0;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12658:38:0;12632:21;:6;6653:4;12632:10;:21::i;:65::-;12619:78;12418:287;-1:-1:-1;;;12418:287:0:o;10643:469::-;10700:22;10735:14;;:::i;:::-;-1:-1:-1;10752:11:0;;;;:6;:11;;;;;;;;;10735:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10735:28:0;;;;;;;;;;;;;;;;;;;;10782:15;:32;;10774:76;;;;;-1:-1:-1;;;10774:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10905:10;;10891:8;;;;-1:-1:-1;;;;;10882:18:0;10905:10;10882:18;;;:8;:18;;;;;;:34;;:22;:34::i;:::-;10870:8;;;;;-1:-1:-1;;;;;10861:18:0;;;;;;;:8;:18;;;;;;;;:55;;;;10944:10;;10972:11;;;:6;:11;;;;;;10965:18;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10965:18:0;;;;;;;;;;;;;;;;;11028:8;;10994:59;;-1:-1:-1;;;10994:59:0;;;;;;;;;;;;;;;;;;;10944:10;;-1:-1:-1;6564:42:0;;10994:33;;:59;;;;;10861:18;;10994:59;;;;;;;;;6564:42;10994:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11095:8:0;;;;11083:10;;11069:35;;;;;;10994:59;11069:35;;;;;;;;-1:-1:-1;;;;;11069:35:0;;;;;;;;;;;;;;10643:469;;;;:::o;8644:373::-;7435:13;;-1:-1:-1;;;;;7435:13:0;7421:10;:27;7413:74;;;;-1:-1:-1;;;7413:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8773:31:::1;7600:25:::0;;;:8:::1;:25;::::0;;;:30;;::::1;::::0;:78:::1;;;7663:15;7634:8;:25;7643:15;7634:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;:44;;7600:78;7578:163;;;;-1:-1:-1::0;;;7578:163:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8871:4:::2;8853:14;:22;;8822:93;;;;-1:-1:-1::0;;;8822:93:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8926:10;:27:::0;;;8964:8:::2;8926:10:::0;;8964:41:::2;::::0;6460:50;6504:6;6460:50;:::o;6875:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6875:48:0;;;;;;:::o;9025:1610::-;9228:20;9263:21;9299:10;9357:1;9345:9;:13;9337:56;;;;;-1:-1:-1;;;9337:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9414:26:0;;9435:4;9414:26;;9406:70;;;;;-1:-1:-1;;;9406:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9506:10;9548:34;9572:9;9548:23;:34::i;:::-;9537:7;:45;;9529:98;;;;-1:-1:-1;;;9529:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9640:18;9661:28;:15;9681:7;9661:19;:28::i;:::-;9702:71;;;-1:-1:-1;;;9702:71:0;;-1:-1:-1;;;;;9702:71:0;;;;;;9756:4;9702:71;;;;;;;;;;;;9640:49;;-1:-1:-1;6564:42:0;;9702:37;;:71;;;;;;;;;;;;;;;-1:-1:-1;6564:42:0;9702:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;9805:16:0;;;;;;:8;9702:71;9805:16;;;;;:31;;9826:9;9805:20;:31::i;:::-;9786:8;:16;9795:6;-1:-1:-1;;;;;9786:16:0;-1:-1:-1;;;;;9786:16:0;;;;;;;;;;;;:50;;;;9881:9;9892:7;9901:9;9912:6;9920:15;9864:72;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9864:72:0;;;;;;;;-1:-1:-1;;;;;9864:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9854:83;;;;;;9849:88;;9987:1;-1:-1:-1;;;;;9958:31:0;:6;:10;9965:2;9958:10;;;;;;;;;;;:17;;;;;;;;;;-1:-1:-1;;;;;9958:17:0;-1:-1:-1;;;;;9958:31:0;;9950:72;;;;;-1:-1:-1;;;9950:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10050:33;10064:9;10075:7;10050:13;:33::i;:::-;10035:48;;10110:30;10127:12;10110:16;:30::i;:::-;10094:46;;6564:42;-1:-1:-1;;;;;10153:29:0;;10183:9;10194:12;10153:54;;;;;;;;;;;;;-1:-1:-1;;;;;10153:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10248:13:0;;10218:59;;;-1:-1:-1;;;10218:59:0;;-1:-1:-1;;;;;10248:13:0;;;10218:59;;;;;;;;;;;6564:42;;10218:29;;:59;;;;;10153:54;;10218:59;;;;;;;-1:-1:-1;6564:42:0;10218:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10303:70:0;;;;;;;;;;;10218:59;10303:70;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10303:70:0;;;;;;;;;;;;;;;;;;-1:-1:-1;10290:10:0;;;:6;:10;;;;;;;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10290:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10390:22;;:20;:22::i;:::-;10386:149;;;10444:9;-1:-1:-1;;;;;10429:38:0;;10468:2;10472:9;10483:10;10495:12;10509:6;10517:5;;10429:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10429:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10386:149:0;10552:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10552:75:0;;;;;;;;;;;;;;;;;9025:1610;;;;;;;;;;;:::o;8049:166::-;7435:13;;-1:-1:-1;;;;;7435:13:0;7421:10;:27;7413:74;;;;-1:-1:-1;;;7413:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:6:::1;8181:15;:26;8153:8;:25;8162:15;8153:25;;;;;;;;;;;;;;;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8153:25:0;:54;-1:-1:-1;8049:166:0:o;13150:285::-;13228:18;13259:14;13276:62;13330:7;6564:42;-1:-1:-1;;;;;13276:34:0;;13319:4;13276:49;;;;;;;;;;;;;-1:-1:-1;;;;;13276:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13276:49:0;;:53;:62::i;12044:204::-;12133:7;12160:80;12210:29;12160:45;12187:17;12194:9;12187:6;:17::i;:::-;12160:22;:9;12174:7;12160:13;:22::i;:::-;:26;;:45::i;7886:155::-;7435:13;;-1:-1:-1;;;;;7435:13:0;7421:10;:27;7413:74;;;;-1:-1:-1;;;7413:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7988:8:0::1;:25;7997:15;7988:25;;;;;;;6930:60:::0;;;;;;;;;;;;;:::o;12256:154::-;12321:7;12348:54;12400:1;12349:45;12363:30;12383:9;12363:19;:30::i;6829:37::-;;;-1:-1:-1;;;;;6829:37:0;;:::o;11120:754::-;11182:22;11217:14;;:::i;:::-;-1:-1:-1;11234:11:0;;;;:6;:11;;;;;;;;;11217:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11217:28:0;;;;;;;;;;;;;;;;;;;11273:10;;11302:18;;11294:61;;;;;-1:-1:-1;;;11294:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11391:13;;;;11366:21;;11391:34;;11409:15;11391:17;:34::i;:::-;11366:60;;11437:18;11458:51;11473:1;:10;;;11485:13;11500:1;:8;;;11458:14;:51::i;:::-;11541:10;;11437:72;;-1:-1:-1;11527:24:0;;;11520:32;;;;11603:10;;-1:-1:-1;;;;;11582:16:0;;11603:10;11582:16;;;:8;:16;;;;;;:32;;:20;:32::i;:::-;-1:-1:-1;;;;;11563:16:0;;;;;;:8;:16;;;;;:51;11642:10;;:26;;11657:10;11642:14;:26::i;:::-;11686:11;;;;:6;:11;;;;;;;;11679:18;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11679:18:0;;;;;;;;;;;;;;;;;;11708:41;;-1:-1:-1;;;11708:41:0;;;;;;;;;11625:43;;-1:-1:-1;6564:42:0;;11708:29;;:41;;;;;;;;;;;;6564:42;11708:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11760:57:0;;;-1:-1:-1;;;11760:57:0;;-1:-1:-1;;;;;11760:57:0;;;;;;;;;;;;;;6564:42;;11760:33;;:57;;;;;11708:41;;11760:57;;;;;;;-1:-1:-1;6564:42:0;11760:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11847:10:0;;11833:33;;;;;;11760:57;11833:33;;;;;;;;-1:-1:-1;;;;;11833:33:0;;;;;;;;;;;;11120:754;;;;;;;:::o;4042:457::-;4100:7;4345:6;4341:47;;-1:-1:-1;4375:1:0;4368:8;;4341:47;4412:5;;;4416:1;4412;:5;:1;4436:5;;;;;:10;4428:42;;;;;-1:-1:-1;;;4428:42:0;;;;;;;;;;;;-1:-1:-1;;;4428:42:0;;;;;;;;;;;;;;4507:263;4565:7;4597:1;4593;:5;4585:41;;;;;-1:-1:-1;;;4585:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4637:9;4653:1;4649;:5;;;;;;;4507:263;-1:-1:-1;;;;4507:263:0:o;3897:137::-;3990:5;;;3985:16;;;;3977:49;;;;;-1:-1:-1;;;3977:49:0;;;;;;;;;;;;-1:-1:-1;;;3977:49:0;;;;;;;;;;;;;;8521:115;8595:13;:33;;-1:-1:-1;;;;;;8595:33:0;-1:-1:-1;;;;;8595:33:0;;;;;;;;;;8521:115::o;3753:136::-;3846:5;;;3841:16;;;;3833:48;;;;;-1:-1:-1;;;3833:48:0;;;;;;;;;;;;-1:-1:-1;;;3833:48:0;;;;;;;;;;;;;;13443:173;13517:7;13544:64;13590:17;13597:9;13590:6;:17::i;:::-;13544:41;6711:4;6768:11;13544:22;:41::i;5576:444::-;5956:20;6004:8;;;5576:444::o;12713:275::-;12854:18;12898:82;12954:25;:10;6653:4;12954:14;:25::i;:::-;12898:51;12930:18;12940:7;12930:9;:18::i;:::-;12898:27;:7;12910:14;12898:11;:27::i;:82::-;12885:95;12713:275;-1:-1:-1;;;;12713:275:0:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
ipfs://3d61015aeb9398234d4cc34778e624e01a76f38d86a1dced5b5fa6853477078e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.