Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 143 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint | 19341431 | 285 days ago | IN | 4.22008923 ETH | 0.01512149 | ||||
Mint | 19305495 | 290 days ago | IN | 2.39841008 ETH | 0.00775612 | ||||
Mint | 19211616 | 303 days ago | IN | 2.92071022 ETH | 0.00450615 | ||||
Mint | 19166364 | 309 days ago | IN | 5.2180395 ETH | 0.00486568 | ||||
Mint | 19166335 | 309 days ago | IN | 5.18439014 ETH | 0.00145646 | ||||
Mint | 19098720 | 319 days ago | IN | 1.27080719 ETH | 0.00518414 | ||||
Mint | 18986441 | 334 days ago | IN | 1.50574552 ETH | 0.00506945 | ||||
Mint | 18986404 | 334 days ago | IN | 4.92030716 ETH | 0.00487106 | ||||
Mint | 18898741 | 347 days ago | IN | 11.02714662 ETH | 0.00296371 | ||||
Mint | 18898731 | 347 days ago | IN | 11.03601851 ETH | 0.00095657 | ||||
Mint | 18898694 | 347 days ago | IN | 1.2063333 ETH | 0.00357809 | ||||
Mint | 18871980 | 350 days ago | IN | 2.28901413 ETH | 0.0045492 | ||||
Mint | 18821221 | 358 days ago | IN | 6.61986722 ETH | 0.01346731 | ||||
Mint | 18821208 | 358 days ago | IN | 6.61986722 ETH | 0.00392294 | ||||
Mint | 18813473 | 359 days ago | IN | 2.63165803 ETH | 0.01708945 | ||||
Mint | 18413980 | 415 days ago | IN | 4.12449849 ETH | 0.00108022 | ||||
Mint | 18413422 | 415 days ago | IN | 21.2147906 ETH | 0.00343912 | ||||
Mint | 18392012 | 418 days ago | IN | 30.83608501 ETH | 0.00504379 | ||||
Mint | 17563555 | 534 days ago | IN | 4.55545277 ETH | 0.00285249 | ||||
Mint | 17563528 | 534 days ago | IN | 4.39172114 ETH | 0.00259891 | ||||
Mint | 17563514 | 534 days ago | IN | 2.18941064 ETH | 0.00096501 | ||||
Mint | 17557449 | 535 days ago | IN | 2.11585862 ETH | 0.00301281 | ||||
Mint | 17548804 | 536 days ago | IN | 9.08476224 ETH | 0.00284029 | ||||
Mint | 17548589 | 536 days ago | IN | 3.23429829 ETH | 0.00283113 | ||||
Mint | 17548579 | 536 days ago | IN | 3.22404361 ETH | 0.00079952 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
19782640 | 223 days ago | 0.00042026 ETH | ||||
19782640 | 223 days ago | 0.00042026 ETH | ||||
19782640 | 223 days ago | 0.42069006 ETH | ||||
19731094 | 230 days ago | 0.00003017 ETH | ||||
19731094 | 230 days ago | 0.00003017 ETH | ||||
19731094 | 230 days ago | 0.03020767 ETH | ||||
19730905 | 230 days ago | 0.00002105 ETH | ||||
19730905 | 230 days ago | 0.00002105 ETH | ||||
19730905 | 230 days ago | 0.02107762 ETH | ||||
19727037 | 231 days ago | 0.00013383 ETH | ||||
19727037 | 231 days ago | 0.00013383 ETH | ||||
19727037 | 231 days ago | 0.13396606 ETH | ||||
19727026 | 231 days ago | 0.00008285 ETH | ||||
19727026 | 231 days ago | 0.00008285 ETH | ||||
19727026 | 231 days ago | 0.08293808 ETH | ||||
19726330 | 231 days ago | 0.00001758 ETH | ||||
19726330 | 231 days ago | 0.00001758 ETH | ||||
19726330 | 231 days ago | 0.01760719 ETH | ||||
19726143 | 231 days ago | 0.00016505 ETH | ||||
19726143 | 231 days ago | 0.00016505 ETH | ||||
19726143 | 231 days ago | 0.16521845 ETH | ||||
19725506 | 231 days ago | 0.00022123 ETH | ||||
19725506 | 231 days ago | 0.00022123 ETH | ||||
19725506 | 231 days ago | 0.22145545 ETH | ||||
19725434 | 231 days ago | 0.0000735 ETH |
Loading...
Loading
Contract Name:
Eth_broker
Compiler Version
v0.5.0+commit.1d4f565a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-12 */ // File: contracts/I_Curve.sol pragma solidity 0.5.0; /** * @title Interface Curve * @notice This contract acts as an interface to the curve contract. For * documentation please see the curve smart contract. */ interface I_Curve { // ------------------------------------------------------------------------- // View functions // ------------------------------------------------------------------------- /** * @notice This function is only callable after the curve contract has been * initialized. * @param _amount The amount of tokens a user wants to buy * @return uint256 The cost to buy the _amount of tokens in the collateral * currency (see collateral token). */ function buyPrice(uint256 _amount) external view returns (uint256 collateralRequired); /** * @notice This function is only callable after the curve contract has been * initialized. * @param _amount The amount of tokens a user wants to sell * @return collateralReward The reward for selling the _amount of tokens in the * collateral currency (see collateral token). */ function sellReward(uint256 _amount) external view returns (uint256 collateralReward); /** * @return If the curve is both active and initialised. */ function isCurveActive() external view returns (bool); /** * @return The address of the collateral token (DAI) */ function collateralToken() external view returns (address); /** * @return The address of the bonded token (BZZ). */ function bondedToken() external view returns (address); /** * @return The required collateral amount (DAI) to initialise the curve. */ function requiredCollateral(uint256 _initialSupply) external view returns (uint256); // ------------------------------------------------------------------------- // State modifying functions // ------------------------------------------------------------------------- /** * @notice This function initializes the curve contract, and ensure the * curve has the required permissions on the token contract needed * to function. */ function init() external; /** * @param _amount The amount of tokens (BZZ) the user wants to buy. * @param _maxCollateralSpend The max amount of collateral (DAI) the user is * willing to spend in order to buy the _amount of tokens. * @return The status of the mint. Note that should the total cost of the * purchase exceed the _maxCollateralSpend the transaction will revert. */ function mint(uint256 _amount, uint256 _maxCollateralSpend) external returns (bool success); /** * @param _amount The amount of tokens (BZZ) the user wants to buy. * @param _maxCollateralSpend The max amount of collateral (DAI) the user is * willing to spend in order to buy the _amount of tokens. * @param _to The address to send the tokens to. * @return The status of the mint. Note that should the total cost of the * purchase exceed the _maxCollateralSpend the transaction will revert. */ function mintTo( uint256 _amount, uint256 _maxCollateralSpend, address _to ) external returns (bool success); /** * @param _amount The amount of tokens (BZZ) the user wants to sell. * @param _minCollateralReward The min amount of collateral (DAI) the user is * willing to receive for their tokens. * @return The status of the burn. Note that should the total reward of the * burn be below the _minCollateralReward the transaction will revert. */ function redeem(uint256 _amount, uint256 _minCollateralReward) external returns (bool success); /** * @notice Shuts down the curve, disabling buying, selling and both price * functions. Can only be called by the owner. Will renounce the * minter role on the bonded token. */ function shutDown() external; } // File: contracts/I_router_02.sol pragma solidity 0.5.0; /** * Please note that this interface was created as IUniswapV2Router02 uses * Solidity >= 0.6.2, and the BZZ infastructure uses 0.5.0. */ interface I_router_02 { // Views & Pure function WETH() external pure returns (address); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); // State modifying function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapExactTokensForETH( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol pragma solidity ^0.5.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see {ERC20Detailed}. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } // File: contracts/Eth_broker.sol pragma solidity 0.5.0; contract Eth_broker { // The instance of the curve I_Curve internal curve_; // The instance of the Uniswap router I_router_02 internal router_; // The instance of the DAI token IERC20 internal dai_; // The address for the underlying token address IERC20 internal bzz_; // Mutex guard for state modifying functions uint256 private status_; // States for the guard uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; // ------------------------------------------------------------------------- // Events // ------------------------------------------------------------------------- // Emitted when tokens are minted event mintTokensWithEth( address indexed buyer, // The address of the buyer uint256 amount, // The amount of bonded tokens to mint uint256 priceForTokensDai, // The price in DAI for the token amount uint256 EthTradedForDai, // The ETH amount sold for DAI uint256 maxSpendDai // The max amount of DAI to spend ); // Emitted when tokens are minted event mintTokensToWithEth( address indexed buyer, // The address of the buyer address indexed receiver, // The address of the receiver of the tokens uint256 amount, // The amount of bonded tokens to mint uint256 priceForTokensDai, // The price in DAI for the token amount uint256 EthTradedForDai, // The ETH amount sold for DAI uint256 maxSpendDai // The max amount of DAI to spend ); // Emitted when tokens are burnt event burnTokensWithEth( address indexed seller, // The address of the seller uint256 amount, // The amount of bonded tokens to burn uint256 rewardReceivedDai, // The amount of DAI received for selling uint256 ethReceivedForDai, // How much ETH the DAI was traded for uint256 minRewardDai // The min amount of DAI to sell for ); // ------------------------------------------------------------------------- // Modifiers // ------------------------------------------------------------------------- /** * @notice Checks if the curve is active (may be redundant). */ modifier isCurveActive() { require(curve_.isCurveActive(), "Curve inactive"); _; } /** * @notice Protects against re-entrancy attacks */ modifier mutex() { require(status_ != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to non Reentrant after this point will fail status_ = _ENTERED; // Function executes _; // Status set to not entered status_ = _NOT_ENTERED; } // ------------------------------------------------------------------------- // Constructor // ------------------------------------------------------------------------- constructor( address _bzzCurve, address _collateralToken, address _router02 ) public { require( _bzzCurve != address(0) && _collateralToken != address(0) && _router02 != address(0), "Addresses of contracts cannot be 0x address" ); curve_ = I_Curve(_bzzCurve); dai_ = IERC20(_collateralToken); router_ = I_router_02(_router02); // Setting the address of the underlying token (BZZ) bzz_ = IERC20(curve_.bondedToken()); } // ------------------------------------------------------------------------- // View functions // ------------------------------------------------------------------------- /** * @notice This function is only callable after the curve contract has been * initialized. * @param _amount The amount of tokens a user wants to buy * @return uint256 The cost to buy the _amount of tokens in ETH */ function buyPrice(uint256 _amount) public view isCurveActive() returns (uint256) { // Getting the current DAI cost for token amount uint256 daiCost = curve_.buyPrice(_amount); // Returning the required ETH to buy DAI amount return router_.getAmountsIn( daiCost, getPath(true) )[0]; } /** * @notice This function is only callable after the curve contract has been * initialized. * @param _amount The amount of tokens a user wants to sell * @return uint256 The reward for selling the _amount of tokens in ETH */ function sellReward(uint256 _amount) public view isCurveActive() returns (uint256) { // Getting the current DAI reward for token amount uint256 daiReward = curve_.sellReward(_amount); // Returning the ETH reward for token sale return router_.getAmountsIn( daiReward, getPath(true) )[0]; } /** * @param _daiAmount The amount of dai to be traded for ETH * @return uint256 The amount of ETH that can be traded for given the * dai amount */ function sellRewardDai(uint256 _daiAmount) public view isCurveActive() returns (uint256) { // Returning the ETH reward for the dai amount return router_.getAmountsIn( _daiAmount, getPath(true) )[0]; } /** * @param _buy If the path is for a buy or sell transaction * @return address[] The path for the transaction */ function getPath(bool _buy) public view returns(address[] memory) { address[] memory buyPath = new address[](2); if(_buy) { buyPath[0] = router_.WETH(); buyPath[1] = address(dai_); } else { buyPath[0] = address(dai_); buyPath[1] = router_.WETH(); } return buyPath; } /** * @return Gets the current time */ function getTime() public view returns(uint256) { return now; } // ------------------------------------------------------------------------- // State modifying functions // ------------------------------------------------------------------------- /** * @param _tokenAmount The amount of BZZ tokens the user would like to * buy from the curve. * @param _maxDaiSpendAmount The max amount of collateral (DAI) the user * is willing to spend to buy the amount of tokens. * @param _deadline Unix timestamp after which the transaction will * revert. - Taken from Uniswap documentation: * https://uniswap.org/docs/v2/smart-contracts/router02/#swapethforexacttokens * @return bool If the transaction completed successfully. * @notice Before this function is called the caller does not need to * approve the spending of anything. Please assure that the amount * of ETH sent with this transaction is sufficient by first calling * `buyPrice` with the same token amount. Add your % slippage to * the max dai spend amount (you can get the expected amount by * calling `buyPrice` on the curve contract). */ function mint( uint256 _tokenAmount, uint256 _maxDaiSpendAmount, uint _deadline ) external payable isCurveActive() mutex() returns (bool) { (uint256 daiNeeded, uint256 ethReceived) = _commonMint( _tokenAmount, _maxDaiSpendAmount, _deadline, msg.sender ); // Emitting event with all important info emit mintTokensWithEth( msg.sender, _tokenAmount, daiNeeded, ethReceived, _maxDaiSpendAmount ); // Returning that the mint executed successfully return true; } /** * @param _tokenAmount The amount of BZZ tokens the user would like to * buy from the curve. * @param _maxDaiSpendAmount The max amount of collateral (DAI) the user * is willing to spend to buy the amount of tokens. * @param _deadline Unix timestamp after which the transaction will * revert. - Taken from Uniswap documentation: * https://uniswap.org/docs/v2/smart-contracts/router02/#swapethforexacttokens * @return bool If the transaction completed successfully. * @notice Before this function is called the caller does not need to * approve the spending of anything. Please assure that the amount * of ETH sent with this transaction is sufficient by first calling * `buyPrice` with the same token amount. Add your % slippage to * the max dai spend amount (you can get the expected amount by * calling `buyPrice` on the curve contract). */ function mintTo( uint256 _tokenAmount, uint256 _maxDaiSpendAmount, uint _deadline, address _to ) external payable isCurveActive() mutex() returns (bool) { (uint256 daiNeeded, uint256 ethReceived) = _commonMint( _tokenAmount, _maxDaiSpendAmount, _deadline, _to ); // Emitting event with all important info emit mintTokensToWithEth( msg.sender, _to, _tokenAmount, daiNeeded, ethReceived, _maxDaiSpendAmount ); // Returning that the mint executed successfully return true; } /** * @notice The user needs to have approved this contract as a spender of * of the desired `_tokenAmount` to sell before calling this * transaction. Failure to do so will result in the call reverting. * This function is payable to receive ETH from internal calls. * Please do not send ETH to this function. * @param _tokenAmount The amount of BZZ tokens the user would like to * sell. * @param _minDaiSellValue The min value of collateral (DAI) the user * is willing to sell their tokens for. * @param _deadline Unix timestamp after which the transaction will * revert. - Taken from Uniswap documentation: * https://uniswap.org/docs/v2/smart-contracts/router02/#swapexacttokensforeth * @return bool If the transaction completed successfully. */ function redeem( uint256 _tokenAmount, uint256 _minDaiSellValue, uint _deadline ) external payable isCurveActive() mutex() returns (bool) { // Gets the current reward for selling the amount of tokens uint256 daiReward = curve_.sellReward(_tokenAmount); // The check that the dai reward amount is not more than the min sell // amount happens in the curve. // Transferring _amount of tokens into this contract require( bzz_.transferFrom( msg.sender, address(this), _tokenAmount ), "Transferring BZZ failed" ); // Approving the curve as a spender require( bzz_.approve( address(curve_), _tokenAmount ), "BZZ approve failed" ); // Selling tokens for DAI require( curve_.redeem( _tokenAmount, daiReward ), "Curve burn failed" ); // Getting expected ETH for DAI uint256 ethMin = sellRewardDai(_minDaiSellValue); // Approving the router as a spender require( dai_.approve( address(router_), daiReward ), "DAI approve failed" ); // Selling DAI received for ETH router_.swapExactTokensForETH( daiReward, ethMin, getPath(false), msg.sender, _deadline ); // Emitting event with all important info emit burnTokensWithEth( msg.sender, _tokenAmount, daiReward, ethMin, _minDaiSellValue ); // Returning that the burn executed successfully return true; } function() external payable { require( msg.sender == address(router_), "ETH not accepted outside router" ); } // ------------------------------------------------------------------------- // Internal functions // ------------------------------------------------------------------------- /** * @param _tokenAmount The amount of BZZ tokens the user would like to * buy from the curve. * @param _maxDaiSpendAmount The max amount of collateral (DAI) the user * is willing to spend to buy the amount of tokens. * @param _deadline Unix timestamp after which the transaction will * revert. - Taken from Uniswap documentation: * https://uniswap.org/docs/v2/smart-contracts/router02/#swapethforexacttokens * @return uint256 The dai needed to buy the tokens. * @return uint256 The Ether received from the user for the trade. * @notice Before this function is called the caller does not need to * approve the spending of anything. Please assure that the amount * of ETH sent with this transaction is sufficient by first calling * `buyPrice` with the same token amount. Add your % slippage to * the max dai spend amount (you can get the expected amount by * calling `buyPrice` on the curve contract). */ function _commonMint( uint256 _tokenAmount, uint256 _maxDaiSpendAmount, uint _deadline, address _to ) internal returns( uint256 daiNeeded, uint256 ethReceived ) { // Getting the exact needed amount of DAI for desired token amount daiNeeded = curve_.buyPrice(_tokenAmount); // Checking that this amount is not more than the max spend amount require( _maxDaiSpendAmount >= daiNeeded, "DAI required for trade above max" ); // Swapping sent ETH for exact amount of DAI needed router_.swapETHForExactTokens.value(msg.value)( daiNeeded, getPath(true), address(this), _deadline ); // Getting the amount of ETH received ethReceived = address(this).balance; // Approving the curve as a spender require( dai_.approve(address(curve_), daiNeeded), "DAI approve failed" ); // Buying tokens (BZZ) against the curve require( curve_.mintTo(_tokenAmount, daiNeeded, _to), "BZZ mintTo failed" ); // Refunding user excess ETH msg.sender.transfer(ethReceived); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_tokenAmount","type":"uint256"},{"name":"_maxDaiSpendAmount","type":"uint256"},{"name":"_deadline","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_buy","type":"bool"}],"name":"getPath","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_daiAmount","type":"uint256"}],"name":"sellRewardDai","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAmount","type":"uint256"},{"name":"_minDaiSellValue","type":"uint256"},{"name":"_deadline","type":"uint256"}],"name":"redeem","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAmount","type":"uint256"},{"name":"_maxDaiSpendAmount","type":"uint256"},{"name":"_deadline","type":"uint256"},{"name":"_to","type":"address"}],"name":"mintTo","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_amount","type":"uint256"}],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_amount","type":"uint256"}],"name":"sellReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_bzzCurve","type":"address"},{"name":"_collateralToken","type":"address"},{"name":"_router02","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"priceForTokensDai","type":"uint256"},{"indexed":false,"name":"EthTradedForDai","type":"uint256"},{"indexed":false,"name":"maxSpendDai","type":"uint256"}],"name":"mintTokensWithEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"priceForTokensDai","type":"uint256"},{"indexed":false,"name":"EthTradedForDai","type":"uint256"},{"indexed":false,"name":"maxSpendDai","type":"uint256"}],"name":"mintTokensToWithEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"rewardReceivedDai","type":"uint256"},{"indexed":false,"name":"ethReceivedForDai","type":"uint256"},{"indexed":false,"name":"minRewardDai","type":"uint256"}],"name":"burnTokensWithEth","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405160608062001bae8339810180604052606081101561003157600080fd5b5080516020820151604090920151909190600160a060020a038316158015906100625750600160a060020a03821615155b80156100765750600160a060020a03811615155b151561010957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f416464726573736573206f6620636f6e7472616374732063616e6e6f7420626560448201527f2030782061646472657373000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008054600160a060020a03808616600160a060020a031992831617928390556002805486831690841617905560018054858316931692909217909155604080517fe36a4ec70000000000000000000000000000000000000000000000000000000081529051929091169163e36a4ec791600480820192602092909190829003018186803b15801561019a57600080fd5b505afa1580156101ae573d6000803e3d6000fd5b505050506040513d60208110156101c457600080fd5b505160038054600160a060020a03909216600160a060020a03199092169190911790555050506119b480620001fa6000396000f3fe6080604052600436106100745763ffffffff60e060020a60003504166302acc94b81146100d85780631cb0cbbc1461011557806322937f8414610191578063557ed1ba146101cd578063b8192205146101e2578063be228dcc1461020b578063c4dbf62214610243578063c9f1dba81461026d575b600154600160a060020a031633146100d6576040805160e560020a62461bcd02815260206004820152601f60248201527f455448206e6f74206163636570746564206f75747369646520726f7574657200604482015290519081900360640190fd5b005b610101600480360360608110156100ee57600080fd5b5080359060208101359060400135610297565b604080519115158252519081900360200190f35b34801561012157600080fd5b506101416004803603602081101561013857600080fd5b5035151561043b565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561017d578181015183820152602001610165565b505050509050019250505060405180910390f35b34801561019d57600080fd5b506101bb600480360360208110156101b457600080fd5b503561061a565b60408051918252519081900360200190f35b3480156101d957600080fd5b506101bb610832565b610101600480360360608110156101f857600080fd5b5080359060208101359060400135610836565b6101016004803603608081101561022157600080fd5b5080359060208101359060408101359060600135600160a060020a0316610f8c565b34801561024f57600080fd5b506101bb6004803603602081101561026657600080fd5b503561113d565b34801561027957600080fd5b506101bb6004803603602081101561029057600080fd5b50356113ed565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156102e957600080fd5b505afa1580156102fd573d6000803e3d6000fd5b505050506040513d602081101561031357600080fd5b5051151561036b576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b600454600214156103c6576040805160e560020a62461bcd02815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026004556000806103da86868633611527565b604080518981526020810184905280820183905260608101899052905192945090925033917f4327eea945b1ba6ff37d2123b5d61dc45738400e84b80b918df27bf18c8c3b0b9181900360800190a260019250505060016004559392505050565b604080516002808252606080830184529283929190602083019080388339019050509050821561053757600160009054906101000a9004600160a060020a0316600160a060020a031663ad5c46486040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156104b657600080fd5b505afa1580156104ca573d6000803e3d6000fd5b505050506040513d60208110156104e057600080fd5b50518151829060009081106104f157fe5b600160a060020a039283166020918202909201015260025482519116908290600190811061051b57fe5b600160a060020a03909216602092830290910190910152610614565b6002548151600160a060020a03909116908290600090811061055557fe5b600160a060020a039283166020918202909201810191909152600154604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b1580156105c157600080fd5b505afa1580156105d5573d6000803e3d6000fd5b505050506040513d60208110156105eb57600080fd5b50518151829060019081106105fc57fe5b600160a060020a039092166020928302909101909101525b92915050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561066c57600080fd5b505afa158015610680573d6000803e3d6000fd5b505050506040513d602081101561069657600080fd5b505115156106ee576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b60018054600160a060020a031690631f00ca7490849061070d9061043b565b6040805160e060020a63ffffffff86160281526004810184815260248201928352835160448301528351909291606401906020858101910280838360005b8381101561076357818101518382015260200161074b565b50505050905001935050505060006040518083038186803b15801561078757600080fd5b505afa15801561079b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156107c457600080fd5b8101908080516401000000008111156107dc57600080fd5b820160208101848111156107ef57600080fd5b815185602082028301116401000000008211171561080c57600080fd5b50508051909350600092508210905061082157fe5b906020019060200201519050919050565b4290565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561088857600080fd5b505afa15801561089c573d6000803e3d6000fd5b505050506040513d60208110156108b257600080fd5b5051151561090a576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b60045460021415610965576040805160e560020a62461bcd02815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600490815560008054604080517fc9f1dba8000000000000000000000000000000000000000000000000000000008152938401889052519192600160a060020a039091169163c9f1dba891602480820192602092909190829003018186803b1580156109d257600080fd5b505afa1580156109e6573d6000803e3d6000fd5b505050506040513d60208110156109fc57600080fd5b5051600354604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018990529051929350600160a060020a03909116916323b872dd916064808201926020929091908290030181600087803b158015610a7457600080fd5b505af1158015610a88573d6000803e3d6000fd5b505050506040513d6020811015610a9e57600080fd5b50511515610af6576040805160e560020a62461bcd02815260206004820152601760248201527f5472616e7366657272696e6720425a5a206661696c6564000000000000000000604482015290519081900360640190fd5b60035460008054604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018a90529051919093169263095ea7b39260448083019360209390929083900390910190829087803b158015610b6c57600080fd5b505af1158015610b80573d6000803e3d6000fd5b505050506040513d6020811015610b9657600080fd5b50511515610bee576040805160e560020a62461bcd02815260206004820152601260248201527f425a5a20617070726f7665206661696c65640000000000000000000000000000604482015290519081900360640190fd5b60008054604080517f7cbc237300000000000000000000000000000000000000000000000000000000815260048101899052602481018590529051600160a060020a0390921692637cbc2373926044808401936020939083900390910190829087803b158015610c5d57600080fd5b505af1158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b50511515610cdf576040805160e560020a62461bcd02815260206004820152601160248201527f4375727665206275726e206661696c6564000000000000000000000000000000604482015290519081900360640190fd5b6000610cea8561061a565b600254600154604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101879052905193945091169163095ea7b3916044808201926020929091908290030181600087803b158015610d5e57600080fd5b505af1158015610d72573d6000803e3d6000fd5b505050506040513d6020811015610d8857600080fd5b50511515610de0576040805160e560020a62461bcd02815260206004820152601260248201527f44414920617070726f7665206661696c65640000000000000000000000000000604482015290519081900360640190fd5b600154600160a060020a03166318cbafe58383610dfd600061043b565b33896040518663ffffffff1660e060020a028152600401808681526020018581526020018060200184600160a060020a0316600160a060020a03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015610e7b578181015183820152602001610e63565b505050509050019650505050505050600060405180830381600087803b158015610ea457600080fd5b505af1158015610eb8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610ee157600080fd5b810190808051640100000000811115610ef957600080fd5b82016020810184811115610f0c57600080fd5b8151856020820283011164010000000082111715610f2957600080fd5b5050604080518b815260208101889052808201879052606081018b905290513395507fe1da4be543e2eabcb36806b05a91cee4d2eefa7ad5e71dc73333c5c8d42b64c894509081900360800192509050a260019250505060016004559392505050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610fde57600080fd5b505afa158015610ff2573d6000803e3d6000fd5b505050506040513d602081101561100857600080fd5b50511515611060576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b600454600214156110bb576040805160e560020a62461bcd02815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026004556000806110cf87878787611527565b604080518a815260208101849052808201839052606081018a90529051929450909250600160a060020a0386169133917f941fec67f36fd219de33f2cbbde64befe6b267982e50ee0f76e9b1b8446c4ca6919081900360800190a36001925050506001600455949350505050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561118f57600080fd5b505afa1580156111a3573d6000803e3d6000fd5b505050506040513d60208110156111b957600080fd5b50511515611211576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b60008054604080517fc4dbf622000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a039092169163c4dbf62291602480820192602092909190829003018186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d60208110156112a157600080fd5b505160018054919250600160a060020a0390911690631f00ca749083906112c79061043b565b6040805160e060020a63ffffffff86160281526004810184815260248201928352835160448301528351909291606401906020858101910280838360005b8381101561131d578181015183820152602001611305565b50505050905001935050505060006040518083038186803b15801561134157600080fd5b505afa158015611355573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561137e57600080fd5b81019080805164010000000081111561139657600080fd5b820160208101848111156113a957600080fd5b81518560208202830111640100000000821117156113c657600080fd5b5050805190935060009250821090506113db57fe5b90602001906020020151915050919050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b505115156114c1576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b60008054604080517fc9f1dba8000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a039092169163c9f1dba891602480820192602092909190829003018186803b15801561127757600080fd5b60008054604080517fc4dbf6220000000000000000000000000000000000000000000000000000000081526004810188905290518392600160a060020a03169163c4dbf622916024808301926020929190829003018186803b15801561158c57600080fd5b505afa1580156115a0573d6000803e3d6000fd5b505050506040513d60208110156115b657600080fd5b5051915081851015611612576040805160e560020a62461bcd02815260206004820181905260248201527f44414920726571756972656420666f722074726164652061626f7665206d6178604482015290519081900360640190fd5b60018054600160a060020a03169063fb3bdb4190349085906116339061043b565b30896040518663ffffffff1660e060020a028152600401808581526020018060200184600160a060020a0316600160a060020a03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156116ab578181015183820152602001611693565b50505050905001955050505050506000604051808303818588803b1580156116d257600080fd5b505af11580156116e6573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052602081101561171057600080fd5b81019080805164010000000081111561172857600080fd5b8201602081018481111561173b57600080fd5b815185602082028301116401000000008211171561175857600080fd5b505060025460008054604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018b905290513031995093909116965063095ea7b395506044808201955060209450908390030190829087803b1580156117d457600080fd5b505af11580156117e8573d6000803e3d6000fd5b505050506040513d60208110156117fe57600080fd5b50511515611856576040805160e560020a62461bcd02815260206004820152601260248201527f44414920617070726f7665206661696c65640000000000000000000000000000604482015290519081900360640190fd5b60008054604080517f6190e3a8000000000000000000000000000000000000000000000000000000008152600481018a905260248101869052600160a060020a03878116604483015291519190921692636190e3a892606480820193602093909283900390910190829087803b1580156118cf57600080fd5b505af11580156118e3573d6000803e3d6000fd5b505050506040513d60208110156118f957600080fd5b50511515611951576040805160e560020a62461bcd02815260206004820152601160248201527f425a5a206d696e74546f206661696c6564000000000000000000000000000000604482015290519081900360640190fd5b604051339082156108fc029083906000818181858888f1935050505015801561197e573d6000803e3d6000fd5b509450949250505056fea165627a7a7230582000f08187231dd23bf6fe55ecb35bf58c32121f608f821b1bef65dcbc6466c5b600290000000000000000000000004f32ab778e85c4ad0cead54f8f82f5ee74d469040000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x6080604052600436106100745763ffffffff60e060020a60003504166302acc94b81146100d85780631cb0cbbc1461011557806322937f8414610191578063557ed1ba146101cd578063b8192205146101e2578063be228dcc1461020b578063c4dbf62214610243578063c9f1dba81461026d575b600154600160a060020a031633146100d6576040805160e560020a62461bcd02815260206004820152601f60248201527f455448206e6f74206163636570746564206f75747369646520726f7574657200604482015290519081900360640190fd5b005b610101600480360360608110156100ee57600080fd5b5080359060208101359060400135610297565b604080519115158252519081900360200190f35b34801561012157600080fd5b506101416004803603602081101561013857600080fd5b5035151561043b565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561017d578181015183820152602001610165565b505050509050019250505060405180910390f35b34801561019d57600080fd5b506101bb600480360360208110156101b457600080fd5b503561061a565b60408051918252519081900360200190f35b3480156101d957600080fd5b506101bb610832565b610101600480360360608110156101f857600080fd5b5080359060208101359060400135610836565b6101016004803603608081101561022157600080fd5b5080359060208101359060408101359060600135600160a060020a0316610f8c565b34801561024f57600080fd5b506101bb6004803603602081101561026657600080fd5b503561113d565b34801561027957600080fd5b506101bb6004803603602081101561029057600080fd5b50356113ed565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156102e957600080fd5b505afa1580156102fd573d6000803e3d6000fd5b505050506040513d602081101561031357600080fd5b5051151561036b576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b600454600214156103c6576040805160e560020a62461bcd02815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026004556000806103da86868633611527565b604080518981526020810184905280820183905260608101899052905192945090925033917f4327eea945b1ba6ff37d2123b5d61dc45738400e84b80b918df27bf18c8c3b0b9181900360800190a260019250505060016004559392505050565b604080516002808252606080830184529283929190602083019080388339019050509050821561053757600160009054906101000a9004600160a060020a0316600160a060020a031663ad5c46486040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156104b657600080fd5b505afa1580156104ca573d6000803e3d6000fd5b505050506040513d60208110156104e057600080fd5b50518151829060009081106104f157fe5b600160a060020a039283166020918202909201015260025482519116908290600190811061051b57fe5b600160a060020a03909216602092830290910190910152610614565b6002548151600160a060020a03909116908290600090811061055557fe5b600160a060020a039283166020918202909201810191909152600154604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b1580156105c157600080fd5b505afa1580156105d5573d6000803e3d6000fd5b505050506040513d60208110156105eb57600080fd5b50518151829060019081106105fc57fe5b600160a060020a039092166020928302909101909101525b92915050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561066c57600080fd5b505afa158015610680573d6000803e3d6000fd5b505050506040513d602081101561069657600080fd5b505115156106ee576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b60018054600160a060020a031690631f00ca7490849061070d9061043b565b6040805160e060020a63ffffffff86160281526004810184815260248201928352835160448301528351909291606401906020858101910280838360005b8381101561076357818101518382015260200161074b565b50505050905001935050505060006040518083038186803b15801561078757600080fd5b505afa15801561079b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156107c457600080fd5b8101908080516401000000008111156107dc57600080fd5b820160208101848111156107ef57600080fd5b815185602082028301116401000000008211171561080c57600080fd5b50508051909350600092508210905061082157fe5b906020019060200201519050919050565b4290565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561088857600080fd5b505afa15801561089c573d6000803e3d6000fd5b505050506040513d60208110156108b257600080fd5b5051151561090a576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b60045460021415610965576040805160e560020a62461bcd02815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600490815560008054604080517fc9f1dba8000000000000000000000000000000000000000000000000000000008152938401889052519192600160a060020a039091169163c9f1dba891602480820192602092909190829003018186803b1580156109d257600080fd5b505afa1580156109e6573d6000803e3d6000fd5b505050506040513d60208110156109fc57600080fd5b5051600354604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018990529051929350600160a060020a03909116916323b872dd916064808201926020929091908290030181600087803b158015610a7457600080fd5b505af1158015610a88573d6000803e3d6000fd5b505050506040513d6020811015610a9e57600080fd5b50511515610af6576040805160e560020a62461bcd02815260206004820152601760248201527f5472616e7366657272696e6720425a5a206661696c6564000000000000000000604482015290519081900360640190fd5b60035460008054604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018a90529051919093169263095ea7b39260448083019360209390929083900390910190829087803b158015610b6c57600080fd5b505af1158015610b80573d6000803e3d6000fd5b505050506040513d6020811015610b9657600080fd5b50511515610bee576040805160e560020a62461bcd02815260206004820152601260248201527f425a5a20617070726f7665206661696c65640000000000000000000000000000604482015290519081900360640190fd5b60008054604080517f7cbc237300000000000000000000000000000000000000000000000000000000815260048101899052602481018590529051600160a060020a0390921692637cbc2373926044808401936020939083900390910190829087803b158015610c5d57600080fd5b505af1158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b50511515610cdf576040805160e560020a62461bcd02815260206004820152601160248201527f4375727665206275726e206661696c6564000000000000000000000000000000604482015290519081900360640190fd5b6000610cea8561061a565b600254600154604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a03928316600482015260248101879052905193945091169163095ea7b3916044808201926020929091908290030181600087803b158015610d5e57600080fd5b505af1158015610d72573d6000803e3d6000fd5b505050506040513d6020811015610d8857600080fd5b50511515610de0576040805160e560020a62461bcd02815260206004820152601260248201527f44414920617070726f7665206661696c65640000000000000000000000000000604482015290519081900360640190fd5b600154600160a060020a03166318cbafe58383610dfd600061043b565b33896040518663ffffffff1660e060020a028152600401808681526020018581526020018060200184600160a060020a0316600160a060020a03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015610e7b578181015183820152602001610e63565b505050509050019650505050505050600060405180830381600087803b158015610ea457600080fd5b505af1158015610eb8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610ee157600080fd5b810190808051640100000000811115610ef957600080fd5b82016020810184811115610f0c57600080fd5b8151856020820283011164010000000082111715610f2957600080fd5b5050604080518b815260208101889052808201879052606081018b905290513395507fe1da4be543e2eabcb36806b05a91cee4d2eefa7ad5e71dc73333c5c8d42b64c894509081900360800192509050a260019250505060016004559392505050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015610fde57600080fd5b505afa158015610ff2573d6000803e3d6000fd5b505050506040513d602081101561100857600080fd5b50511515611060576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b600454600214156110bb576040805160e560020a62461bcd02815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026004556000806110cf87878787611527565b604080518a815260208101849052808201839052606081018a90529051929450909250600160a060020a0386169133917f941fec67f36fd219de33f2cbbde64befe6b267982e50ee0f76e9b1b8446c4ca6919081900360800190a36001925050506001600455949350505050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561118f57600080fd5b505afa1580156111a3573d6000803e3d6000fd5b505050506040513d60208110156111b957600080fd5b50511515611211576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b60008054604080517fc4dbf622000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a039092169163c4dbf62291602480820192602092909190829003018186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d60208110156112a157600080fd5b505160018054919250600160a060020a0390911690631f00ca749083906112c79061043b565b6040805160e060020a63ffffffff86160281526004810184815260248201928352835160448301528351909291606401906020858101910280838360005b8381101561131d578181015183820152602001611305565b50505050905001935050505060006040518083038186803b15801561134157600080fd5b505afa158015611355573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561137e57600080fd5b81019080805164010000000081111561139657600080fd5b820160208101848111156113a957600080fd5b81518560208202830111640100000000821117156113c657600080fd5b5050805190935060009250821090506113db57fe5b90602001906020020151915050919050565b60008060009054906101000a9004600160a060020a0316600160a060020a03166305a27c9d6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b505115156114c1576040805160e560020a62461bcd02815260206004820152600e60248201527f437572766520696e616374697665000000000000000000000000000000000000604482015290519081900360640190fd5b60008054604080517fc9f1dba8000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a039092169163c9f1dba891602480820192602092909190829003018186803b15801561127757600080fd5b60008054604080517fc4dbf6220000000000000000000000000000000000000000000000000000000081526004810188905290518392600160a060020a03169163c4dbf622916024808301926020929190829003018186803b15801561158c57600080fd5b505afa1580156115a0573d6000803e3d6000fd5b505050506040513d60208110156115b657600080fd5b5051915081851015611612576040805160e560020a62461bcd02815260206004820181905260248201527f44414920726571756972656420666f722074726164652061626f7665206d6178604482015290519081900360640190fd5b60018054600160a060020a03169063fb3bdb4190349085906116339061043b565b30896040518663ffffffff1660e060020a028152600401808581526020018060200184600160a060020a0316600160a060020a03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156116ab578181015183820152602001611693565b50505050905001955050505050506000604051808303818588803b1580156116d257600080fd5b505af11580156116e6573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052602081101561171057600080fd5b81019080805164010000000081111561172857600080fd5b8201602081018481111561173b57600080fd5b815185602082028301116401000000008211171561175857600080fd5b505060025460008054604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018b905290513031995093909116965063095ea7b395506044808201955060209450908390030190829087803b1580156117d457600080fd5b505af11580156117e8573d6000803e3d6000fd5b505050506040513d60208110156117fe57600080fd5b50511515611856576040805160e560020a62461bcd02815260206004820152601260248201527f44414920617070726f7665206661696c65640000000000000000000000000000604482015290519081900360640190fd5b60008054604080517f6190e3a8000000000000000000000000000000000000000000000000000000008152600481018a905260248101869052600160a060020a03878116604483015291519190921692636190e3a892606480820193602093909283900390910190829087803b1580156118cf57600080fd5b505af11580156118e3573d6000803e3d6000fd5b505050506040513d60208110156118f957600080fd5b50511515611951576040805160e560020a62461bcd02815260206004820152601160248201527f425a5a206d696e74546f206661696c6564000000000000000000000000000000604482015290519081900360640190fd5b604051339082156108fc029083906000818181858888f1935050505015801561197e573d6000803e3d6000fd5b509450949250505056fea165627a7a7230582000f08187231dd23bf6fe55ecb35bf58c32121f608f821b1bef65dcbc6466c5b60029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004f32ab778e85c4ad0cead54f8f82f5ee74d469040000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : _bzzCurve (address): 0x4F32Ab778e85C4aD0CEad54f8f82F5Ee74d46904
Arg [1] : _collateralToken (address): 0x6B175474E89094C44Da98b954EedeAC495271d0F
Arg [2] : _router02 (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000004f32ab778e85c4ad0cead54f8f82f5ee74d46904
Arg [1] : 0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode Sourcemap
8356:15901:0:-;;;;;;;;;-1:-1:-1;;;8356:15901:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21533:7;;-1:-1:-1;;;;;21533:7:0;21511:10;:30;21489:111;;;;;-1:-1:-1;;;;;21489:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8356:15901;15969:729;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15969:729:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14203:378;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14203:378:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14203:378:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14203:378:0;;;;;;;;;;;;;;;;;13749:300;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13749:300:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13749:300:0;;;;;;;;;;;;;;;;;;;14651:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14651:77:0;;;;19432:2010;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19432:2010:0;;;;;;;;;;;;;17739:766;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;17739:766:0;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17739:766:0;;;12462:401;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12462:401:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12462:401:0;;;13141:406;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13141:406:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13141:406:0;;;15969:729;16180:4;10772:6;;;;;;;;;-1:-1:-1;;;;;10772:6:0;-1:-1:-1;;;;;10772:20:0;;:22;;;;;-1:-1:-1;;;10772:22:0;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10772:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10772:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10772:22:0;10764:49;;;;;;;-1:-1:-1;;;;;10764:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10950:7;;8864:1;10950:19;;10942:63;;;;;-1:-1:-1;;;;;10942:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8864:1;11082:7;:18;16203:17;;16245:131;16271:12;16298:18;16331:9;16355:10;16245:11;:131::i;:::-;16443:167;;;;;;;;;;;;;;;;;;;;;;;;;;16202:174;;-1:-1:-1;16202:174:0;;-1:-1:-1;16475:10:0;;16443:167;;;;;;;;;16686:4;16679:11;;;;8820:1;11191:7;:22;15969:729;;-1:-1:-1;;;15969:729:0:o;14203:378::-;14307:16;;;14321:1;14307:16;;;14251;14307;;;;;14251;;;14307;14321:1;14307:16;;;;;105:10:-1;14307:16:0;88:34:-1;136:17;;-1:-1;14307:16:0;14280:43;;14337:4;14334:205;;;14371:7;;;;;;;;;-1:-1:-1;;;;;14371:7:0;-1:-1:-1;;;;;14371:12:0;;:14;;;;;-1:-1:-1;;;14371:14:0;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14371:14:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14371:14:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14371:14:0;14358:10;;:7;;14366:1;;14358:10;;;;;;-1:-1:-1;;;;;14358:27:0;;;:10;;;;;;;;:27;14421:4;;14400:10;;14421:4;;;14400:7;;14421:4;;14400:10;;;;;;-1:-1:-1;;;;;14400:26:0;;;:10;;;;;;;;;;:26;14334:205;;;14480:4;;14459:10;;-1:-1:-1;;;;;14480:4:0;;;;14459:7;;14480:4;;14459:10;;;;;;-1:-1:-1;;;;;14459:26:0;;;:10;;;;;;;;;:26;;;;14513:7;;:14;;;;;;;;:7;;;;;:12;;:14;;;;;14459:10;;14513:14;;;;;:7;:14;;;5:2:-1;;;;30:1;27;20:12;5:2;14513:14:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14513:14:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14513:14:0;14500:10;;:7;;14508:1;;14500:10;;;;;;-1:-1:-1;;;;;14500:27:0;;;:10;;;;;;;;;;:27;14334:205;14566:7;14203:378;-1:-1:-1;;14203:378:0:o;13749:300::-;13865:7;10772:6;;;;;;;;;-1:-1:-1;;;;;10772:6:0;-1:-1:-1;;;;;10772:20:0;;:22;;;;;-1:-1:-1;;;10772:22:0;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10772:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10772:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10772:22:0;10764:49;;;;;;;-1:-1:-1;;;;;10764:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13953:7;;;-1:-1:-1;;;;;13953:7:0;;:20;;13988:10;;14014:13;;:7;:13::i;:::-;13953:85;;;-1:-1:-1;;;13953:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13953:85:0;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13953:85:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13953:85:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;13953:85:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;13953:85:0;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;;13953:88:0;;:85;;-1:-1:-1;14039:1:0;;-1:-1:-1;13953:88:0;;;-1:-1:-1;13953:88:0;;;;;;;;;;;;13946:95;;13749:300;;;:::o;14651:77::-;14717:3;14651:77;:::o;19432:2010::-;19642:4;10772:6;;;;;;;;;-1:-1:-1;;;;;10772:6:0;-1:-1:-1;;;;;10772:20:0;;:22;;;;;-1:-1:-1;;;10772:22:0;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10772:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10772:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10772:22:0;10764:49;;;;;;;-1:-1:-1;;;;;10764:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10950:7;;8864:1;10950:19;;10942:63;;;;;-1:-1:-1;;;;;10942:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8864:1;11082:7;:18;;;19733:17;19753:6;;:31;;;;;;;;;;;;;19733:17;;-1:-1:-1;;;;;19753:6:0;;;;:17;;:31;;;;;;;;;;;;;;;:6;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;19753:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19753:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19753:31:0;20002:4;;:124;;;;;;20038:10;20002:124;;;;20075:4;20002:124;;;;;;;;;;;;19753:31;;-1:-1:-1;;;;;;20002:4:0;;;;:17;;:124;;;;;19753:31;;20002:124;;;;;;;;:4;;:124;;;5:2:-1;;;;30:1;27;20:12;5:2;20002:124:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20002:124:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20002:124:0;19980:197;;;;;;;-1:-1:-1;;;;;19980:197:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20255:4;;;20294:6;;20255:92;;;;;;-1:-1:-1;;;;;20294:6:0;;;20255:92;;;;;;;;;;;;:4;;;;;:12;;:92;;;;;;;;;;;;;;;;;;;:4;:92;;;5:2:-1;;;;30:1;27;20:12;5:2;20255:92:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20255:92:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20255:92:0;20233:160;;;;;;;-1:-1:-1;;;;;20233:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20461:6;;;:87;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20461:6:0;;;;:13;;:87;;;;;;;;;;;;;;;;;:6;:87;;;5:2:-1;;;;30:1;27;20:12;5:2;20461:87:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20461:87:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20461:87:0;20439:154;;;;;;;-1:-1:-1;;;;;20439:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20645:14;20662:31;20676:16;20662:13;:31::i;:::-;20772:4;;;20811:7;20772:90;;;;;;-1:-1:-1;;;;;20811:7:0;;;20772:90;;;;;;;;;;;;20645:48;;-1:-1:-1;20772:4:0;;;:12;;:90;;;;;;;;;;;;;;;:4;;:90;;;5:2:-1;;;;30:1;27;20:12;5:2;20772:90:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20772:90:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20772:90:0;20750:158;;;;;;;-1:-1:-1;;;;;20750:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;20960:7;;-1:-1:-1;;;;;20960:7:0;:29;21004:9;21029:6;21051:14;20960:7;21051;:14::i;:::-;21081:10;21107:9;20960:167;;;;;-1:-1:-1;;;20960:167:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20960:167:0;-1:-1:-1;;;;;20960:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;20960:167:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20960:167:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20960:167:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;20960:167:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;20960:167:0;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;;21194:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;21226:10;;-1:-1:-1;21194:160:0;;-1:-1:-1;21194:160:0;;;;;;;-1:-1:-1;21194:160:0;-1:-1:-1;21194:160:0;21430:4;21423:11;;;;8820:1;11191:7;:22;19432:2010;;-1:-1:-1;;;19432:2010:0:o;17739:766::-;17974:4;10772:6;;;;;;;;;-1:-1:-1;;;;;10772:6:0;-1:-1:-1;;;;;10772:20:0;;:22;;;;;-1:-1:-1;;;10772:22:0;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10772:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10772:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10772:22:0;10764:49;;;;;;;-1:-1:-1;;;;;10764:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10950:7;;8864:1;10950:19;;10942:63;;;;;-1:-1:-1;;;;;10942:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8864:1;11082:7;:18;17997:17;;18039:124;18065:12;18092:18;18125:9;18149:3;18039:11;:124::i;:::-;18230:187;;;;;;;;;;;;;;;;;;;;;;;;;;17996:167;;-1:-1:-1;17996:167:0;;-1:-1:-1;;;;;;18230:187:0;;;18264:10;;18230:187;;;;;;;;;;18493:4;18486:11;;;;8820:1;11191:7;:22;17739:766;;-1:-1:-1;;;;17739:766:0:o;12462:401::-;12570:7;10772:6;;;;;;;;;-1:-1:-1;;;;;10772:6:0;-1:-1:-1;;;;;10772:20:0;;:22;;;;;-1:-1:-1;;;10772:22:0;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10772:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10772:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10772:22:0;10764:49;;;;;;;-1:-1:-1;;;;;10764:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12653:15;12671:6;;:24;;;;;;;;;;;;;;-1:-1:-1;;;;;12671:6:0;;;;:15;;:24;;;;;;;;;;;;;;;:6;:24;;;5:2:-1;;;;30:1;27;20:12;5:2;12671:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12671:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12671:24:0;12770:7;;;12671:24;;-1:-1:-1;;;;;;12770:7:0;;;;:20;;12671:24;;12828:13;;:7;:13::i;:::-;12770:82;;;-1:-1:-1;;;12770:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;12770:82:0;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12770:82:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12770:82:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;12770:82:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;12770:82:0;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;;12770:85:0;;:82;;-1:-1:-1;12853:1:0;;-1:-1:-1;12770:85:0;;;-1:-1:-1;12770:85:0;;;;;;;;;;;;12763:92;;;12462:401;;;:::o;13141:406::-;13251:7;10772:6;;;;;;;;;-1:-1:-1;;;;;10772:6:0;-1:-1:-1;;;;;10772:20:0;;:22;;;;;-1:-1:-1;;;10772:22:0;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10772:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10772:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10772:22:0;10764:49;;;;;;;-1:-1:-1;;;;;10764:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13336:17;13356:6;;:26;;;;;;;;;;;;;;-1:-1:-1;;;;;13356:6:0;;;;:17;;:26;;;;;;;;;;;;;;;:6;:26;;;5:2:-1;;;;30:1;27;20:12;22911:1343:0;23105:17;23272:6;;:29;;;;;;;;;;;;;;23105:17;;-1:-1:-1;;;;;23272:6:0;;:15;;:29;;;;;;;;;;;;;;:6;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;23272:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23272:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23272:29:0;;-1:-1:-1;23410:31:0;;;;23388:113;;;;;-1:-1:-1;;;;;23388:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23573:7;;;-1:-1:-1;;;;;23573:7:0;;:29;;23609:9;;23634;;23659:13;;:7;:13::i;:::-;23696:4;23717:9;23573:164;;;;;-1:-1:-1;;;23573:164:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;23573:164:0;-1:-1:-1;;;;;23573:164:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;23573:164:0;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23573:164:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23573:164:0;;;;;;;39:16:-1;36:1;17:17;2:54;101:4;23573:164:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;23573:164:0;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;;23908:4:0;;;23929:6;;23908:40;;;;;;-1:-1:-1;;;;;23929:6:0;;;23908:40;;;;;;;;;;;;23817:4;23809:21;;-1:-1:-1;23908:4:0;;;;;-1:-1:-1;23908:12:0;;-1:-1:-1;23908:40:0;;;;;-1:-1:-1;23908:40:0;;-1:-1:-1;23908:40:0;;;;;;;;:4;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;23908:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23908:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23908:40:0;23886:108;;;;;;;-1:-1:-1;;;;;23886:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;24077:6;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24077:43:0;;;;;;;;;:6;;;;;:13;;:43;;;;;;;;;;;;;;;;;;:6;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;24077:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24077:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24077:43:0;24055:110;;;;;;;-1:-1:-1;;;;;24055:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;24214:32;;:10;;:32;;;;;24234:11;;24214:32;;;;24234:11;24214:10;:32;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24214:32:0;22911:1343;;;;;;;:::o
Swarm Source
bzzr://00f08187231dd23bf6fe55ecb35bf58c32121f608f821b1bef65dcbc6466c5b6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.