Polygon Sponsored slots available. Book your slot here!
Overview
POL Balance
0 POL
POL Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Crypto Factory LP Burner
Compiler Version
vyper:0.3.7
Contract Source Code (Vyper language format)
# @version 0.3.7 """ @title Crypto Factory LP Burner @notice Withdraws Crypto LP tokens """ interface ERC20: def transfer(_to: address, _value: uint256) -> bool: nonpayable def transferFrom(_from: address, _to: address, _value: uint256) -> bool: nonpayable def balanceOf(_owner: address) -> uint256: view def decimals() -> uint256: view interface CurveToken: def minter() -> address: view interface CryptoSwap: def remove_liquidity_one_coin(token_amount: uint256, i: uint256, min_amount: uint256, use_eth: bool = False, receiver: address = msg.sender) -> uint256: nonpayable def coins(_i: uint256) -> address: view def price_oracle() -> uint256: view def lp_price() -> uint256: view interface PoolProxy: def burners(_coin: address) -> address: view ETH_ADDRESS: constant(address) = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE BPS: constant(uint256) = 10000 slippage_of: public(HashMap[address, uint256]) priority_of: public(HashMap[address, uint256]) receiver_of: public(HashMap[address, address]) pool_proxy: public(address) slippage: public(uint256) receiver: public(address) recovery: public(address) is_killed: public(bool) owner: public(address) emergency_owner: public(address) future_owner: public(address) future_emergency_owner: public(address) @external def __init__(_pool_proxy: address): """ @notice Contract constructor @dev Unlike other burners, this contract may transfer tokens to multiple addresses after the swap. Receiver addresses are set by calling `set_swap_data` instead of setting it within the constructor. @param _pool_proxy Address of pool owner proxy """ self.pool_proxy = _pool_proxy self.receiver = _pool_proxy self.recovery = _pool_proxy self.owner = msg.sender self.emergency_owner = msg.sender self.slippage = 100 # 1% self.priority_of[0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174] = 64 # USDC self.priority_of[0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171] = 56 # am3crv self.priority_of[0xdAD97F7713Ae9437fa9249920eC8507e5FbB23d3] = 48 # tricrypto self.priority_of[0x172370d5Cd63279eFa6d502DAB29171933a610AF] = 40 # crv self.priority_of[ETH_ADDRESS] = 40 # matic self.priority_of[0x3A58a54C066FdC0f2D55FC9C89F0415C92eBf3C4] = 32 # stmatic @internal def _burn(_coin: address, _amount: uint256): swap: address = CurveToken(_coin).minter() coins: address[2] = [CryptoSwap(swap).coins(0), CryptoSwap(swap).coins(1)] priorities: uint256[2] = [self.priority_of[coins[0]], self.priority_of[coins[1]]] assert priorities[0] > 0 or priorities[1] > 0 # dev: unknown coins i: uint256 = 0 if priorities[1] > priorities[0]: i = 1 slippage: uint256 = self.slippage_of[_coin] if slippage == 0: slippage = self.slippage min_amount: uint256 = _amount * CryptoSwap(swap).lp_price() / 10 ** 18 if i == 1: min_amount = min_amount * 10 ** 18 / CryptoSwap(swap).price_oracle() min_amount /= 10 ** (18 - ERC20(coins[i]).decimals()) min_amount -= min_amount * slippage / BPS receiver: address = self.receiver_of[coins[i]] if receiver == ZERO_ADDRESS: receiver = self.receiver CryptoSwap(swap).remove_liquidity_one_coin(_amount, i, min_amount, True, receiver) @external def burn(_coin: address) -> bool: """ @notice Convert `_coin` by removing liquidity and transfer to another burner @param _coin Address of the coin being converted @return bool success """ assert not self.is_killed # dev: is killed # transfer coins from caller amount: uint256 = ERC20(_coin).balanceOf(msg.sender) if amount != 0: ERC20(_coin).transferFrom(msg.sender, self, amount) # get actual balance in case of transfer fee or pre-existing balance amount = ERC20(_coin).balanceOf(self) if amount != 0: self._burn(_coin, amount) return True @external def burn_amount(_coin: address, _amount_to_burn: uint256): """ @notice Burn a specific quantity of `_coin` @dev Useful when the total amount to burn is so large that it fails from slippage @param _coin Address of the coin being converted @param _amount_to_burn Amount of the coin to burn """ pool_proxy: address = self.pool_proxy amount: uint256 = ERC20(_coin).balanceOf(pool_proxy) if PoolProxy(pool_proxy).burners(_coin) == self and amount != 0: ERC20(_coin).transferFrom(pool_proxy, self, amount) amount = ERC20(_coin).balanceOf(self) assert amount >= _amount_to_burn, "Insufficient balance" self._burn(_coin, _amount_to_burn) @external def set_priority_of(_coin: address, _priority: uint256): """ @notice Set priority of a coin @dev Bigger value means higher priority @param _coin Token address @param _priority Token priority """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner self.priority_of[_coin] = _priority @external def set_many_priorities(_coins: address[8], _priorities: uint256[8]): """ @notice Set priority of many coins @dev Bigger value means higher priority @param _coins Token addresses @param _priorities Token priorities """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner for i in range(8): coin: address = _coins[i] if coin == ZERO_ADDRESS: break self.priority_of[coin] = _priorities[i] @external def set_slippage_of(_coin: address, _slippage: uint256): """ @notice Set custom slippage limit of a coin @dev Using self.slippage by default @param _coin Token address @param _slippage Slippage in bps for pool of token """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner assert _slippage <= BPS # dev: slippage too high self.slippage_of[_coin] = _slippage @external def set_many_slippages(_coins: address[8], _slippages: uint256[8]): """ @notice Set custom slippage limit of a coin @dev Using self.slippage by default @param _coins Token addresses @param _slippages Slippages in bps for each pool of token """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner for i in range(8): coin: address = _coins[i] if coin == ZERO_ADDRESS: break assert _slippages[i] <= BPS # dev: slippage too high self.slippage_of[coin] = _slippages[i] @external def set_slippage(_slippage: uint256): """ @notice Set default slippage parameter @param _slippage Slippage value in bps """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner assert _slippage <= BPS # dev: slippage too high self.slippage = _slippage @external def set_receiver_of(_coin: address, _receiver: address): """ @notice Set receiver of a coin @dev Using self.receiver by default @param _coin Token address @param _receiver Receiver of a token """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner self.receiver_of[_coin] = _receiver @external def set_many_receivers(_coins: address[8], _receivers: address[8]): """ @notice Set receivers of many coins @dev Using self.receiver by default @param _coins Token addresses @param _receivers Receivers of each token """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner for i in range(8): coin: address = _coins[i] if coin == ZERO_ADDRESS: break self.receiver_of[coin] = _receivers[i] @external def set_receiver(_receiver: address): """ @notice Set default receiver @param _receiver Address of default receiver """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner self.receiver = _receiver @external def recover_balance(_coin: address) -> bool: """ @notice Recover ERC20 tokens from this contract @dev Tokens are sent to the recovery address @param _coin Token address @return bool success """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner amount: uint256 = ERC20(_coin).balanceOf(self) response: Bytes[32] = raw_call( _coin, _abi_encode(self.recovery, amount, method_id=method_id("transfer(address,uint256)")), max_outsize=32, ) if len(response) != 0: assert convert(response, bool) return True @external def set_recovery(_recovery: address) -> bool: """ @notice Set the token recovery address @param _recovery Token recovery address @return bool success """ assert msg.sender == self.owner # dev: only owner self.recovery = _recovery return True @external def set_killed(_is_killed: bool) -> bool: """ @notice Set killed status for this contract @dev When killed, the `burn` function cannot be called @param _is_killed Killed status @return bool success """ assert msg.sender in [self.owner, self.emergency_owner] # dev: only owner self.is_killed = _is_killed return True @external def commit_transfer_ownership(_future_owner: address) -> bool: """ @notice Commit a transfer of ownership @dev Must be accepted by the new owner via `accept_transfer_ownership` @param _future_owner New owner address @return bool success """ assert msg.sender == self.owner # dev: only owner self.future_owner = _future_owner return True @external def accept_transfer_ownership() -> bool: """ @notice Accept a transfer of ownership @return bool success """ assert msg.sender == self.future_owner # dev: only owner self.owner = msg.sender return True @external def commit_transfer_emergency_ownership(_future_owner: address) -> bool: """ @notice Commit a transfer of ownership @dev Must be accepted by the new owner via `accept_transfer_ownership` @param _future_owner New owner address @return bool success """ assert msg.sender == self.emergency_owner # dev: only owner self.future_emergency_owner = _future_owner return True @external def accept_transfer_emergency_ownership() -> bool: """ @notice Accept a transfer of ownership @return bool success """ assert msg.sender == self.future_emergency_owner # dev: only owner self.emergency_owner = msg.sender return True
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_pool_proxy","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"burn_amount","inputs":[{"name":"_coin","type":"address"},{"name":"_amount_to_burn","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_priority_of","inputs":[{"name":"_coin","type":"address"},{"name":"_priority","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_many_priorities","inputs":[{"name":"_coins","type":"address[8]"},{"name":"_priorities","type":"uint256[8]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_slippage_of","inputs":[{"name":"_coin","type":"address"},{"name":"_slippage","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_many_slippages","inputs":[{"name":"_coins","type":"address[8]"},{"name":"_slippages","type":"uint256[8]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_slippage","inputs":[{"name":"_slippage","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_receiver_of","inputs":[{"name":"_coin","type":"address"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_many_receivers","inputs":[{"name":"_coins","type":"address[8]"},{"name":"_receivers","type":"address[8]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_receiver","inputs":[{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_balance","inputs":[{"name":"_coin","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_recovery","inputs":[{"name":"_recovery","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_killed","inputs":[{"name":"_is_killed","type":"bool"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_ownership","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_emergency_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_emergency_ownership","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"slippage_of","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"priority_of","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"receiver_of","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"pool_proxy","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"slippage","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"receiver","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"recovery","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"is_killed","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"emergency_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_emergency_owner","inputs":[],"outputs":[{"name":"","type":"address"}]}]
Contract Creation Code
602061118d6000396000518060a01c6111885760405234611188576040516003556040516005556040516006553360085533600955606460045560406001732791bca1f2de4661ed88a30c99a7a9449aa841746020526000526040600020556038600173e7a24ef0c5e95ffb0f6684b813a78f2a3ad7d1716020526000526040600020556030600173dad97f7713ae9437fa9249920ec8507e5fbb23d36020526000526040600020556028600173172370d5cd63279efa6d502dab29171933a610af6020526000526040600020556028600173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60205260005260406000205560206001733a58a54c066fdc0f2d55fc9c89f0415c92ebf3c460205260005260406000205561105e6101296100003961105e610000f36003361161000c57610cd0565b60003560e01c3461104c576389afcb448118610150576024361061104c576004358060a01c61104c576102605260075461104c57610260516370a082316102a052336102c05260206102a060246102bc845afa61006e573d600060003e3d6000fd5b60203d1061104c576102a09050516102805261028051156100e457610260516323b872dd6102a052336102c052306102e052610280516103005260206102a060646102bc6000855af16100c6573d600060003e3d6000fd5b60203d1061104c576102a0518060011c61104c576103205261032050505b610260516370a082316102a052306102c05260206102a060246102bc845afa610112573d600060003e3d6000fd5b60203d1061104c576102a0905051610280526102805115610143576102605160405261028051606052610143610cd6565b60016102a05260206102a0f35b637afb0ed1811861034c576044361061104c576004358060a01c61104c576102605260035461028052610260516370a082316102c052610280516102e05260206102c060246102dc845afa6101aa573d600060003e3d6000fd5b60203d1061104c576102c09050516102a05230610280516303d41e0e6102c052610260516102e05260206102c060246102dc845afa6101ee573d600060003e3d6000fd5b60203d1061104c576102c0518060a01c61104c57610300526103009050511861021c576102a051151561021f565b60005b1561028257610260516323b872dd61032052610280516103405230610360526102a051610380526020610320606461033c6000855af1610264573d600060003e3d6000fd5b60203d1061104c57610320518060011c61104c576103a0526103a050505b610260516370a082316102c052306102e05260206102c060246102dc845afa6102b0573d600060003e3d6000fd5b60203d1061104c576102c09050516102a0526024356102a05110156103355760146102c0527f496e73756666696369656e742062616c616e63650000000000000000000000006102e0526102c0506102c051806102e001601f826000031636823750506308c379a06102805260206102a052601f19601f6102c051011660440161029cfd5b6102605160405260243560605261034a610cd6565b005b6340cfa09981186103a2576044361061104c576004358060a01c61104c5760405233600854811861037e576001610385565b6009548118155b90501561104c576024356001604051602052600052604060002055005b63820bd88881186104ab57610204361061104c576004358060a01c61104c576040526024358060a01c61104c576060526044358060a01c61104c576080526064358060a01c61104c5760a0526084358060a01c61104c5760c05260a4358060a01c61104c5760e05260c4358060a01c61104c576101005260e4358060a01c61104c5761012052336008548118610439576001610440565b6009548118155b90501561104c5760006008905b8061014052610140516007811161104c5760051b604001516101605261016051610476576104a7565b610140516007811161104c5760051b610104013560016101605160205260005260406000205560010181811861044d575b5050005b6351b9c55b811861050c576044361061104c576004358060a01c61104c576040523360085481186104dd5760016104e4565b6009548118155b90501561104c576127106024351161104c576024356000604051602052600052604060002055005b63629404ed811861063157610204361061104c576004358060a01c61104c576040526024358060a01c61104c576060526044358060a01c61104c576080526064358060a01c61104c5760a0526084358060a01c61104c5760c05260a4358060a01c61104c5760e05260c4358060a01c61104c576101005260e4358060a01c61104c57610120523360085481186105a35760016105aa565b6009548118155b90501561104c5760006008905b8061014052610140516007811161104c5760051b6040015161016052610160516105e05761062d565b612710610140516007811161104c5760051b61010401351161104c57610140516007811161104c5760051b61010401356000610160516020526000526040600020556001018181186105b7575b5050005b638edd69ec8118610676576024361061104c5733600854811861065557600161065c565b6009548118155b90501561104c576127106004351161104c57600435600455005b63c24240c481186106da576044361061104c576004358060a01c61104c576040526024358060a01c61104c576060523360085481186106b65760016106bd565b6009548118155b90501561104c576060516002604051602052600052604060002055005b63e6a7199a811861086357610204361061104c576004358060a01c61104c576040526024358060a01c61104c576060526044358060a01c61104c576080526064358060a01c61104c5760a0526084358060a01c61104c5760c05260a4358060a01c61104c5760e05260c4358060a01c61104c576101005260e4358060a01c61104c5761012052610104358060a01c61104c5761014052610124358060a01c61104c5761016052610144358060a01c61104c5761018052610164358060a01c61104c576101a052610184358060a01c61104c576101c0526101a4358060a01c61104c576101e0526101c4358060a01c61104c57610200526101e4358060a01c61104c57610220523360085481186107f15760016107f8565b6009548118155b90501561104c5760006008905b8061024052610240516007811161104c5760051b60400151610260526102605161082e5761085f565b610240516007811161104c5760051b6101400151600261026051602052600052604060002055600101818118610805575b5050005b63d1dd6f5681186108ab576024361061104c576004358060a01c61104c5760405233600854811861089557600161089c565b6009548118155b90501561104c57604051600555005b63db2f5f7981186109ae576024361061104c576004358060a01c61104c576040523360085481186108dd5760016108e4565b6009548118155b90501561104c576040516370a082316080523060a052602060806024609c845afa610914573d600060003e3d6000fd5b60203d1061104c57608090505160605263a9059cbb60c452600460065460e4526060516101045260400160c05260c050602061016060c05160e060006040515af1610964573d600060003e3d6000fd5b3d602081183d60201002186101405261014080518060805260208201805160a052505050608051156109a35760a05160805160200360031b1c1561104c575b600160c052602060c0f35b635dc659b081186109e9576024361061104c576004358060a01c61104c57604052600854331861104c57604051600655600160605260206060f35b6390b229978118610a3a576024361061104c576004358060011c61104c57604052336008548118610a1b576001610a22565b6009548118155b90501561104c57604051600755600160605260206060f35b636b441a408118610a75576024361061104c576004358060a01c61104c57604052600854331861104c57604051600a55600160605260206060f35b63e5ea47b88118610aa0576004361061104c57600a54331861104c5733600855600160405260206040f35b6395c899158118610adb576024361061104c576004358060a01c61104c57604052600954331861104c57604051600b55600160605260206060f35b632d2cb6758118610b06576004361061104c57600b54331861104c5733600955600160405260206040f35b63b450efbd8118610b41576024361061104c576004358060a01c61104c57604052600060405160205260005260406000205460605260206060f35b6358fe27ec8118610b7c576024361061104c576004358060a01c61104c57604052600160405160205260005260406000205460605260206060f35b63c25085f28118610bb7576024361061104c576004358060a01c61104c57604052600260405160205260005260406000205460605260206060f35b6391db89f38118610bd6576004361061104c5760035460405260206040f35b633e032a3b8118610bf5576004361061104c5760045460405260206040f35b63f7260d3e8118610c14576004361061104c5760055460405260206040f35b63ddceafa98118610c33576004361061104c5760065460405260206040f35b639c868ac08118610c52576004361061104c5760075460405260206040f35b638da5cb5b8118610c71576004361061104c5760085460405260206040f35b6363a4042a8118610c90576004361061104c5760095460405260206040f35b631ec0cdc18118610caf576004361061104c57600a5460405260206040f35b63e19f994c8118610cce576004361061104c57600b5460405260206040f35b505b60006000fd5b604051630754617260a052602060a0600460bc845afa610cfb573d600060003e3d6000fd5b60203d1061104c5760a0518060a01c61104c5760e05260e090505160805260805163c661065760e052600061010052602060e0602460fc845afa610d44573d600060003e3d6000fd5b60203d1061104c5760e0518060a01c61104c576101205261012090505160a05260805163c6610657610140526001610160526020610140602461015c845afa610d92573d600060003e3d6000fd5b60203d1061104c57610140518060a01c61104c576101805261018090505160c052600160a05160205260005260406000205460e052600160c0516020526000526040600020546101005260e05115610deb576001610df2565b6101005115155b1561104c5760006101205260e051610100511115610e11576001610120525b60006040516020526000526040600020546101405261014051610e3657600454610140525b6060516080516354f0f7d5610180526020610180600461019c845afa610e61573d600060003e3d6000fd5b60203d1061104c5761018090505180820281158383830414171561104c5790509050670de0b6b3a7640000810490506101605260016101205118610f095761016051670de0b6b3a7640000810281670de0b6b3a764000082041861104c5790506080516386fc88d3610180526020610180600461019c845afa610ee9573d600060003e3d6000fd5b60203d1061104c57610180905051801561104c5780820490509050610160525b61016051610120516001811161104c5760051b60a0015163313ce567610180526020610180600461019c845afa610f45573d600060003e3d6000fd5b60203d1061104c57610180905051806012036012811161104c579050604d811161104c5780600a0a9050801561104c57808204905090506101605261016051610160516101405180820281158383830414171561104c57905090506127108104905080820382811161104c5790509050610160526002610120516001811161104c5760051b60a001516020526000526040600020546101805261018051610fee57600554610180525b6080516307329bcd6101a0526060516101c052610120516101e0526101605161020052600161022052610180516102405260206101a060a46101bc6000855af161103d573d600060003e3d6000fd5b60203d1061104c576101a05050565b600080fda165767970657283000307000b005b600080fd000000000000000000000000774d1dba98cfbd1f2bc3a1f59c494125e07c48f9
Deployed Bytecode
0x6003361161000c57610cd0565b60003560e01c3461104c576389afcb448118610150576024361061104c576004358060a01c61104c576102605260075461104c57610260516370a082316102a052336102c05260206102a060246102bc845afa61006e573d600060003e3d6000fd5b60203d1061104c576102a09050516102805261028051156100e457610260516323b872dd6102a052336102c052306102e052610280516103005260206102a060646102bc6000855af16100c6573d600060003e3d6000fd5b60203d1061104c576102a0518060011c61104c576103205261032050505b610260516370a082316102a052306102c05260206102a060246102bc845afa610112573d600060003e3d6000fd5b60203d1061104c576102a0905051610280526102805115610143576102605160405261028051606052610143610cd6565b60016102a05260206102a0f35b637afb0ed1811861034c576044361061104c576004358060a01c61104c576102605260035461028052610260516370a082316102c052610280516102e05260206102c060246102dc845afa6101aa573d600060003e3d6000fd5b60203d1061104c576102c09050516102a05230610280516303d41e0e6102c052610260516102e05260206102c060246102dc845afa6101ee573d600060003e3d6000fd5b60203d1061104c576102c0518060a01c61104c57610300526103009050511861021c576102a051151561021f565b60005b1561028257610260516323b872dd61032052610280516103405230610360526102a051610380526020610320606461033c6000855af1610264573d600060003e3d6000fd5b60203d1061104c57610320518060011c61104c576103a0526103a050505b610260516370a082316102c052306102e05260206102c060246102dc845afa6102b0573d600060003e3d6000fd5b60203d1061104c576102c09050516102a0526024356102a05110156103355760146102c0527f496e73756666696369656e742062616c616e63650000000000000000000000006102e0526102c0506102c051806102e001601f826000031636823750506308c379a06102805260206102a052601f19601f6102c051011660440161029cfd5b6102605160405260243560605261034a610cd6565b005b6340cfa09981186103a2576044361061104c576004358060a01c61104c5760405233600854811861037e576001610385565b6009548118155b90501561104c576024356001604051602052600052604060002055005b63820bd88881186104ab57610204361061104c576004358060a01c61104c576040526024358060a01c61104c576060526044358060a01c61104c576080526064358060a01c61104c5760a0526084358060a01c61104c5760c05260a4358060a01c61104c5760e05260c4358060a01c61104c576101005260e4358060a01c61104c5761012052336008548118610439576001610440565b6009548118155b90501561104c5760006008905b8061014052610140516007811161104c5760051b604001516101605261016051610476576104a7565b610140516007811161104c5760051b610104013560016101605160205260005260406000205560010181811861044d575b5050005b6351b9c55b811861050c576044361061104c576004358060a01c61104c576040523360085481186104dd5760016104e4565b6009548118155b90501561104c576127106024351161104c576024356000604051602052600052604060002055005b63629404ed811861063157610204361061104c576004358060a01c61104c576040526024358060a01c61104c576060526044358060a01c61104c576080526064358060a01c61104c5760a0526084358060a01c61104c5760c05260a4358060a01c61104c5760e05260c4358060a01c61104c576101005260e4358060a01c61104c57610120523360085481186105a35760016105aa565b6009548118155b90501561104c5760006008905b8061014052610140516007811161104c5760051b6040015161016052610160516105e05761062d565b612710610140516007811161104c5760051b61010401351161104c57610140516007811161104c5760051b61010401356000610160516020526000526040600020556001018181186105b7575b5050005b638edd69ec8118610676576024361061104c5733600854811861065557600161065c565b6009548118155b90501561104c576127106004351161104c57600435600455005b63c24240c481186106da576044361061104c576004358060a01c61104c576040526024358060a01c61104c576060523360085481186106b65760016106bd565b6009548118155b90501561104c576060516002604051602052600052604060002055005b63e6a7199a811861086357610204361061104c576004358060a01c61104c576040526024358060a01c61104c576060526044358060a01c61104c576080526064358060a01c61104c5760a0526084358060a01c61104c5760c05260a4358060a01c61104c5760e05260c4358060a01c61104c576101005260e4358060a01c61104c5761012052610104358060a01c61104c5761014052610124358060a01c61104c5761016052610144358060a01c61104c5761018052610164358060a01c61104c576101a052610184358060a01c61104c576101c0526101a4358060a01c61104c576101e0526101c4358060a01c61104c57610200526101e4358060a01c61104c57610220523360085481186107f15760016107f8565b6009548118155b90501561104c5760006008905b8061024052610240516007811161104c5760051b60400151610260526102605161082e5761085f565b610240516007811161104c5760051b6101400151600261026051602052600052604060002055600101818118610805575b5050005b63d1dd6f5681186108ab576024361061104c576004358060a01c61104c5760405233600854811861089557600161089c565b6009548118155b90501561104c57604051600555005b63db2f5f7981186109ae576024361061104c576004358060a01c61104c576040523360085481186108dd5760016108e4565b6009548118155b90501561104c576040516370a082316080523060a052602060806024609c845afa610914573d600060003e3d6000fd5b60203d1061104c57608090505160605263a9059cbb60c452600460065460e4526060516101045260400160c05260c050602061016060c05160e060006040515af1610964573d600060003e3d6000fd5b3d602081183d60201002186101405261014080518060805260208201805160a052505050608051156109a35760a05160805160200360031b1c1561104c575b600160c052602060c0f35b635dc659b081186109e9576024361061104c576004358060a01c61104c57604052600854331861104c57604051600655600160605260206060f35b6390b229978118610a3a576024361061104c576004358060011c61104c57604052336008548118610a1b576001610a22565b6009548118155b90501561104c57604051600755600160605260206060f35b636b441a408118610a75576024361061104c576004358060a01c61104c57604052600854331861104c57604051600a55600160605260206060f35b63e5ea47b88118610aa0576004361061104c57600a54331861104c5733600855600160405260206040f35b6395c899158118610adb576024361061104c576004358060a01c61104c57604052600954331861104c57604051600b55600160605260206060f35b632d2cb6758118610b06576004361061104c57600b54331861104c5733600955600160405260206040f35b63b450efbd8118610b41576024361061104c576004358060a01c61104c57604052600060405160205260005260406000205460605260206060f35b6358fe27ec8118610b7c576024361061104c576004358060a01c61104c57604052600160405160205260005260406000205460605260206060f35b63c25085f28118610bb7576024361061104c576004358060a01c61104c57604052600260405160205260005260406000205460605260206060f35b6391db89f38118610bd6576004361061104c5760035460405260206040f35b633e032a3b8118610bf5576004361061104c5760045460405260206040f35b63f7260d3e8118610c14576004361061104c5760055460405260206040f35b63ddceafa98118610c33576004361061104c5760065460405260206040f35b639c868ac08118610c52576004361061104c5760075460405260206040f35b638da5cb5b8118610c71576004361061104c5760085460405260206040f35b6363a4042a8118610c90576004361061104c5760095460405260206040f35b631ec0cdc18118610caf576004361061104c57600a5460405260206040f35b63e19f994c8118610cce576004361061104c57600b5460405260206040f35b505b60006000fd5b604051630754617260a052602060a0600460bc845afa610cfb573d600060003e3d6000fd5b60203d1061104c5760a0518060a01c61104c5760e05260e090505160805260805163c661065760e052600061010052602060e0602460fc845afa610d44573d600060003e3d6000fd5b60203d1061104c5760e0518060a01c61104c576101205261012090505160a05260805163c6610657610140526001610160526020610140602461015c845afa610d92573d600060003e3d6000fd5b60203d1061104c57610140518060a01c61104c576101805261018090505160c052600160a05160205260005260406000205460e052600160c0516020526000526040600020546101005260e05115610deb576001610df2565b6101005115155b1561104c5760006101205260e051610100511115610e11576001610120525b60006040516020526000526040600020546101405261014051610e3657600454610140525b6060516080516354f0f7d5610180526020610180600461019c845afa610e61573d600060003e3d6000fd5b60203d1061104c5761018090505180820281158383830414171561104c5790509050670de0b6b3a7640000810490506101605260016101205118610f095761016051670de0b6b3a7640000810281670de0b6b3a764000082041861104c5790506080516386fc88d3610180526020610180600461019c845afa610ee9573d600060003e3d6000fd5b60203d1061104c57610180905051801561104c5780820490509050610160525b61016051610120516001811161104c5760051b60a0015163313ce567610180526020610180600461019c845afa610f45573d600060003e3d6000fd5b60203d1061104c57610180905051806012036012811161104c579050604d811161104c5780600a0a9050801561104c57808204905090506101605261016051610160516101405180820281158383830414171561104c57905090506127108104905080820382811161104c5790509050610160526002610120516001811161104c5760051b60a001516020526000526040600020546101805261018051610fee57600554610180525b6080516307329bcd6101a0526060516101c052610120516101e0526101605161020052600161022052610180516102405260206101a060a46101bc6000855af161103d573d600060003e3d6000fd5b60203d1061104c576101a05050565b600080fda165767970657283000307000b
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000774d1dba98cfbd1f2bc3a1f59c494125e07c48f9
-----Decoded View---------------
Arg [0] : _pool_proxy (address): 0x774D1Dba98cfBD1F2Bc3A1F59c494125e07C48F9
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000774d1dba98cfbd1f2bc3a1f59c494125e07c48f9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.