More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 173 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Swap Tokens | 9619548 | 1800 days ago | IN | 0 ETH | 0.00023863 | ||||
Remove Liquidity | 9619008 | 1800 days ago | IN | 0 ETH | 0.00021725 | ||||
Swap Tokens | 9392078 | 1835 days ago | IN | 0 ETH | 0.00033404 | ||||
Update Price Ora... | 9071683 | 1889 days ago | IN | 0 ETH | 0.00014027 | ||||
Update Input Tok... | 9071616 | 1889 days ago | IN | 0 ETH | 0.00014935 | ||||
Update Price Ora... | 9071589 | 1889 days ago | IN | 0 ETH | 0.00014801 | ||||
Update Price Ora... | 9005270 | 1901 days ago | IN | 0 ETH | 0.00035508 | ||||
Update Input Tok... | 9005249 | 1901 days ago | IN | 0 ETH | 0.00055131 | ||||
Update Price Ora... | 9005150 | 1901 days ago | IN | 0 ETH | 0.00035508 | ||||
Update Price Ora... | 9005128 | 1901 days ago | IN | 0 ETH | 0.00035622 | ||||
Update Output To... | 9005115 | 1901 days ago | IN | 0 ETH | 0.00056107 | ||||
Remove Liquidity | 8996924 | 1903 days ago | IN | 0 ETH | 0.00274227 | ||||
Remove Liquidity | 8996916 | 1903 days ago | IN | 0 ETH | 0.00324827 | ||||
Remove Liquidity | 8975245 | 1906 days ago | IN | 0 ETH | 0.00140773 | ||||
Remove Liquidity | 8972135 | 1907 days ago | IN | 0 ETH | 0.0012112 | ||||
Add Liquidity | 8972115 | 1907 days ago | IN | 0 ETH | 0.0014616 | ||||
Remove Liquidity | 8970975 | 1907 days ago | IN | 0 ETH | 0.00014921 | ||||
Swap Tokens | 8962864 | 1908 days ago | IN | 0 ETH | 0.00166588 | ||||
Swap Tokens | 8962428 | 1908 days ago | IN | 0 ETH | 0.002071 | ||||
Update Price Ora... | 8962368 | 1908 days ago | IN | 0 ETH | 0.00032253 | ||||
Update Output To... | 8962331 | 1908 days ago | IN | 0 ETH | 0.00049754 | ||||
Update Input Tok... | 8962325 | 1908 days ago | IN | 0 ETH | 0.00049722 | ||||
Update Output To... | 8962314 | 1908 days ago | IN | 0 ETH | 0.00017273 | ||||
Update Input Tok... | 8962313 | 1908 days ago | IN | 0 ETH | 0.00017241 | ||||
Swap Tokens | 8962292 | 1908 days ago | IN | 0 ETH | 0.00191122 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.1.0b11
Contract Source Code (Vyper language format)
contract ERC20(): def transfer(_to: address, _value: uint256) -> bool: modifying def transferFrom(_from: address, _to: address, _value: uint256) -> bool: modifying def balanceOf(_owner: address) -> uint256: constant def allowance(_owner: address, _spender: address) -> uint256: constant def decimals() -> uint256: constant contract PriceOracle(): def poolSize(contract_address: address) -> uint256: constant def normalized_token_prices(token_address: address) -> uint256: constant TOKEN_PRICE_MULTIPLIER: constant(uint256) = 100000000 FEE_MULTIPLIER: constant(uint256) = 100000 EXCHANGE_RATE_MULTIPLIER: constant(uint256) = 10000000000000000000000 #10**22 # ERC20 events Transfer: event({_from: indexed(address), _to: indexed(address), _value: uint256}) Approval: event({_owner: indexed(address), _spender: indexed(address), _value: uint256}) OwnershipTransferred: event({previous_owner: indexed(address), new_owner: indexed(address)}) LiquidityAdded: event({provider: indexed(address), amount: indexed(uint256)}) LiquidityRemoved: event({provider: indexed(address), amount: indexed(uint256)}) Trade: event({input_token: indexed(address), output_token: indexed(address), input_amount: indexed(uint256)}) PermissionUpdated: event({name: indexed(string[32]), value: indexed(bool)}) FeeUpdated: event({name: indexed(string[32]), value: indexed(decimal)}) PriceOracleAddressUpdated: event({new_address: indexed(address)}) name: public(string[32]) # Stablecoinswap symbol: public(string[6]) # STL owner: public(address) # contract owner decimals: public(uint256) # 18 totalSupply: public(uint256) # total number of contract tokens in existence balanceOf: public(map(address, uint256)) # balance of an address allowance: public(map(address, map(address, uint256))) # allowance of one address on another inputTokens: public(map(address, bool)) # addresses of the ERC20 tokens allowed to transfer into this contract outputTokens: public(map(address, bool)) # addresses of the ERC20 tokens allowed to transfer out of this contract permissions: public(map(string[32], bool)) # pause / resume contract functions feesInt: map(string[32], uint256) # trade / pool fees multiplied by FEE_MULTIPLIER priceOracleAddress: public(address) # address of price oracle @public def __init__(token_addresses: address[3], price_oracle_addr: address): assert price_oracle_addr != ZERO_ADDRESS self.owner = msg.sender self.name = "Stablecoinswap" self.symbol = "STL" self.decimals = 18 self.permissions["tradingAllowed"] = True self.permissions["liquidityAddingAllowed"] = True for i in range(3): assert token_addresses[i] != ZERO_ADDRESS self.inputTokens[token_addresses[i]] = True self.outputTokens[token_addresses[i]] = True self.feesInt['tradeFee'] = 200 self.feesInt['ownerFee'] = 100 self.priceOracleAddress = price_oracle_addr @private @constant def tokenPrice(token_address: address) -> uint256: token_price: uint256 = PriceOracle(self.priceOracleAddress).normalized_token_prices(token_address) assert token_price > 0 return token_price # Deposit erc20 token @public @nonreentrant('lock') def addLiquidity(token_address: address, erc20_token_amount: uint256, deadline: timestamp) -> uint256: assert self.inputTokens[token_address] assert deadline > block.timestamp and erc20_token_amount > 0 assert self.permissions["liquidityAddingAllowed"] token_price: uint256 = self.tokenPrice(token_address) # It's better to divide at the very end for a higher precision new_liquidity: uint256 = token_price * erc20_token_amount / TOKEN_PRICE_MULTIPLIER if self.totalSupply > 0: new_liquidity = new_liquidity * self.totalSupply / PriceOracle(self.priceOracleAddress).poolSize(self) else: assert new_liquidity >= 1000000000 self.balanceOf[msg.sender] += new_liquidity self.totalSupply += new_liquidity # Can't assert the result directly: https://github.com/ethereum/vyper/issues/1468 transfer_from_result: bool = ERC20(token_address).transferFrom(msg.sender, self, erc20_token_amount) assert transfer_from_result log.LiquidityAdded(msg.sender, new_liquidity) return new_liquidity # Withdraw erc20 token @public @nonreentrant('lock') def removeLiquidity(token_address: address, stableswap_token_amount: uint256, erc20_min_output_amount: uint256, deadline: timestamp) -> uint256: assert self.outputTokens[token_address] assert stableswap_token_amount > 0 and deadline > block.timestamp assert self.balanceOf[msg.sender] >= stableswap_token_amount assert self.totalSupply > 0 token_price: uint256 = self.tokenPrice(token_address) pool_size: uint256 = PriceOracle(self.priceOracleAddress).poolSize(self) # erc20_token_amount = stableswap_token_amount * pool_size / totalSupply / token_price * TOKEN_PRICE_MULTIPLIER # It's better to divide at the very end for a higher precision erc20_token_amount: uint256 = stableswap_token_amount * pool_size / self.totalSupply ownerFee: uint256 = 0 if msg.sender != self.owner: ownerFee = stableswap_token_amount * self.feesInt['ownerFee'] / FEE_MULTIPLIER multiplier_after_fees: uint256 = FEE_MULTIPLIER - self.feesInt['ownerFee'] - self.feesInt['tradeFee'] erc20_token_amount = erc20_token_amount * multiplier_after_fees / FEE_MULTIPLIER erc20_token_amount = erc20_token_amount * TOKEN_PRICE_MULTIPLIER / token_price self.balanceOf[msg.sender] -= stableswap_token_amount self.balanceOf[self.owner] += ownerFee self.totalSupply -= stableswap_token_amount - ownerFee assert erc20_token_amount >= erc20_min_output_amount # Can't assert the result directly: https://github.com/ethereum/vyper/issues/1468 transfer_result: bool = ERC20(token_address).transfer(msg.sender, erc20_token_amount) assert transfer_result log.LiquidityRemoved(msg.sender, stableswap_token_amount) return erc20_token_amount # Note that due to rounding, the fees could be slightly higher for the tokens with smaller decimal precision. @public @constant def tokenExchangeRateAfterFees(input_token_address: address, output_token_address: address) -> uint256: input_token_price: uint256 = self.tokenPrice(input_token_address) output_token_price: uint256 = self.tokenPrice(output_token_address) multiplier_after_fees: uint256 = FEE_MULTIPLIER - self.feesInt['ownerFee'] - self.feesInt['tradeFee'] exchange_rate: uint256 = EXCHANGE_RATE_MULTIPLIER * input_token_price * multiplier_after_fees / FEE_MULTIPLIER / output_token_price return exchange_rate @public @constant def tokenOutputAmountAfterFees(input_token_amount: uint256, input_token_address: address, output_token_address: address) -> uint256: output_token_amount: uint256 = input_token_amount * self.tokenExchangeRateAfterFees(input_token_address, output_token_address) / EXCHANGE_RATE_MULTIPLIER return output_token_amount # Trade one erc20 token for another @public @nonreentrant('lock') def swapTokens(input_token: address, output_token: address, erc20_input_amount: uint256, erc20_min_output_amount: uint256, deadline: timestamp) -> uint256: assert self.inputTokens[input_token] and self.outputTokens[output_token] assert erc20_input_amount > 0 and erc20_min_output_amount > 0 assert deadline > block.timestamp assert self.permissions["tradingAllowed"] input_token_price: uint256 = self.tokenPrice(input_token) # input_usd_value is a value of input multiplied by TOKEN_PRICE_MULTIPLIER input_usd_value: uint256 = erc20_input_amount * input_token_price tradeFee: uint256 = input_usd_value * self.feesInt['tradeFee'] / FEE_MULTIPLIER / TOKEN_PRICE_MULTIPLIER ownerFee: uint256 = input_usd_value * self.feesInt['ownerFee'] / FEE_MULTIPLIER / TOKEN_PRICE_MULTIPLIER pool_size_after_swap: uint256 = PriceOracle(self.priceOracleAddress).poolSize(self) + tradeFee new_owner_shares: uint256 = self.totalSupply * ownerFee / pool_size_after_swap erc20_output_amount: uint256 = self.tokenOutputAmountAfterFees(erc20_input_amount, input_token, output_token) assert erc20_output_amount >= erc20_min_output_amount self.balanceOf[self.owner] += new_owner_shares self.totalSupply += new_owner_shares # Can't assert the result directly: https://github.com/ethereum/vyper/issues/1468 transfer_from_result: bool = ERC20(input_token).transferFrom(msg.sender, self, erc20_input_amount) assert transfer_from_result transfer_result: bool = ERC20(output_token).transfer(msg.sender, erc20_output_amount) assert transfer_result log.Trade(input_token, output_token, erc20_input_amount) return erc20_output_amount @public def updateInputToken(token_address: address, allowed: bool) -> bool: assert msg.sender == self.owner assert not self.inputTokens[token_address] == allowed assert ERC20(token_address).decimals() >= 2 self.inputTokens[token_address] = allowed return True @public def updateOutputToken(token_address: address, allowed: bool) -> bool: assert msg.sender == self.owner assert not self.outputTokens[token_address] == allowed assert ERC20(token_address).decimals() >= 2 self.outputTokens[token_address] = allowed return True @public def updatePermission(permission_name: string[32], value: bool) -> bool: assert msg.sender == self.owner self.permissions[permission_name] = value log.PermissionUpdated(permission_name, value) return True # Return share of total liquidity belonging to the user @public @constant def poolOwnership(user_address: address) -> decimal: user_balance: decimal = convert(self.balanceOf[user_address], decimal) total_liquidity: decimal = convert(self.totalSupply, decimal) share: decimal = user_balance / total_liquidity return share @public def transferOwnership(new_owner: address) -> bool: assert new_owner != ZERO_ADDRESS assert msg.sender == self.owner self.owner = new_owner log.OwnershipTransferred(self.owner, new_owner) return True @public def updateFee(fee_name: string[32], value: decimal) -> bool: assert msg.sender == self.owner self.feesInt[fee_name] = convert(floor(value * convert(FEE_MULTIPLIER, decimal)), uint256) log.FeeUpdated(fee_name, value) return True @public @constant def fees(fee_name: string[32]) -> decimal: return convert(self.feesInt[fee_name], decimal) / convert(FEE_MULTIPLIER, decimal) @public def updatePriceOracleAddress(new_address: address) -> bool: assert msg.sender == self.owner self.priceOracleAddress = new_address log.PriceOracleAddressUpdated(new_address) return True # ERC-20 functions @public def transfer(_to: address, _value: uint256) -> bool: self.balanceOf[msg.sender] -= _value self.balanceOf[_to] += _value log.Transfer(msg.sender, _to, _value) return True @public def transferFrom(_from: address, _to: address, _value: uint256) -> bool: self.balanceOf[_from] -= _value self.balanceOf[_to] += _value self.allowance[_from][msg.sender] -= _value log.Transfer(_from, _to, _value) return True @public def approve(_spender: address, _value: uint256) -> bool: self.allowance[msg.sender][_spender] = _value log.Approval(msg.sender, msg.sender, _value) return True
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"Transfer","inputs":[{"type":"address","name":"_from","indexed":true},{"type":"address","name":"_to","indexed":true},{"type":"uint256","name":"_value","indexed":false}],"anonymous":false,"type":"event"},{"name":"Approval","inputs":[{"type":"address","name":"_owner","indexed":true},{"type":"address","name":"_spender","indexed":true},{"type":"uint256","name":"_value","indexed":false}],"anonymous":false,"type":"event"},{"name":"OwnershipTransferred","inputs":[{"type":"address","name":"previous_owner","indexed":true},{"type":"address","name":"new_owner","indexed":true}],"anonymous":false,"type":"event"},{"name":"LiquidityAdded","inputs":[{"type":"address","name":"provider","indexed":true},{"type":"uint256","name":"amount","indexed":true}],"anonymous":false,"type":"event"},{"name":"LiquidityRemoved","inputs":[{"type":"address","name":"provider","indexed":true},{"type":"uint256","name":"amount","indexed":true}],"anonymous":false,"type":"event"},{"name":"Trade","inputs":[{"type":"address","name":"input_token","indexed":true},{"type":"address","name":"output_token","indexed":true},{"type":"uint256","name":"input_amount","indexed":true}],"anonymous":false,"type":"event"},{"name":"PermissionUpdated","inputs":[{"type":"string32","name":"name","indexed":true},{"type":"bool","name":"value","indexed":true}],"anonymous":false,"type":"event"},{"name":"FeeUpdated","inputs":[{"type":"string32","name":"name","indexed":true},{"type":"fixed168x10","name":"value","indexed":true}],"anonymous":false,"type":"event"},{"name":"PriceOracleAddressUpdated","inputs":[{"type":"address","name":"new_address","indexed":true}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[{"type":"address[3]","name":"token_addresses"},{"type":"address","name":"price_oracle_addr"}],"constant":false,"payable":false,"type":"constructor"},{"name":"addLiquidity","outputs":[{"type":"uint256","name":"out"}],"inputs":[{"type":"address","name":"token_address"},{"type":"uint256","name":"erc20_token_amount"},{"type":"uint256","unit":"sec","name":"deadline"}],"constant":false,"payable":false,"type":"function","gas":157451},{"name":"removeLiquidity","outputs":[{"type":"uint256","name":"out"}],"inputs":[{"type":"address","name":"token_address"},{"type":"uint256","name":"stableswap_token_amount"},{"type":"uint256","name":"erc20_min_output_amount"},{"type":"uint256","unit":"sec","name":"deadline"}],"constant":false,"payable":false,"type":"function","gas":198544},{"name":"tokenExchangeRateAfterFees","outputs":[{"type":"uint256","name":"out"}],"inputs":[{"type":"address","name":"input_token_address"},{"type":"address","name":"output_token_address"}],"constant":true,"payable":false,"type":"function","gas":9501},{"name":"tokenOutputAmountAfterFees","outputs":[{"type":"uint256","name":"out"}],"inputs":[{"type":"uint256","name":"input_token_amount"},{"type":"address","name":"input_token_address"},{"type":"address","name":"output_token_address"}],"constant":true,"payable":false,"type":"function","gas":15890},{"name":"swapTokens","outputs":[{"type":"uint256","name":"out"}],"inputs":[{"type":"address","name":"input_token"},{"type":"address","name":"output_token"},{"type":"uint256","name":"erc20_input_amount"},{"type":"uint256","name":"erc20_min_output_amount"},{"type":"uint256","unit":"sec","name":"deadline"}],"constant":false,"payable":false,"type":"function","gas":195199},{"name":"updateInputToken","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"token_address"},{"type":"bool","name":"allowed"}],"constant":false,"payable":false,"type":"function","gas":37622},{"name":"updateOutputToken","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"token_address"},{"type":"bool","name":"allowed"}],"constant":false,"payable":false,"type":"function","gas":37652},{"name":"updatePermission","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"string","name":"permission_name"},{"type":"bool","name":"value"}],"constant":false,"payable":false,"type":"function","gas":37869},{"name":"poolOwnership","outputs":[{"type":"fixed168x10","name":"out"}],"inputs":[{"type":"address","name":"user_address"}],"constant":true,"payable":false,"type":"function","gas":1447},{"name":"transferOwnership","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"new_owner"}],"constant":false,"payable":false,"type":"function","gas":37769},{"name":"updateFee","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"string","name":"fee_name"},{"type":"fixed168x10","name":"value"}],"constant":false,"payable":false,"type":"function","gas":37923},{"name":"fees","outputs":[{"type":"fixed168x10","name":"out"}],"inputs":[{"type":"string","name":"fee_name"}],"constant":true,"payable":false,"type":"function","gas":1421},{"name":"updatePriceOracleAddress","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"new_address"}],"constant":false,"payable":false,"type":"function","gas":37184},{"name":"transfer","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"_to"},{"type":"uint256","name":"_value"}],"constant":false,"payable":false,"type":"function","gas":74440},{"name":"transferFrom","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"_from"},{"type":"address","name":"_to"},{"type":"uint256","name":"_value"}],"constant":false,"payable":false,"type":"function","gas":110307},{"name":"approve","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"_spender"},{"type":"uint256","name":"_value"}],"constant":false,"payable":false,"type":"function","gas":38171},{"name":"name","outputs":[{"type":"string","name":"out"}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":6822},{"name":"symbol","outputs":[{"type":"string","name":"out"}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":2978},{"name":"owner","outputs":[{"type":"address","name":"out"}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":1083},{"name":"decimals","outputs":[{"type":"uint256","name":"out"}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":1113},{"name":"totalSupply","outputs":[{"type":"uint256","name":"out"}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":1143},{"name":"balanceOf","outputs":[{"type":"uint256","name":"out"}],"inputs":[{"type":"address","name":"arg0"}],"constant":true,"payable":false,"type":"function","gas":1327},{"name":"allowance","outputs":[{"type":"uint256","name":"out"}],"inputs":[{"type":"address","name":"arg0"},{"type":"address","name":"arg1"}],"constant":true,"payable":false,"type":"function","gas":1511},{"name":"inputTokens","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"arg0"}],"constant":true,"payable":false,"type":"function","gas":1387},{"name":"outputTokens","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"address","name":"arg0"}],"constant":true,"payable":false,"type":"function","gas":1417},{"name":"permissions","outputs":[{"type":"bool","name":"out"}],"inputs":[{"type":"string","name":"arg0"}],"constant":true,"payable":false,"type":"function","gas":1590},{"name":"priceOracleAddress","outputs":[{"type":"address","name":"out"}],"inputs":[],"constant":true,"payable":false,"type":"function","gas":1323}]
Contract Creation Code
740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052608061274d6101403934156100a157600080fd5b602061274d60c03960c05160205181106100ba57600080fd5b506020602061274d0160c03960c05160205181106100d757600080fd5b506020604061274d0160c03960c05160205181106100f457600080fd5b506020606061274d0160c03960c051602051811061011157600080fd5b5060006101a0511861012257600080fd5b33600255600e6101c0527f537461626c65636f696e737761700000000000000000000000000000000000006101e0526101c080600060c052602060c020602082510161012060006002818352015b82610120516020021115610183576101a5565b61012051602002850151610120518501555b8151600101808352811415610170575b5050505050506003610220527f53544c00000000000000000000000000000000000000000000000000000000006102405261022080600160c052602060c020602082510161012060006002818352015b826101205160200211156102085761022a565b61012051602002850151610120518501555b81516001018083528114156101f5575b505050505050601260035560016009600e610280527f74726164696e67416c6c6f7765640000000000000000000000000000000000006102a0526102805150610280516102a02060e05260c052604060c020556001600960166102e0527f6c6971756964697479416464696e67416c6c6f77656400000000000000000000610300526102e051506102e0516103002060e05260c052604060c0205561034060006003818352015b600061014061034051600381106102e757600080fd5b6020020151186102f657600080fd5b60016007610140610340516003811061030e57600080fd5b602002015160e05260c052604060c0205560016008610140610340516003811061033757600080fd5b602002015160e05260c052604060c020555b81516001018083528114156102d1575b505060c8600a6008610360527f7472616465466565000000000000000000000000000000000000000000000000610380526103605150610360516103802060e05260c052604060c020556064600a60086103c0527f6f776e65724665650000000000000000000000000000000000000000000000006103e0526103c051506103c0516103e02060e05260c052604060c020556101a051600b5561273556600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052600015610114575b6101605261014052600b543b6100b057600080fd5b600b5430186100be57600080fd5b6020610220602463f1bb10866101a052610140516101c0526101bc600b545afa6100e757600080fd5b60005061022051610180526000610180511161010257600080fd5b61018051600052600051610160515650005b6355776b77600051141561041e5762ffffff541561013157600080fd5b600162ffffff55341561014357600080fd5b600435602051811061015457600080fd5b50600760043560e05260c052604060c0205461016f57600080fd5b60006024351142604435111661018457600080fd5b60096016610140527f6c6971756964697479416464696e67416c6c6f77656400000000000000000000610160526101405150610140516101602060e05260c052604060c020546101d357600080fd5b6101405161016051610180516101a0516384ba3f696101e05260043561020052610200516006580161009b565b610260526101a052610180526101605261014052610260516101a0526305f5e10061022a57600080fd5b6305f5e1006101a0511515610240576000610263565b6024356101a0516024356101a05102041461025a57600080fd5b6024356101a051025b04610280526000600454111561030e57600b543b61028057600080fd5b600b54301861028e57600080fd5b6020610320602463fa75d1606102a052306102c0526102bc600b545afa6102b457600080fd5b6000506103205161034052610340516102cc57600080fd5b610340516102805115156102e1576000610304565b60045461028051600454610280510204146102fb57600080fd5b60045461028051025b0461028052610323565b633b9aca0061028051101561032257600080fd5b5b60053360e05260c052604060c020805461028051825401101561034557600080fd5b610280518154018155506004805461028051825401101561036557600080fd5b610280518154018155506004353b61037c57600080fd5b600435301861038a57600080fd5b602061044060646323b872dd61038052336103a052306103c0526024356103e05261039c60006004355af16103be57600080fd5b6000506104405161036052610360516103d657600080fd5b61028051337fc17cea59c2955cb181b03393209566960365771dbba9dc3d510180e7cb31208860006000a361028051600052600062ffffff5560206000f350600062ffffff55005b6393ca2f8a6000511415610a715762ffffff541561043b57600080fd5b600162ffffff55341561044d57600080fd5b600435602051811061045e57600080fd5b50600860043560e05260c052604060c0205461047957600080fd5b42606435116000602435111661048e57600080fd5b60243560053360e05260c052604060c0205410156104ab57600080fd5b6000600454116104ba57600080fd5b610140516384ba3f69610180526004356101a0526101a0516006580161009b565b61020052610140526102005161014052600b543b6104f857600080fd5b600b54301861050657600080fd5b60206102c0602463fa75d16061024052306102605261025c600b545afa61052c57600080fd5b6000506102c0516102205260045461054357600080fd5b6004546024351515610556576000610579565b610220516024356102205160243502041461057057600080fd5b61022051602435025b046102e0526000610300526002543318156108c757620186a061059b57600080fd5b620186a060243515156105af576000610698565b600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054602435600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c0205460243502041461064d57600080fd5b600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054602435025b0461030052600a6008610400527f7472616465466565000000000000000000000000000000000000000000000000610420526104005150610400516104202060e05260c052604060c02054600a60086103a0527f6f776e65724665650000000000000000000000000000000000000000000000006103c0526103a051506103a0516103c02060e05260c052604060c02054620186a0101561073857600080fd5b600a60086103a0527f6f776e65724665650000000000000000000000000000000000000000000000006103c0526103a051506103a0516103c02060e05260c052604060c02054620186a003101561078e57600080fd5b600a6008610400527f7472616465466565000000000000000000000000000000000000000000000000610420526104005150610400516104202060e05260c052604060c02054600a60086103a0527f6f776e65724665650000000000000000000000000000000000000000000000006103c0526103a051506103a0516103c02060e05260c052604060c02054620186a0101561082957600080fd5b600a60086103a0527f6f776e65724665650000000000000000000000000000000000000000000000006103c0526103a051506103a0516103c02060e05260c052604060c02054620186a0030361038052620186a061088657600080fd5b620186a06102e051151561089b5760006108c1565b610380516102e051610380516102e0510204146108b757600080fd5b610380516102e051025b046102e0525b610140516108d457600080fd5b610140516102e05115156108e9576000610912565b6305f5e1006102e0516305f5e1006102e05102041461090757600080fd5b6305f5e1006102e051025b046102e05260053360e05260c052604060c0206024358154101561093557600080fd5b602435815403815550600560025460e05260c052604060c020805461030051825401101561096257600080fd5b61030051815401815550600461030051602435101561098057600080fd5b61030051602435038154101561099557600080fd5b6103005160243510156109a757600080fd5b61030051602435038154038155506044356102e05110156109c757600080fd5b6004353b6109d457600080fd5b60043530186109e257600080fd5b6020610520604463a9059cbb61048052336104a0526102e0516104c05261049c60006004355af1610a1257600080fd5b600050610520516104605261046051610a2a57600080fd5b602435337fc2c3f06e49b9f15e7b4af9055e183b0d73362e033ad82a07dec9bf984017171960006000a36102e051600052600062ffffff5560206000f350600062ffffff55005b6391b26ae06000511415610ece573415610a8a57600080fd5b6004356020518110610a9b57600080fd5b506024356020518110610aad57600080fd5b50610140516384ba3f69610180526004356101a0526101a0516006580161009b565b610200526101405261020051610140526101405161016051610180516101a0516101c0516101e05161020051610220516384ba3f696102605260243561028052610280516006580161009b565b6102e05261022052610200526101e0526101c0526101a0526101805261016052610140526102e05161022052600a6008610380527f74726164654665650000000000000000000000000000000000000000000000006103a0526103805150610380516103a02060e05260c052604060c02054600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054620186a01015610be357600080fd5b600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054620186a0031015610c3957600080fd5b600a6008610380527f74726164654665650000000000000000000000000000000000000000000000006103a0526103805150610380516103a02060e05260c052604060c02054600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054620186a01015610cd457600080fd5b600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054620186a003036103005261022051610d3157600080fd5b61022051620186a0610d4257600080fd5b620186a069021e19e0c9bab24000001515610d5e576000610d99565b6101405169021e19e0c9bab24000006101405169021e19e0c9bab2400000020414610d8857600080fd5b6101405169021e19e0c9bab2400000025b1515610da6576000610eb9565b6103005169021e19e0c9bab24000001515610dc2576000610dfd565b6101405169021e19e0c9bab24000006101405169021e19e0c9bab2400000020414610dec57600080fd5b6101405169021e19e0c9bab2400000025b6103005169021e19e0c9bab24000001515610e19576000610e54565b6101405169021e19e0c9bab24000006101405169021e19e0c9bab2400000020414610e4357600080fd5b6101405169021e19e0c9bab2400000025b020414610e6057600080fd5b6103005169021e19e0c9bab24000001515610e7c576000610eb7565b6101405169021e19e0c9bab24000006101405169021e19e0c9bab2400000020414610ea657600080fd5b6101405169021e19e0c9bab2400000025b025b04046103e0526103e05160005260206000f350005b63126603b56000511415610fa8573415610ee757600080fd5b6024356020518110610ef857600080fd5b506044356020518110610f0a57600080fd5b5069021e19e0c9bab2400000610f1f57600080fd5b69021e19e0c9bab2400000602061020060446391b26ae061016052602435610180526044356101a05261017c6000305af1610f5957600080fd5b61020051610220526004351515610f71576000610f94565b6102205160043561022051600435020414610f8b57600080fd5b61022051600435025b04610140526101405160005260206000f350005b6343d91bf160005114156115d65762ffffff5415610fc557600080fd5b600162ffffff553415610fd757600080fd5b6004356020518110610fe857600080fd5b506024356020518110610ffa57600080fd5b50600860243560e05260c052604060c02054600760043560e05260c052604060c020541661102757600080fd5b6000606435116000604435111661103d57600080fd5b426084351161104b57600080fd5b6009600e610140527f74726164696e67416c6c6f776564000000000000000000000000000000000000610160526101405150610140516101602060e05260c052604060c0205461109a57600080fd5b6101405161016051610180516101a0516384ba3f696101e05260043561020052610200516006580161009b565b610260526101a052610180526101605261014052610260516101a05260443515156110f3576000611116565b6101a0516044356101a05160443502041461110d57600080fd5b6101a051604435025b610280526305f5e10061112857600080fd5b6305f5e100620186a061113a57600080fd5b620186a061028051151561114f57600061123b565b600a60086102c0527f74726164654665650000000000000000000000000000000000000000000000006102e0526102c051506102c0516102e02060e05260c052604060c0205461028051600a60086102c0527f74726164654665650000000000000000000000000000000000000000000000006102e0526102c051506102c0516102e02060e05260c052604060c02054610280510204146111ef57600080fd5b600a60086102c0527f74726164654665650000000000000000000000000000000000000000000000006102e0526102c051506102c0516102e02060e05260c052604060c0205461028051025b04046102a0526305f5e10061124f57600080fd5b6305f5e100620186a061126157600080fd5b620186a0610280511515611276576000611362565b600a6008610340527f6f776e6572466565000000000000000000000000000000000000000000000000610360526103405150610340516103602060e05260c052604060c0205461028051600a6008610340527f6f776e6572466565000000000000000000000000000000000000000000000000610360526103405150610340516103602060e05260c052604060c020546102805102041461131657600080fd5b600a6008610340527f6f776e6572466565000000000000000000000000000000000000000000000000610360526103405150610340516103602060e05260c052604060c0205461028051025b040461032052600b543b61137557600080fd5b600b54301861138357600080fd5b6020610440602463fa75d1606103c052306103e0526103dc600b545afa6113a957600080fd5b6000506104405161046052610460516102a051610460510110156113cc57600080fd5b6102a05161046051016103a0526103a0516113e657600080fd5b6103a05160045415156113fa57600061141d565b610320516004546103205160045402041461141457600080fd5b61032051600454025b04610480526020610580606463126603b56104c0526044356104e05260043561050052602435610520526104dc6000305af161145857600080fd5b610580516104a0526064356104a051101561147257600080fd5b600560025460e05260c052604060c020805461048051825401101561149657600080fd5b61048051815401815550600480546104805182540110156114b657600080fd5b610480518154018155506004353b6114cd57600080fd5b60043530186114db57600080fd5b602061068060646323b872dd6105c052336105e0523061060052604435610620526105dc60006004355af161150f57600080fd5b600050610680516105a0526105a05161152757600080fd5b6024353b61153457600080fd5b602435301861154257600080fd5b6020610760604463a9059cbb6106c052336106e0526104a051610700526106dc60006024355af161157257600080fd5b600050610760516106a0526106a05161158a57600080fd5b6044356024356004357f0d49f50d6dd629f4e4070731edb0abd680823ab1cbd43d89590522da4b5b32e760006000a46104a051600052600062ffffff5560206000f350600062ffffff55005b6323d7d1a860005114156116b05734156115ef57600080fd5b600435602051811061160057600080fd5b506024356002811061161157600080fd5b50600254331461162057600080fd5b602435600760043560e05260c052604060c02054141561163f57600080fd5b60026004353b61164e57600080fd5b600435301861165c57600080fd5b60206101a0600463313ce5676101405261015c6004355afa61167d57600080fd5b6000506101a051101561168f57600080fd5b602435600760043560e05260c052604060c02055600160005260206000f350005b6344dbd334600051141561178a5734156116c957600080fd5b60043560205181106116da57600080fd5b50602435600281106116eb57600080fd5b5060025433146116fa57600080fd5b602435600860043560e05260c052604060c02054141561171957600080fd5b60026004353b61172857600080fd5b600435301861173657600080fd5b60206101a0600463313ce5676101405261015c6004355afa61175757600080fd5b6000506101a051101561176957600080fd5b602435600860043560e05260c052604060c02055600160005260206000f350005b63903a1001600051141561186c5734156117a357600080fd5b60406004356004016101403760206004356004013511156117c357600080fd5b602435600281106117d357600080fd5b5060025433146117e257600080fd5b6024356009610140516101602060e05260c052604060c0205560243561014080602001516000825180602090131561181957600080fd5b809190121561182757600080fd5b8061014051036101000a82049050905090507f22b59c94b6ec143f205f4ac5d8177280de0eab514e8d857330a1af17343e97bd60006000a3600160005260206000f350005b6380a0628b600051141561193357341561188557600080fd5b600435602051811061189657600080fd5b506402540be400600560043560e05260c052604060c02054026080518111156118be57600080fd5b610140526402540be400600454026080518111156118db57600080fd5b6101605260a0516101405161016051806118f457600080fd5b806402540be400830205905090508060805190131561191257600080fd5b809190121561192057600080fd5b610180526101805160005260206000f350005b63f2fde38b60005114156119ba57341561194c57600080fd5b600435602051811061195d57600080fd5b5060006004351861196d57600080fd5b600254331461197b57600080fd5b6004356002556004356002547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060006000a3600160005260206000f350005b63993f4a206000511415611bbb5734156119d357600080fd5b60406004356004016101403760206004356004013511156119f357600080fd5b6002543314611a0157600080fd5b600066038d7ea4c680006101a05260a0516101a0516024358181028115838383051417611a2d57600080fd5b6402540be400810590509050905080608051901315611a4b57600080fd5b8091901215611a5957600080fd5b1215611ac8576402540be4006402540be3ff66038d7ea4c680006101a05260a0516101a0516024358181028115838383051417611a9557600080fd5b6402540be400810590509050905080608051901315611ab357600080fd5b8091901215611ac157600080fd5b0305611b26565b6402540be40066038d7ea4c680006101a05260a0516101a0516024358181028115838383051417611af857600080fd5b6402540be400810590509050905080608051901315611b1657600080fd5b8091901215611b2457600080fd5b055b6000811215611b3457600080fd5b600a610140516101602060e05260c052604060c02055602435610140806020015160008251806020901315611b6857600080fd5b8091901215611b7657600080fd5b8061014051036101000a82049050905090507fd8dd23b660d1a2cd022ce86c6122d03c591f721b3c2af378ecb404c0b605ddc760006000a3600160005260206000f350005b63e005cbbf6000511415611c7c573415611bd457600080fd5b6040600435600401610140376020600435600401351115611bf457600080fd5b6402540be400600a610140516101602060e05260c052604060c0205402608051811115611c2057600080fd5b6101a05266038d7ea4c680006101c05260a0516101a0516101c05180611c4557600080fd5b806402540be4008302059050905080608051901315611c6357600080fd5b8091901215611c7157600080fd5b60005260206000f350005b6386d1e02b6000511415611cf1573415611c9557600080fd5b6004356020518110611ca657600080fd5b506002543314611cb557600080fd5b600435600b556004357f12ad2958c2383ce31dd51da097e673d81de88c202731500406f3afc70a8cf17060006000a2600160005260206000f350005b63a9059cbb6000511415611dae573415611d0a57600080fd5b6004356020518110611d1b57600080fd5b5060053360e05260c052604060c02060243581541015611d3a57600080fd5b602435815403815550600560043560e05260c052604060c02080546024358254011015611d6657600080fd5b60243581540181555060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b6323b872dd6000511415611eb6573415611dc757600080fd5b6004356020518110611dd857600080fd5b506024356020518110611dea57600080fd5b50600560043560e05260c052604060c02060443581541015611e0b57600080fd5b604435815403815550600560243560e05260c052604060c02080546044358254011015611e3757600080fd5b604435815401815550600660043560e05260c052604060c0203360e05260c052604060c02060443581541015611e6c57600080fd5b604435815403815550604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63095ea7b36000511415611f3e573415611ecf57600080fd5b6004356020518110611ee057600080fd5b5060243560063360e05260c052604060c02060043560e05260c052604060c020556024356101405233337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f350005b6306fdde036000511415612022573415611f5757600080fd5b60008060c052602060c020610180602082540161012060006002818352015b82610120516020021115611f8957611fab565b61012051850154610120516020028501525b8151600101808352811415611f76575b5050505050506101805160206001820306601f82010390506101e0610180516020818352015b826101e0511115611fe157611ffd565b60006101e0516101a001535b8151600101808352811415611fd1575b5050506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b41600051141561210657341561203b57600080fd5b60018060c052602060c020610180602082540161012060006002818352015b8261012051602002111561206d5761208f565b61012051850154610120516020028501525b815160010180835281141561205a575b5050505050506101805160206001820306601f82010390506101e0610180516006818352015b826101e05111156120c5576120e1565b60006101e0516101a001535b81516001018083528114156120b5575b5050506020610160526040610180510160206001820306601f8201039050610160f350005b638da5cb5b600051141561212d57341561211f57600080fd5b60025460005260206000f350005b63313ce567600051141561215457341561214657600080fd5b60035460005260206000f350005b6318160ddd600051141561217b57341561216d57600080fd5b60045460005260206000f350005b6370a0823160005114156121c257341561219457600080fd5b60043560205181106121a557600080fd5b50600560043560e05260c052604060c0205460005260206000f350005b63dd62ed3e60005114156122295734156121db57600080fd5b60043560205181106121ec57600080fd5b5060243560205181106121fe57600080fd5b50600660043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b634999eb8f600051141561227057341561224257600080fd5b600435602051811061225357600080fd5b50600760043560e05260c052604060c0205460005260206000f350005b6351ecd2fa60005114156122b757341561228957600080fd5b600435602051811061229a57600080fd5b50600860043560e05260c052604060c0205460005260206000f350005b63752708fb60005114156123115734156122d057600080fd5b60406004356004016101403760206004356004013511156122f057600080fd5b6009610140516101602060e05260c052604060c0205460005260206000f350005b632bc51c6d600051141561233857341561232a57600080fd5b600b5460005260206000f350005b60006000fd5b6103f7612735036103f76000396103f7612735036000f3000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a232603590000000000000000000000008e870d67f660d95d5be530380d0ec0bd388289e10000000000000000000000002b4ba323ab07da8250e896b6ff29bb96ddfe55a9
Deployed Bytecode
0x600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052600015610114575b6101605261014052600b543b6100b057600080fd5b600b5430186100be57600080fd5b6020610220602463f1bb10866101a052610140516101c0526101bc600b545afa6100e757600080fd5b60005061022051610180526000610180511161010257600080fd5b61018051600052600051610160515650005b6355776b77600051141561041e5762ffffff541561013157600080fd5b600162ffffff55341561014357600080fd5b600435602051811061015457600080fd5b50600760043560e05260c052604060c0205461016f57600080fd5b60006024351142604435111661018457600080fd5b60096016610140527f6c6971756964697479416464696e67416c6c6f77656400000000000000000000610160526101405150610140516101602060e05260c052604060c020546101d357600080fd5b6101405161016051610180516101a0516384ba3f696101e05260043561020052610200516006580161009b565b610260526101a052610180526101605261014052610260516101a0526305f5e10061022a57600080fd5b6305f5e1006101a0511515610240576000610263565b6024356101a0516024356101a05102041461025a57600080fd5b6024356101a051025b04610280526000600454111561030e57600b543b61028057600080fd5b600b54301861028e57600080fd5b6020610320602463fa75d1606102a052306102c0526102bc600b545afa6102b457600080fd5b6000506103205161034052610340516102cc57600080fd5b610340516102805115156102e1576000610304565b60045461028051600454610280510204146102fb57600080fd5b60045461028051025b0461028052610323565b633b9aca0061028051101561032257600080fd5b5b60053360e05260c052604060c020805461028051825401101561034557600080fd5b610280518154018155506004805461028051825401101561036557600080fd5b610280518154018155506004353b61037c57600080fd5b600435301861038a57600080fd5b602061044060646323b872dd61038052336103a052306103c0526024356103e05261039c60006004355af16103be57600080fd5b6000506104405161036052610360516103d657600080fd5b61028051337fc17cea59c2955cb181b03393209566960365771dbba9dc3d510180e7cb31208860006000a361028051600052600062ffffff5560206000f350600062ffffff55005b6393ca2f8a6000511415610a715762ffffff541561043b57600080fd5b600162ffffff55341561044d57600080fd5b600435602051811061045e57600080fd5b50600860043560e05260c052604060c0205461047957600080fd5b42606435116000602435111661048e57600080fd5b60243560053360e05260c052604060c0205410156104ab57600080fd5b6000600454116104ba57600080fd5b610140516384ba3f69610180526004356101a0526101a0516006580161009b565b61020052610140526102005161014052600b543b6104f857600080fd5b600b54301861050657600080fd5b60206102c0602463fa75d16061024052306102605261025c600b545afa61052c57600080fd5b6000506102c0516102205260045461054357600080fd5b6004546024351515610556576000610579565b610220516024356102205160243502041461057057600080fd5b61022051602435025b046102e0526000610300526002543318156108c757620186a061059b57600080fd5b620186a060243515156105af576000610698565b600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054602435600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c0205460243502041461064d57600080fd5b600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054602435025b0461030052600a6008610400527f7472616465466565000000000000000000000000000000000000000000000000610420526104005150610400516104202060e05260c052604060c02054600a60086103a0527f6f776e65724665650000000000000000000000000000000000000000000000006103c0526103a051506103a0516103c02060e05260c052604060c02054620186a0101561073857600080fd5b600a60086103a0527f6f776e65724665650000000000000000000000000000000000000000000000006103c0526103a051506103a0516103c02060e05260c052604060c02054620186a003101561078e57600080fd5b600a6008610400527f7472616465466565000000000000000000000000000000000000000000000000610420526104005150610400516104202060e05260c052604060c02054600a60086103a0527f6f776e65724665650000000000000000000000000000000000000000000000006103c0526103a051506103a0516103c02060e05260c052604060c02054620186a0101561082957600080fd5b600a60086103a0527f6f776e65724665650000000000000000000000000000000000000000000000006103c0526103a051506103a0516103c02060e05260c052604060c02054620186a0030361038052620186a061088657600080fd5b620186a06102e051151561089b5760006108c1565b610380516102e051610380516102e0510204146108b757600080fd5b610380516102e051025b046102e0525b610140516108d457600080fd5b610140516102e05115156108e9576000610912565b6305f5e1006102e0516305f5e1006102e05102041461090757600080fd5b6305f5e1006102e051025b046102e05260053360e05260c052604060c0206024358154101561093557600080fd5b602435815403815550600560025460e05260c052604060c020805461030051825401101561096257600080fd5b61030051815401815550600461030051602435101561098057600080fd5b61030051602435038154101561099557600080fd5b6103005160243510156109a757600080fd5b61030051602435038154038155506044356102e05110156109c757600080fd5b6004353b6109d457600080fd5b60043530186109e257600080fd5b6020610520604463a9059cbb61048052336104a0526102e0516104c05261049c60006004355af1610a1257600080fd5b600050610520516104605261046051610a2a57600080fd5b602435337fc2c3f06e49b9f15e7b4af9055e183b0d73362e033ad82a07dec9bf984017171960006000a36102e051600052600062ffffff5560206000f350600062ffffff55005b6391b26ae06000511415610ece573415610a8a57600080fd5b6004356020518110610a9b57600080fd5b506024356020518110610aad57600080fd5b50610140516384ba3f69610180526004356101a0526101a0516006580161009b565b610200526101405261020051610140526101405161016051610180516101a0516101c0516101e05161020051610220516384ba3f696102605260243561028052610280516006580161009b565b6102e05261022052610200526101e0526101c0526101a0526101805261016052610140526102e05161022052600a6008610380527f74726164654665650000000000000000000000000000000000000000000000006103a0526103805150610380516103a02060e05260c052604060c02054600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054620186a01015610be357600080fd5b600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054620186a0031015610c3957600080fd5b600a6008610380527f74726164654665650000000000000000000000000000000000000000000000006103a0526103805150610380516103a02060e05260c052604060c02054600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054620186a01015610cd457600080fd5b600a6008610320527f6f776e6572466565000000000000000000000000000000000000000000000000610340526103205150610320516103402060e05260c052604060c02054620186a003036103005261022051610d3157600080fd5b61022051620186a0610d4257600080fd5b620186a069021e19e0c9bab24000001515610d5e576000610d99565b6101405169021e19e0c9bab24000006101405169021e19e0c9bab2400000020414610d8857600080fd5b6101405169021e19e0c9bab2400000025b1515610da6576000610eb9565b6103005169021e19e0c9bab24000001515610dc2576000610dfd565b6101405169021e19e0c9bab24000006101405169021e19e0c9bab2400000020414610dec57600080fd5b6101405169021e19e0c9bab2400000025b6103005169021e19e0c9bab24000001515610e19576000610e54565b6101405169021e19e0c9bab24000006101405169021e19e0c9bab2400000020414610e4357600080fd5b6101405169021e19e0c9bab2400000025b020414610e6057600080fd5b6103005169021e19e0c9bab24000001515610e7c576000610eb7565b6101405169021e19e0c9bab24000006101405169021e19e0c9bab2400000020414610ea657600080fd5b6101405169021e19e0c9bab2400000025b025b04046103e0526103e05160005260206000f350005b63126603b56000511415610fa8573415610ee757600080fd5b6024356020518110610ef857600080fd5b506044356020518110610f0a57600080fd5b5069021e19e0c9bab2400000610f1f57600080fd5b69021e19e0c9bab2400000602061020060446391b26ae061016052602435610180526044356101a05261017c6000305af1610f5957600080fd5b61020051610220526004351515610f71576000610f94565b6102205160043561022051600435020414610f8b57600080fd5b61022051600435025b04610140526101405160005260206000f350005b6343d91bf160005114156115d65762ffffff5415610fc557600080fd5b600162ffffff553415610fd757600080fd5b6004356020518110610fe857600080fd5b506024356020518110610ffa57600080fd5b50600860243560e05260c052604060c02054600760043560e05260c052604060c020541661102757600080fd5b6000606435116000604435111661103d57600080fd5b426084351161104b57600080fd5b6009600e610140527f74726164696e67416c6c6f776564000000000000000000000000000000000000610160526101405150610140516101602060e05260c052604060c0205461109a57600080fd5b6101405161016051610180516101a0516384ba3f696101e05260043561020052610200516006580161009b565b610260526101a052610180526101605261014052610260516101a05260443515156110f3576000611116565b6101a0516044356101a05160443502041461110d57600080fd5b6101a051604435025b610280526305f5e10061112857600080fd5b6305f5e100620186a061113a57600080fd5b620186a061028051151561114f57600061123b565b600a60086102c0527f74726164654665650000000000000000000000000000000000000000000000006102e0526102c051506102c0516102e02060e05260c052604060c0205461028051600a60086102c0527f74726164654665650000000000000000000000000000000000000000000000006102e0526102c051506102c0516102e02060e05260c052604060c02054610280510204146111ef57600080fd5b600a60086102c0527f74726164654665650000000000000000000000000000000000000000000000006102e0526102c051506102c0516102e02060e05260c052604060c0205461028051025b04046102a0526305f5e10061124f57600080fd5b6305f5e100620186a061126157600080fd5b620186a0610280511515611276576000611362565b600a6008610340527f6f776e6572466565000000000000000000000000000000000000000000000000610360526103405150610340516103602060e05260c052604060c0205461028051600a6008610340527f6f776e6572466565000000000000000000000000000000000000000000000000610360526103405150610340516103602060e05260c052604060c020546102805102041461131657600080fd5b600a6008610340527f6f776e6572466565000000000000000000000000000000000000000000000000610360526103405150610340516103602060e05260c052604060c0205461028051025b040461032052600b543b61137557600080fd5b600b54301861138357600080fd5b6020610440602463fa75d1606103c052306103e0526103dc600b545afa6113a957600080fd5b6000506104405161046052610460516102a051610460510110156113cc57600080fd5b6102a05161046051016103a0526103a0516113e657600080fd5b6103a05160045415156113fa57600061141d565b610320516004546103205160045402041461141457600080fd5b61032051600454025b04610480526020610580606463126603b56104c0526044356104e05260043561050052602435610520526104dc6000305af161145857600080fd5b610580516104a0526064356104a051101561147257600080fd5b600560025460e05260c052604060c020805461048051825401101561149657600080fd5b61048051815401815550600480546104805182540110156114b657600080fd5b610480518154018155506004353b6114cd57600080fd5b60043530186114db57600080fd5b602061068060646323b872dd6105c052336105e0523061060052604435610620526105dc60006004355af161150f57600080fd5b600050610680516105a0526105a05161152757600080fd5b6024353b61153457600080fd5b602435301861154257600080fd5b6020610760604463a9059cbb6106c052336106e0526104a051610700526106dc60006024355af161157257600080fd5b600050610760516106a0526106a05161158a57600080fd5b6044356024356004357f0d49f50d6dd629f4e4070731edb0abd680823ab1cbd43d89590522da4b5b32e760006000a46104a051600052600062ffffff5560206000f350600062ffffff55005b6323d7d1a860005114156116b05734156115ef57600080fd5b600435602051811061160057600080fd5b506024356002811061161157600080fd5b50600254331461162057600080fd5b602435600760043560e05260c052604060c02054141561163f57600080fd5b60026004353b61164e57600080fd5b600435301861165c57600080fd5b60206101a0600463313ce5676101405261015c6004355afa61167d57600080fd5b6000506101a051101561168f57600080fd5b602435600760043560e05260c052604060c02055600160005260206000f350005b6344dbd334600051141561178a5734156116c957600080fd5b60043560205181106116da57600080fd5b50602435600281106116eb57600080fd5b5060025433146116fa57600080fd5b602435600860043560e05260c052604060c02054141561171957600080fd5b60026004353b61172857600080fd5b600435301861173657600080fd5b60206101a0600463313ce5676101405261015c6004355afa61175757600080fd5b6000506101a051101561176957600080fd5b602435600860043560e05260c052604060c02055600160005260206000f350005b63903a1001600051141561186c5734156117a357600080fd5b60406004356004016101403760206004356004013511156117c357600080fd5b602435600281106117d357600080fd5b5060025433146117e257600080fd5b6024356009610140516101602060e05260c052604060c0205560243561014080602001516000825180602090131561181957600080fd5b809190121561182757600080fd5b8061014051036101000a82049050905090507f22b59c94b6ec143f205f4ac5d8177280de0eab514e8d857330a1af17343e97bd60006000a3600160005260206000f350005b6380a0628b600051141561193357341561188557600080fd5b600435602051811061189657600080fd5b506402540be400600560043560e05260c052604060c02054026080518111156118be57600080fd5b610140526402540be400600454026080518111156118db57600080fd5b6101605260a0516101405161016051806118f457600080fd5b806402540be400830205905090508060805190131561191257600080fd5b809190121561192057600080fd5b610180526101805160005260206000f350005b63f2fde38b60005114156119ba57341561194c57600080fd5b600435602051811061195d57600080fd5b5060006004351861196d57600080fd5b600254331461197b57600080fd5b6004356002556004356002547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060006000a3600160005260206000f350005b63993f4a206000511415611bbb5734156119d357600080fd5b60406004356004016101403760206004356004013511156119f357600080fd5b6002543314611a0157600080fd5b600066038d7ea4c680006101a05260a0516101a0516024358181028115838383051417611a2d57600080fd5b6402540be400810590509050905080608051901315611a4b57600080fd5b8091901215611a5957600080fd5b1215611ac8576402540be4006402540be3ff66038d7ea4c680006101a05260a0516101a0516024358181028115838383051417611a9557600080fd5b6402540be400810590509050905080608051901315611ab357600080fd5b8091901215611ac157600080fd5b0305611b26565b6402540be40066038d7ea4c680006101a05260a0516101a0516024358181028115838383051417611af857600080fd5b6402540be400810590509050905080608051901315611b1657600080fd5b8091901215611b2457600080fd5b055b6000811215611b3457600080fd5b600a610140516101602060e05260c052604060c02055602435610140806020015160008251806020901315611b6857600080fd5b8091901215611b7657600080fd5b8061014051036101000a82049050905090507fd8dd23b660d1a2cd022ce86c6122d03c591f721b3c2af378ecb404c0b605ddc760006000a3600160005260206000f350005b63e005cbbf6000511415611c7c573415611bd457600080fd5b6040600435600401610140376020600435600401351115611bf457600080fd5b6402540be400600a610140516101602060e05260c052604060c0205402608051811115611c2057600080fd5b6101a05266038d7ea4c680006101c05260a0516101a0516101c05180611c4557600080fd5b806402540be4008302059050905080608051901315611c6357600080fd5b8091901215611c7157600080fd5b60005260206000f350005b6386d1e02b6000511415611cf1573415611c9557600080fd5b6004356020518110611ca657600080fd5b506002543314611cb557600080fd5b600435600b556004357f12ad2958c2383ce31dd51da097e673d81de88c202731500406f3afc70a8cf17060006000a2600160005260206000f350005b63a9059cbb6000511415611dae573415611d0a57600080fd5b6004356020518110611d1b57600080fd5b5060053360e05260c052604060c02060243581541015611d3a57600080fd5b602435815403815550600560043560e05260c052604060c02080546024358254011015611d6657600080fd5b60243581540181555060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b6323b872dd6000511415611eb6573415611dc757600080fd5b6004356020518110611dd857600080fd5b506024356020518110611dea57600080fd5b50600560043560e05260c052604060c02060443581541015611e0b57600080fd5b604435815403815550600560243560e05260c052604060c02080546044358254011015611e3757600080fd5b604435815401815550600660043560e05260c052604060c0203360e05260c052604060c02060443581541015611e6c57600080fd5b604435815403815550604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63095ea7b36000511415611f3e573415611ecf57600080fd5b6004356020518110611ee057600080fd5b5060243560063360e05260c052604060c02060043560e05260c052604060c020556024356101405233337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f350005b6306fdde036000511415612022573415611f5757600080fd5b60008060c052602060c020610180602082540161012060006002818352015b82610120516020021115611f8957611fab565b61012051850154610120516020028501525b8151600101808352811415611f76575b5050505050506101805160206001820306601f82010390506101e0610180516020818352015b826101e0511115611fe157611ffd565b60006101e0516101a001535b8151600101808352811415611fd1575b5050506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b41600051141561210657341561203b57600080fd5b60018060c052602060c020610180602082540161012060006002818352015b8261012051602002111561206d5761208f565b61012051850154610120516020028501525b815160010180835281141561205a575b5050505050506101805160206001820306601f82010390506101e0610180516006818352015b826101e05111156120c5576120e1565b60006101e0516101a001535b81516001018083528114156120b5575b5050506020610160526040610180510160206001820306601f8201039050610160f350005b638da5cb5b600051141561212d57341561211f57600080fd5b60025460005260206000f350005b63313ce567600051141561215457341561214657600080fd5b60035460005260206000f350005b6318160ddd600051141561217b57341561216d57600080fd5b60045460005260206000f350005b6370a0823160005114156121c257341561219457600080fd5b60043560205181106121a557600080fd5b50600560043560e05260c052604060c0205460005260206000f350005b63dd62ed3e60005114156122295734156121db57600080fd5b60043560205181106121ec57600080fd5b5060243560205181106121fe57600080fd5b50600660043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b634999eb8f600051141561227057341561224257600080fd5b600435602051811061225357600080fd5b50600760043560e05260c052604060c0205460005260206000f350005b6351ecd2fa60005114156122b757341561228957600080fd5b600435602051811061229a57600080fd5b50600860043560e05260c052604060c0205460005260206000f350005b63752708fb60005114156123115734156122d057600080fd5b60406004356004016101403760206004356004013511156122f057600080fd5b6009610140516101602060e05260c052604060c0205460005260206000f350005b632bc51c6d600051141561233857341561232a57600080fd5b600b5460005260206000f350005b60006000fd
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a232603590000000000000000000000008e870d67f660d95d5be530380d0ec0bd388289e10000000000000000000000002b4ba323ab07da8250e896b6ff29bb96ddfe55a9
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [1] : 00000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a23260359
Arg [2] : 0000000000000000000000008e870d67f660d95d5be530380d0ec0bd388289e1
Arg [3] : 0000000000000000000000002b4ba323ab07da8250e896b6ff29bb96ddfe55a9
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.