Contract Overview
Balance:
0 ETH
ETH Value:
$0.00
My Name Tag:
Not Available
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0x619b45985d4aee421bac38f903c1862b69dcbe1c5c2c45e6d75d1c9b9691369e | 0x60806040 | 20213079 | 230 days 12 hrs ago | Mycelium: Deployer | IN | Create: VaultReader | 0 ETH | 0.00175344446 ETH |
[ Download CSV Export ]
Contract Name:
VaultReader
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan on 2022-09-20 */ // SPDX-License-Identifier: MIT pragma solidity 0.6.12; interface IVaultUtils { function updateCumulativeFundingRate(address _collateralToken, address _indexToken) external returns (bool); function validateIncreasePosition( address _account, address _collateralToken, address _indexToken, uint256 _sizeDelta, bool _isLong ) external view; function validateDecreasePosition( address _account, address _collateralToken, address _indexToken, uint256 _collateralDelta, uint256 _sizeDelta, bool _isLong, address _receiver ) external view; function validateLiquidation( address _account, address _collateralToken, address _indexToken, bool _isLong, bool _raise ) external view returns (uint256, uint256); function getEntryFundingRate( address _collateralToken, address _indexToken, bool _isLong ) external view returns (uint256); function getPositionFee( address _account, address _collateralToken, address _indexToken, bool _isLong, uint256 _sizeDelta ) external view returns (uint256); function getFundingFee( address _account, address _collateralToken, address _indexToken, bool _isLong, uint256 _size, uint256 _entryFundingRate ) external view returns (uint256); function getBuyUsdgFeeBasisPoints(address _token, uint256 _usdgAmount) external view returns (uint256); function getSellUsdgFeeBasisPoints(address _token, uint256 _usdgAmount) external view returns (uint256); function getSwapFeeBasisPoints( address _tokenIn, address _tokenOut, uint256 _usdgAmount ) external view returns (uint256); function getFeeBasisPoints( address _token, uint256 _usdgDelta, uint256 _feeBasisPoints, uint256 _taxBasisPoints, bool _increment ) external view returns (uint256); } interface IVault { function isInitialized() external view returns (bool); function isSwapEnabled() external view returns (bool); function isLeverageEnabled() external view returns (bool); function setVaultUtils(IVaultUtils _vaultUtils) external; function setError(uint256 _errorCode, string calldata _error) external; function router() external view returns (address); function usdg() external view returns (address); function gov() external view returns (address); function whitelistedTokenCount() external view returns (uint256); function maxLeverage() external view returns (uint256); function minProfitTime() external view returns (uint256); function hasDynamicFees() external view returns (bool); function fundingInterval() external view returns (uint256); function totalTokenWeights() external view returns (uint256); function getTargetUsdgAmount(address _token) external view returns (uint256); function inManagerMode() external view returns (bool); function inPrivateLiquidationMode() external view returns (bool); function maxGasPrice() external view returns (uint256); function approvedRouters(address _account, address _router) external view returns (bool); function isLiquidator(address _account) external view returns (bool); function isManager(address _account) external view returns (bool); function minProfitBasisPoints(address _token) external view returns (uint256); function tokenBalances(address _token) external view returns (uint256); function lastFundingTimes(address _token) external view returns (uint256); function setMaxLeverage(uint256 _maxLeverage) external; function setInManagerMode(bool _inManagerMode) external; function setManager(address _manager, bool _isManager) external; function setIsSwapEnabled(bool _isSwapEnabled) external; function setIsLeverageEnabled(bool _isLeverageEnabled) external; function setMaxGasPrice(uint256 _maxGasPrice) external; function setUsdgAmount(address _token, uint256 _amount) external; function setBufferAmount(address _token, uint256 _amount) external; function setMaxGlobalShortSize(address _token, uint256 _amount) external; function setInPrivateLiquidationMode(bool _inPrivateLiquidationMode) external; function setLiquidator(address _liquidator, bool _isActive) external; function setFundingRate( uint256 _fundingInterval, uint256 _fundingRateFactor, uint256 _stableFundingRateFactor ) external; function setFees( uint256 _taxBasisPoints, uint256 _stableTaxBasisPoints, uint256 _mintBurnFeeBasisPoints, uint256 _swapFeeBasisPoints, uint256 _stableSwapFeeBasisPoints, uint256 _marginFeeBasisPoints, uint256 _liquidationFeeUsd, uint256 _minProfitTime, bool _hasDynamicFees ) external; function setTokenConfig( address _token, uint256 _tokenDecimals, uint256 _redemptionBps, uint256 _minProfitBps, uint256 _maxUsdgAmount, bool _isStable, bool _isShortable ) external; function setPriceFeed(address _priceFeed) external; function withdrawFees(address _token, address _receiver) external returns (uint256); function directPoolDeposit(address _token) external; function buyUSDG(address _token, address _receiver) external returns (uint256); function sellUSDG(address _token, address _receiver) external returns (uint256); function swap( address _tokenIn, address _tokenOut, address _receiver ) external returns (uint256); function increasePosition( address _account, address _collateralToken, address _indexToken, uint256 _sizeDelta, bool _isLong ) external; function decreasePosition( address _account, address _collateralToken, address _indexToken, uint256 _collateralDelta, uint256 _sizeDelta, bool _isLong, address _receiver ) external returns (uint256); function liquidatePosition( address _account, address _collateralToken, address _indexToken, bool _isLong, address _feeReceiver ) external; function tokenToUsdMin(address _token, uint256 _tokenAmount) external view returns (uint256); function priceFeed() external view returns (address); function fundingRateFactor() external view returns (uint256); function stableFundingRateFactor() external view returns (uint256); function cumulativeFundingRates(address _token) external view returns (uint256); function getNextFundingRate(address _token) external view returns (uint256); function getFeeBasisPoints( address _token, uint256 _usdgDelta, uint256 _feeBasisPoints, uint256 _taxBasisPoints, bool _increment ) external view returns (uint256); function liquidationFeeUsd() external view returns (uint256); function taxBasisPoints() external view returns (uint256); function stableTaxBasisPoints() external view returns (uint256); function mintBurnFeeBasisPoints() external view returns (uint256); function swapFeeBasisPoints() external view returns (uint256); function stableSwapFeeBasisPoints() external view returns (uint256); function marginFeeBasisPoints() external view returns (uint256); function allWhitelistedTokensLength() external view returns (uint256); function allWhitelistedTokens(uint256) external view returns (address); function whitelistedTokens(address _token) external view returns (bool); function stableTokens(address _token) external view returns (bool); function shortableTokens(address _token) external view returns (bool); function feeReserves(address _token) external view returns (uint256); function globalShortSizes(address _token) external view returns (uint256); function globalShortAveragePrices(address _token) external view returns (uint256); function maxGlobalShortSizes(address _token) external view returns (uint256); function tokenDecimals(address _token) external view returns (uint256); function tokenWeights(address _token) external view returns (uint256); function guaranteedUsd(address _token) external view returns (uint256); function poolAmounts(address _token) external view returns (uint256); function bufferAmounts(address _token) external view returns (uint256); function reservedAmounts(address _token) external view returns (uint256); function usdgAmounts(address _token) external view returns (uint256); function maxUsdgAmounts(address _token) external view returns (uint256); function getRedemptionAmount(address _token, uint256 _usdgAmount) external view returns (uint256); function getMaxPrice(address _token) external view returns (uint256); function getMinPrice(address _token) external view returns (uint256); function getDelta( address _indexToken, uint256 _size, uint256 _averagePrice, bool _isLong, uint256 _lastIncreasedTime ) external view returns (bool, uint256); function getPosition( address _account, address _collateralToken, address _indexToken, bool _isLong ) external view returns ( uint256, uint256, uint256, uint256, uint256, uint256, bool, uint256 ); } interface IVaultPriceFeed { function adjustmentBasisPoints(address _token) external view returns (uint256); function isAdjustmentAdditive(address _token) external view returns (bool); function setAdjustment( address _token, bool _isAdditive, uint256 _adjustmentBps ) external; function setUseV2Pricing(bool _useV2Pricing) external; function setIsAmmEnabled(bool _isEnabled) external; function setIsSecondaryPriceEnabled(bool _isEnabled) external; function setSpreadBasisPoints(address _token, uint256 _spreadBasisPoints) external; function setSpreadThresholdBasisPoints(uint256 _spreadThresholdBasisPoints) external; function setFavorPrimaryPrice(bool _favorPrimaryPrice) external; function setPriceSampleSpace(uint256 _priceSampleSpace) external; function setMaxStrictPriceDeviation(uint256 _maxStrictPriceDeviation) external; function getPrice( address _token, bool _maximise, bool _includeAmmPrice, bool _useSwapPricing ) external view returns (uint256); function getAmmPrice(address _token) external view returns (uint256); function getPrimaryPrice(address _token, bool _maximise) external view returns (uint256); function setTokenConfig( address _token, address _priceFeed, uint256 _priceDecimals, bool _isStrictStable ) external; } interface IBasePositionManager { function maxGlobalLongSizes(address _token) external view returns (uint256); function maxGlobalShortSizes(address _token) external view returns (uint256); } contract VaultReader { function getVaultTokenInfoV3( address _vault, address _positionManager, address _weth, uint256 _usdgAmount, address[] memory _tokens ) public view returns (uint256[] memory) { uint256 propsLength = 14; IVault vault = IVault(_vault); IVaultPriceFeed priceFeed = IVaultPriceFeed(vault.priceFeed()); IBasePositionManager positionManager = IBasePositionManager(_positionManager); uint256[] memory amounts = new uint256[](_tokens.length * propsLength); for (uint256 i = 0; i < _tokens.length; i++) { address token = _tokens[i]; if (token == address(0)) { token = _weth; } amounts[i * propsLength] = vault.poolAmounts(token); amounts[i * propsLength + 1] = vault.reservedAmounts(token); amounts[i * propsLength + 2] = vault.usdgAmounts(token); amounts[i * propsLength + 3] = vault.getRedemptionAmount(token, _usdgAmount); amounts[i * propsLength + 4] = vault.tokenWeights(token); amounts[i * propsLength + 5] = vault.bufferAmounts(token); amounts[i * propsLength + 6] = vault.maxUsdgAmounts(token); amounts[i * propsLength + 7] = vault.globalShortSizes(token); amounts[i * propsLength + 8] = positionManager.maxGlobalShortSizes(token); amounts[i * propsLength + 9] = vault.getMinPrice(token); amounts[i * propsLength + 10] = vault.getMaxPrice(token); amounts[i * propsLength + 11] = vault.guaranteedUsd(token); amounts[i * propsLength + 12] = priceFeed.getPrimaryPrice(token, false); amounts[i * propsLength + 13] = priceFeed.getPrimaryPrice(token, true); } return amounts; } function getVaultTokenInfoV4( address _vault, address _positionManager, address _weth, uint256 _usdgAmount, address[] memory _tokens ) public view returns (uint256[] memory) { uint256 propsLength = 15; IVault vault = IVault(_vault); IVaultPriceFeed priceFeed = IVaultPriceFeed(vault.priceFeed()); IBasePositionManager positionManager = IBasePositionManager(_positionManager); uint256[] memory amounts = new uint256[](_tokens.length * propsLength); for (uint256 i = 0; i < _tokens.length; i++) { address token = _tokens[i]; if (token == address(0)) { token = _weth; } amounts[i * propsLength] = vault.poolAmounts(token); amounts[i * propsLength + 1] = vault.reservedAmounts(token); amounts[i * propsLength + 2] = vault.usdgAmounts(token); amounts[i * propsLength + 3] = vault.getRedemptionAmount(token, _usdgAmount); amounts[i * propsLength + 4] = vault.tokenWeights(token); amounts[i * propsLength + 5] = vault.bufferAmounts(token); amounts[i * propsLength + 6] = vault.maxUsdgAmounts(token); amounts[i * propsLength + 7] = vault.globalShortSizes(token); amounts[i * propsLength + 8] = positionManager.maxGlobalShortSizes(token); amounts[i * propsLength + 9] = positionManager.maxGlobalLongSizes(token); amounts[i * propsLength + 10] = vault.getMinPrice(token); amounts[i * propsLength + 11] = vault.getMaxPrice(token); amounts[i * propsLength + 12] = vault.guaranteedUsd(token); amounts[i * propsLength + 13] = priceFeed.getPrimaryPrice(token, false); amounts[i * propsLength + 14] = priceFeed.getPrimaryPrice(token, true); } return amounts; } }
[{"inputs":[{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_positionManager","type":"address"},{"internalType":"address","name":"_weth","type":"address"},{"internalType":"uint256","name":"_usdgAmount","type":"uint256"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getVaultTokenInfoV3","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_positionManager","type":"address"},{"internalType":"address","name":"_weth","type":"address"},{"internalType":"uint256","name":"_usdgAmount","type":"uint256"},{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"getVaultTokenInfoV4","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506115c0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063d3f3265c1461003b578063f75e810114610154575b600080fd5b610104600480360360a081101561005157600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b81111561009357600080fd5b8201836020820111156100a557600080fd5b803590602001918460208302840111600160201b831117156100c657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061021d945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610140578181015183820152602001610128565b505050509050019250505060405180910390f35b610104600480360360a081101561016a57600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b8111156101ac57600080fd5b8201836020820111156101be57600080fd5b803590602001918460208302840111600160201b831117156101df57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c27945050505050565b60606000600f905060008790506000816001600160a01b031663741bef1a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561026557600080fd5b505afa158015610279573d6000803e3d6000fd5b505050506040513d602081101561028f57600080fd5b50518551909150889060609085026001600160401b03811180156102b257600080fd5b506040519080825280602002602001820160405280156102dc578160200160208202803683370190505b50905060005b8751811015610c185760008882815181106102f957fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614156103215750895b856001600160a01b03166352f55eed826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561036e57600080fd5b505afa158015610382573d6000803e3d6000fd5b505050506040513d602081101561039857600080fd5b505183518490848a029081106103aa57fe5b602002602001018181525050856001600160a01b031663c3c7b9e9826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561040357600080fd5b505afa158015610417573d6000803e3d6000fd5b505050506040513d602081101561042d57600080fd5b5051835184906001858b020190811061044257fe5b602002602001018181525050856001600160a01b0316631aa4ace5826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561049b57600080fd5b505afa1580156104af573d6000803e3d6000fd5b505050506040513d60208110156104c557600080fd5b5051835184906002858b02019081106104da57fe5b602002602001018181525050856001600160a01b0316632c668ec1828c6040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d602081101561056557600080fd5b5051835184906003858b020190811061057a57fe5b602002602001018181525050856001600160a01b031663ab2f3ad4826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d60208110156105fd57600080fd5b5051835184906004858b020190811061061257fe5b602002602001018181525050856001600160a01b0316634a993ee9826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561066b57600080fd5b505afa15801561067f573d6000803e3d6000fd5b505050506040513d602081101561069557600080fd5b5051835184906005858b02019081106106aa57fe5b602002602001018181525050856001600160a01b031663ad1e4f8d826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d602081101561072d57600080fd5b5051835184906006858b020190811061074257fe5b602002602001018181525050856001600160a01b0316638a78daa8826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561079b57600080fd5b505afa1580156107af573d6000803e3d6000fd5b505050506040513d60208110156107c557600080fd5b5051835184906007858b02019081106107da57fe5b602002602001018181525050836001600160a01b0316639698d25a826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561083357600080fd5b505afa158015610847573d6000803e3d6000fd5b505050506040513d602081101561085d57600080fd5b5051835184906008858b020190811061087257fe5b602002602001018181525050836001600160a01b0316631045c74e826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156108cb57600080fd5b505afa1580156108df573d6000803e3d6000fd5b505050506040513d60208110156108f557600080fd5b5051835184906009858b020190811061090a57fe5b602002602001018181525050856001600160a01b03166381a612d6826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561096357600080fd5b505afa158015610977573d6000803e3d6000fd5b505050506040513d602081101561098d57600080fd5b505183518490600a858b02019081106109a257fe5b602002602001018181525050856001600160a01b031663e124e6d2826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109fb57600080fd5b505afa158015610a0f573d6000803e3d6000fd5b505050506040513d6020811015610a2557600080fd5b505183518490600b858b0201908110610a3a57fe5b602002602001018181525050856001600160a01b031663f07456ce826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a9357600080fd5b505afa158015610aa7573d6000803e3d6000fd5b505050506040513d6020811015610abd57600080fd5b505183518490600c858b0201908110610ad257fe5b602090810291909101810191909152604080516356c8c2c160e01b81526001600160a01b038481166004830152600060248301529151918816926356c8c2c192604480840193829003018186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b505183518490600d858b0201908110610b6b57fe5b602090810291909101810191909152604080516356c8c2c160e01b81526001600160a01b038481166004830152600160248301529151918816926356c8c2c192604480840193829003018186803b158015610bc557600080fd5b505afa158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b505183518490600e858b0201908110610c0457fe5b6020908102919091010152506001016102e2565b509a9950505050505050505050565b60606000600e905060008790506000816001600160a01b031663741bef1a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6f57600080fd5b505afa158015610c83573d6000803e3d6000fd5b505050506040513d6020811015610c9957600080fd5b50518551909150889060609085026001600160401b0381118015610cbc57600080fd5b50604051908082528060200260200182016040528015610ce6578160200160208202803683370190505b50905060005b8751811015610c18576000888281518110610d0357fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415610d2b5750895b856001600160a01b03166352f55eed826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d7857600080fd5b505afa158015610d8c573d6000803e3d6000fd5b505050506040513d6020811015610da257600080fd5b505183518490848a02908110610db457fe5b602002602001018181525050856001600160a01b031663c3c7b9e9826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e0d57600080fd5b505afa158015610e21573d6000803e3d6000fd5b505050506040513d6020811015610e3757600080fd5b5051835184906001858b0201908110610e4c57fe5b602002602001018181525050856001600160a01b0316631aa4ace5826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ea557600080fd5b505afa158015610eb9573d6000803e3d6000fd5b505050506040513d6020811015610ecf57600080fd5b5051835184906002858b0201908110610ee457fe5b602002602001018181525050856001600160a01b0316632c668ec1828c6040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015610f4557600080fd5b505afa158015610f59573d6000803e3d6000fd5b505050506040513d6020811015610f6f57600080fd5b5051835184906003858b0201908110610f8457fe5b602002602001018181525050856001600160a01b031663ab2f3ad4826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610fdd57600080fd5b505afa158015610ff1573d6000803e3d6000fd5b505050506040513d602081101561100757600080fd5b5051835184906004858b020190811061101c57fe5b602002602001018181525050856001600160a01b0316634a993ee9826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561107557600080fd5b505afa158015611089573d6000803e3d6000fd5b505050506040513d602081101561109f57600080fd5b5051835184906005858b02019081106110b457fe5b602002602001018181525050856001600160a01b031663ad1e4f8d826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561110d57600080fd5b505afa158015611121573d6000803e3d6000fd5b505050506040513d602081101561113757600080fd5b5051835184906006858b020190811061114c57fe5b602002602001018181525050856001600160a01b0316638a78daa8826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156111a557600080fd5b505afa1580156111b9573d6000803e3d6000fd5b505050506040513d60208110156111cf57600080fd5b5051835184906007858b02019081106111e457fe5b602002602001018181525050836001600160a01b0316639698d25a826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561123d57600080fd5b505afa158015611251573d6000803e3d6000fd5b505050506040513d602081101561126757600080fd5b5051835184906008858b020190811061127c57fe5b602002602001018181525050856001600160a01b03166381a612d6826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156112d557600080fd5b505afa1580156112e9573d6000803e3d6000fd5b505050506040513d60208110156112ff57600080fd5b5051835184906009858b020190811061131457fe5b602002602001018181525050856001600160a01b031663e124e6d2826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561136d57600080fd5b505afa158015611381573d6000803e3d6000fd5b505050506040513d602081101561139757600080fd5b505183518490600a858b02019081106113ac57fe5b602002602001018181525050856001600160a01b031663f07456ce826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140557600080fd5b505afa158015611419573d6000803e3d6000fd5b505050506040513d602081101561142f57600080fd5b505183518490600b858b020190811061144457fe5b602090810291909101810191909152604080516356c8c2c160e01b81526001600160a01b038481166004830152600060248301529151918816926356c8c2c192604480840193829003018186803b15801561149e57600080fd5b505afa1580156114b2573d6000803e3d6000fd5b505050506040513d60208110156114c857600080fd5b505183518490600c858b02019081106114dd57fe5b602090810291909101810191909152604080516356c8c2c160e01b81526001600160a01b038481166004830152600160248301529151918816926356c8c2c192604480840193829003018186803b15801561153757600080fd5b505afa15801561154b573d6000803e3d6000fd5b505050506040513d602081101561156157600080fd5b505183518490600d858b020190811061157657fe5b602090810291909101015250600101610cec56fea26469706673582212202ccca85c234b23dc2d76f13fbdce669da01b201c00ea11901e2898aff900a80464736f6c634300060c0033
Deployed ByteCode Sourcemap
11702:3811:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13580:1930;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13580:1930:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13580:1930:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13580:1930:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13580:1930:0;;-1:-1:-1;13580:1930:0;;-1:-1:-1;;;;;13580:1930:0:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11730:1842;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11730:1842:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11730:1842:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11730:1842:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11730:1842:0;;-1:-1:-1;11730:1842:0;;-1:-1:-1;;;;;11730:1842:0:i;13580:1930::-;13786:16;13815:19;13837:2;13815:24;;13852:12;13874:6;13852:29;;13892:25;13936:5;-1:-1:-1;;;;;13936:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13936:17:0;14096:14;;13936:17;;-1:-1:-1;14025:16:0;;14055:24;;14096:28;;-1:-1:-1;;;;;14082:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14082:43:0;;14055:70;;14141:9;14136:1340;14160:7;:14;14156:1;:18;14136:1340;;;14196:13;14212:7;14220:1;14212:10;;;;;;;;;;;;;;14196:26;;14258:1;-1:-1:-1;;;;;14241:19:0;:5;-1:-1:-1;;;;;14241:19:0;;14237:73;;;-1:-1:-1;14289:5:0;14237:73;14353:5;-1:-1:-1;;;;;14353:17:0;;14371:5;14353:24;;;;;;;;;;;;;-1:-1:-1;;;;;14353:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14353:24:0;14326;;:7;;14334:15;;;;14326:24;;;;;;;;;;;:51;;;;;14423:5;-1:-1:-1;;;;;14423:21:0;;14445:5;14423:28;;;;;;;;;;;;;-1:-1:-1;;;;;14423:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14423:28:0;14392;;:7;;14418:1;14400:15;;;:19;;14392:28;;;;;;;;;;;:59;;;;;14497:5;-1:-1:-1;;;;;14497:17:0;;14515:5;14497:24;;;;;;;;;;;;;-1:-1:-1;;;;;14497:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14497:24:0;14466:28;;:7;;14492:1;14474:15;;;:19;;14466:28;;;;;;;;;;;:55;;;;;14567:5;-1:-1:-1;;;;;14567:25:0;;14593:5;14600:11;14567:45;;;;;;;;;;;;;-1:-1:-1;;;;;14567:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14567:45:0;14536:28;;:7;;14562:1;14544:15;;;:19;;14536:28;;;;;;;;;;;:76;;;;;14658:5;-1:-1:-1;;;;;14658:18:0;;14677:5;14658:25;;;;;;;;;;;;;-1:-1:-1;;;;;14658:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14658:25:0;14627:28;;:7;;14653:1;14635:15;;;:19;;14627:28;;;;;;;;;;;:56;;;;;14729:5;-1:-1:-1;;;;;14729:19:0;;14749:5;14729:26;;;;;;;;;;;;;-1:-1:-1;;;;;14729:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14729:26:0;14698:28;;:7;;14724:1;14706:15;;;:19;;14698:28;;;;;;;;;;;:57;;;;;14801:5;-1:-1:-1;;;;;14801:20:0;;14822:5;14801:27;;;;;;;;;;;;;-1:-1:-1;;;;;14801:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14801:27:0;14770:28;;:7;;14796:1;14778:15;;;:19;;14770:28;;;;;;;;;;;:58;;;;;14874:5;-1:-1:-1;;;;;14874:22:0;;14897:5;14874:29;;;;;;;;;;;;;-1:-1:-1;;;;;14874:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14874:29:0;14843:28;;:7;;14869:1;14851:15;;;:19;;14843:28;;;;;;;;;;;:60;;;;;14949:15;-1:-1:-1;;;;;14949:35:0;;14985:5;14949:42;;;;;;;;;;;;;-1:-1:-1;;;;;14949:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14949:42:0;14918:28;;:7;;14944:1;14926:15;;;:19;;14918:28;;;;;;;;;;;:73;;;;;15037:15;-1:-1:-1;;;;;15037:34:0;;15072:5;15037:41;;;;;;;;;;;;;-1:-1:-1;;;;;15037:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15037:41:0;15006:28;;:7;;15032:1;15014:15;;;:19;;15006:28;;;;;;;;;;;:72;;;;;15125:5;-1:-1:-1;;;;;15125:17:0;;15143:5;15125:24;;;;;;;;;;;;;-1:-1:-1;;;;;15125:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15125:24:0;15093:29;;:7;;15119:2;15101:15;;;:20;;15093:29;;;;;;;;;;;:56;;;;;15196:5;-1:-1:-1;;;;;15196:17:0;;15214:5;15196:24;;;;;;;;;;;;;-1:-1:-1;;;;;15196:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15196:24:0;15164:29;;:7;;15190:2;15172:15;;;:20;;15164:29;;;;;;;;;;;:56;;;;;15267:5;-1:-1:-1;;;;;15267:19:0;;15287:5;15267:26;;;;;;;;;;;;;-1:-1:-1;;;;;15267:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15267:26:0;15235:29;;:7;;15261:2;15243:15;;;:20;;15235:29;;;;;;;;;;;;;;;;:58;;;;15340:39;;;-1:-1:-1;;;15340:39:0;;-1:-1:-1;;;;;15340:39:0;;;;;;;15373:5;15340:39;;;;;;:25;;;;;;:39;;;;;;;;;;:25;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15340:39:0;15308:29;;:7;;15334:2;15316:15;;;:20;;15308:29;;;;;;;;;;;;;;;;:71;;;;15426:38;;;-1:-1:-1;;;15426:38:0;;-1:-1:-1;;;;;15426:38:0;;;;;;;15459:4;15426:38;;;;;;:25;;;;;;:38;;;;;;;;;;:25;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15426:38:0;15394:29;;:7;;15420:2;15402:15;;;:20;;15394:29;;;;;;;;;;;;;;;:70;-1:-1:-1;14176:3:0;;14136:1340;;;-1:-1:-1;15495:7:0;13580:1930;-1:-1:-1;;;;;;;;;;13580:1930:0:o;11730:1842::-;11936:16;11965:19;11987:2;11965:24;;12002:12;12024:6;12002:29;;12042:25;12086:5;-1:-1:-1;;;;;12086:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12086:17:0;12246:14;;12086:17;;-1:-1:-1;12175:16:0;;12205:24;;12246:28;;-1:-1:-1;;;;;12232:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12232:43:0;;12205:70;;12291:9;12286:1252;12310:7;:14;12306:1;:18;12286:1252;;;12346:13;12362:7;12370:1;12362:10;;;;;;;;;;;;;;12346:26;;12408:1;-1:-1:-1;;;;;12391:19:0;:5;-1:-1:-1;;;;;12391:19:0;;12387:73;;;-1:-1:-1;12439:5:0;12387:73;12503:5;-1:-1:-1;;;;;12503:17:0;;12521:5;12503:24;;;;;;;;;;;;;-1:-1:-1;;;;;12503:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12503:24:0;12476;;:7;;12484:15;;;;12476:24;;;;;;;;;;;:51;;;;;12573:5;-1:-1:-1;;;;;12573:21:0;;12595:5;12573:28;;;;;;;;;;;;;-1:-1:-1;;;;;12573:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12573:28:0;12542;;:7;;12568:1;12550:15;;;:19;;12542:28;;;;;;;;;;;:59;;;;;12647:5;-1:-1:-1;;;;;12647:17:0;;12665:5;12647:24;;;;;;;;;;;;;-1:-1:-1;;;;;12647:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12647:24:0;12616:28;;:7;;12642:1;12624:15;;;:19;;12616:28;;;;;;;;;;;:55;;;;;12717:5;-1:-1:-1;;;;;12717:25:0;;12743:5;12750:11;12717:45;;;;;;;;;;;;;-1:-1:-1;;;;;12717:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12717:45:0;12686:28;;:7;;12712:1;12694:15;;;:19;;12686:28;;;;;;;;;;;:76;;;;;12808:5;-1:-1:-1;;;;;12808:18:0;;12827:5;12808:25;;;;;;;;;;;;;-1:-1:-1;;;;;12808:25:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12808:25:0;12777:28;;:7;;12803:1;12785:15;;;:19;;12777:28;;;;;;;;;;;:56;;;;;12879:5;-1:-1:-1;;;;;12879:19:0;;12899:5;12879:26;;;;;;;;;;;;;-1:-1:-1;;;;;12879:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12879:26:0;12848:28;;:7;;12874:1;12856:15;;;:19;;12848:28;;;;;;;;;;;:57;;;;;12951:5;-1:-1:-1;;;;;12951:20:0;;12972:5;12951:27;;;;;;;;;;;;;-1:-1:-1;;;;;12951:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12951:27:0;12920:28;;:7;;12946:1;12928:15;;;:19;;12920:28;;;;;;;;;;;:58;;;;;13024:5;-1:-1:-1;;;;;13024:22:0;;13047:5;13024:29;;;;;;;;;;;;;-1:-1:-1;;;;;13024:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13024:29:0;12993:28;;:7;;13019:1;13001:15;;;:19;;12993:28;;;;;;;;;;;:60;;;;;13099:15;-1:-1:-1;;;;;13099:35:0;;13135:5;13099:42;;;;;;;;;;;;;-1:-1:-1;;;;;13099:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13099:42:0;13068:28;;:7;;13094:1;13076:15;;;:19;;13068:28;;;;;;;;;;;:73;;;;;13187:5;-1:-1:-1;;;;;13187:17:0;;13205:5;13187:24;;;;;;;;;;;;;-1:-1:-1;;;;;13187:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13187:24:0;13156:28;;:7;;13182:1;13164:15;;;:19;;13156:28;;;;;;;;;;;:55;;;;;13258:5;-1:-1:-1;;;;;13258:17:0;;13276:5;13258:24;;;;;;;;;;;;;-1:-1:-1;;;;;13258:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13258:24:0;13226:29;;:7;;13252:2;13234:15;;;:20;;13226:29;;;;;;;;;;;:56;;;;;13329:5;-1:-1:-1;;;;;13329:19:0;;13349:5;13329:26;;;;;;;;;;;;;-1:-1:-1;;;;;13329:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13329:26:0;13297:29;;:7;;13323:2;13305:15;;;:20;;13297:29;;;;;;;;;;;;;;;;:58;;;;13402:39;;;-1:-1:-1;;;13402:39:0;;-1:-1:-1;;;;;13402:39:0;;;;;;;13435:5;13402:39;;;;;;:25;;;;;;:39;;;;;;;;;;:25;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13402:39:0;13370:29;;:7;;13396:2;13378:15;;;:20;;13370:29;;;;;;;;;;;;;;;;:71;;;;13488:38;;;-1:-1:-1;;;13488:38:0;;-1:-1:-1;;;;;13488:38:0;;;;;;;13521:4;13488:38;;;;;;:25;;;;;;:38;;;;;;;;;;:25;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13488:38:0;13456:29;;:7;;13482:2;13464:15;;;:20;;13456:29;;;;;;;;;;;;;;;:70;-1:-1:-1;12326:3:0;;12286:1252;
Metadata Hash
2ccca85c234b23dc2d76f13fbdce669da01b201c00ea11901e2898aff900a804
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.