More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 2,168 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Mint | 13399499 | 1 hr ago | IN | 0 frxETH | 0.00000018 | ||||
Mint | 13399486 | 1 hr ago | IN | 0 frxETH | 0.00000021 | ||||
Mint | 13399475 | 1 hr ago | IN | 0 frxETH | 0.00000023 | ||||
Mint | 13395825 | 3 hrs ago | IN | 0 frxETH | 0.00000018 | ||||
Mint | 13394462 | 4 hrs ago | IN | 0 frxETH | 0.00000019 | ||||
Mint | 13393078 | 5 hrs ago | IN | 0 frxETH | 0.00000023 | ||||
Mint | 13393056 | 5 hrs ago | IN | 0 frxETH | 0.0000002 | ||||
Mint | 13383841 | 10 hrs ago | IN | 0 frxETH | 0.00000018 | ||||
Mint | 13383830 | 10 hrs ago | IN | 0 frxETH | 0.00000018 | ||||
Mint | 13383733 | 10 hrs ago | IN | 0 frxETH | 0.00000018 | ||||
Mint | 13383676 | 10 hrs ago | IN | 0 frxETH | 0.0000002 | ||||
Mint | 13379890 | 12 hrs ago | IN | 0 frxETH | 0.0000002 | ||||
Mint | 13378933 | 13 hrs ago | IN | 0 frxETH | 0.00000018 | ||||
Mint | 13377687 | 13 hrs ago | IN | 0 frxETH | 0.0000002 | ||||
Mint | 13375754 | 14 hrs ago | IN | 0 frxETH | 0.00000019 | ||||
Mint | 13375587 | 14 hrs ago | IN | 0 frxETH | 0.00000021 | ||||
Mint | 13374236 | 15 hrs ago | IN | 0 frxETH | 0.0000002 | ||||
Mint | 13374057 | 15 hrs ago | IN | 0 frxETH | 0.00018286 | ||||
Mint | 13373132 | 16 hrs ago | IN | 0 frxETH | 0.00000023 | ||||
Mint | 13371289 | 17 hrs ago | IN | 0 frxETH | 0.0000002 | ||||
Mint | 13370791 | 17 hrs ago | IN | 0 frxETH | 0.00000023 | ||||
Mint | 13369998 | 17 hrs ago | IN | 0 frxETH | 0 | ||||
Mint | 13363229 | 21 hrs ago | IN | 0 frxETH | 0.00000023 | ||||
Mint | 13362842 | 21 hrs ago | IN | 0 frxETH | 0.0000002 | ||||
Mint | 13356419 | 25 hrs ago | IN | 0 frxETH | 0.0000002 |
Latest 25 internal transactions (View All)
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
Child Liquidity Gauge Factory
Compiler Version
vyper:0.3.1
Contract Source Code (Vyper language format)
# @version 0.3.1 """ @title Child Liquidity Gauge Factory @license MIT @author Curve Finance """ interface ChildGauge: def initialize(_lp_token: address, _manager: address): nonpayable def integrate_fraction(_user: address) -> uint256: view def user_checkpoint(_user: address) -> bool: nonpayable interface CallProxy: def anyCall( _to: address, _data: Bytes[1024], _fallback: address, _to_chain_id: uint256 ): nonpayable event DeployedGauge: _implementation: indexed(address) _lp_token: indexed(address) _deployer: indexed(address) _salt: bytes32 _gauge: address event Minted: _user: indexed(address) _gauge: indexed(address) _new_total: uint256 event UpdateImplementation: _old_implementation: address _new_implementation: address event UpdateVotingEscrow: _old_voting_escrow: address _new_voting_escrow: address event UpdateCallProxy: _old_call_proxy: address _new_call_proxy: address event UpdateMirrored: _gauge: indexed(address) _mirrored: bool event TransferOwnership: _old_owner: address _new_owner: address WEEK: constant(uint256) = 86400 * 7 CRV: immutable(address) get_implementation: public(address) voting_escrow: public(address) owner: public(address) future_owner: public(address) call_proxy: public(address) # [last_request][has_counterpart][is_valid_gauge] gauge_data: public(HashMap[address, uint256]) # user -> gauge -> value minted: public(HashMap[address, HashMap[address, uint256]]) get_gauge_from_lp_token: public(HashMap[address, address]) get_gauge_count: public(uint256) get_gauge: public(address[MAX_INT128]) @external def __init__(_call_proxy: address, _crv: address, _owner: address): CRV = _crv self.call_proxy = _call_proxy log UpdateCallProxy(ZERO_ADDRESS, _call_proxy) self.owner = _owner log TransferOwnership(ZERO_ADDRESS, _owner) @internal def _psuedo_mint(_gauge: address, _user: address): gauge_data: uint256 = self.gauge_data[_gauge] assert gauge_data != 0 # dev: invalid gauge # if is_mirrored and last_request != this week if bitwise_and(gauge_data, 2) != 0 and shift(gauge_data, -2) / WEEK != block.timestamp / WEEK: CallProxy(self.call_proxy).anyCall( self, _abi_encode(_gauge, method_id=method_id("transmit_emissions(address)")), ZERO_ADDRESS, 1, ) # update last request time self.gauge_data[_gauge] = shift(block.timestamp, 2) + 3 assert ChildGauge(_gauge).user_checkpoint(_user) total_mint: uint256 = ChildGauge(_gauge).integrate_fraction(_user) to_mint: uint256 = total_mint - self.minted[_user][_gauge] if to_mint != 0: # transfer tokens to user response: Bytes[32] = raw_call( CRV, _abi_encode(_user, to_mint, method_id=method_id("transfer(address,uint256)")), max_outsize=32, ) if len(response) != 0: assert convert(response, bool) self.minted[_user][_gauge] = total_mint log Minted(_user, _gauge, total_mint) @external @nonreentrant("lock") def mint(_gauge: address): """ @notice Mint everything which belongs to `msg.sender` and send to them @param _gauge `LiquidityGauge` address to get mintable amount from """ self._psuedo_mint(_gauge, msg.sender) @external @nonreentrant("lock") def mint_many(_gauges: address[32]): """ @notice Mint everything which belongs to `msg.sender` across multiple gauges @param _gauges List of `LiquidityGauge` addresses """ for i in range(32): if _gauges[i] == ZERO_ADDRESS: pass self._psuedo_mint(_gauges[i], msg.sender) @external def deploy_gauge(_lp_token: address, _salt: bytes32, _manager: address = msg.sender) -> address: """ @notice Deploy a liquidity gauge @param _lp_token The token to deposit in the gauge @param _manager The address to set as manager of the gauge @param _salt A value to deterministically deploy a gauge """ if self.get_gauge_from_lp_token[_lp_token] != ZERO_ADDRESS: # overwriting lp_token -> gauge mapping requires assert msg.sender == self.owner # dev: only owner gauge_data: uint256 = 1 # set is_valid_gauge = True implementation: address = self.get_implementation gauge: address = create_forwarder_to( implementation, salt=keccak256(_abi_encode(chain.id, msg.sender, _salt)) ) if msg.sender == self.call_proxy: gauge_data += 2 # set mirrored = True log UpdateMirrored(gauge, True) # issue a call to the root chain to deploy a root gauge CallProxy(self.call_proxy).anyCall( self, _abi_encode(chain.id, _salt, method_id=method_id("deploy_gauge(uint256,bytes32)")), ZERO_ADDRESS, 1 ) self.gauge_data[gauge] = gauge_data idx: uint256 = self.get_gauge_count self.get_gauge[idx] = gauge self.get_gauge_count = idx + 1 self.get_gauge_from_lp_token[_lp_token] = gauge ChildGauge(gauge).initialize(_lp_token, _manager) log DeployedGauge(implementation, _lp_token, msg.sender, _salt, gauge) return gauge @external def set_voting_escrow(_voting_escrow: address): """ @notice Update the voting escrow contract @param _voting_escrow Contract to use as the voting escrow oracle """ assert msg.sender == self.owner # dev: only owner log UpdateVotingEscrow(self.voting_escrow, _voting_escrow) self.voting_escrow = _voting_escrow @external def set_implementation(_implementation: address): """ @notice Set the implementation @param _implementation The address of the implementation to use """ assert msg.sender == self.owner # dev: only owner log UpdateImplementation(self.get_implementation, _implementation) self.get_implementation = _implementation @external def set_mirrored(_gauge: address, _mirrored: bool): """ @notice Set the mirrored bit of the gauge data for `_gauge` @param _gauge The gauge of interest @param _mirrored Boolean deteremining whether to set the mirrored bit to True/False """ gauge_data: uint256 = self.gauge_data[_gauge] assert gauge_data != 0 # dev: invalid gauge assert msg.sender == self.owner # dev: only owner gauge_data = shift(shift(gauge_data, -2), 2) + 1 # set is_valid_gauge = True if _mirrored: gauge_data += 2 # set is_mirrored = True self.gauge_data[_gauge] = gauge_data log UpdateMirrored(_gauge, _mirrored) @external def set_call_proxy(_new_call_proxy: address): """ @notice Set the address of the call proxy used @dev _new_call_proxy should adhere to the same interface as defined @param _new_call_proxy Address of the cross chain call proxy """ assert msg.sender == self.owner log UpdateCallProxy(self.call_proxy, _new_call_proxy) self.call_proxy = _new_call_proxy @external def commit_transfer_ownership(_future_owner: address): """ @notice Transfer ownership to `_future_owner` @param _future_owner The account to commit as the future owner """ assert msg.sender == self.owner # dev: only owner self.future_owner = _future_owner @external def accept_transfer_ownership(): """ @notice Accept the transfer of ownership @dev Only the committed future owner can call this function """ assert msg.sender == self.future_owner # dev: only future owner log TransferOwnership(self.owner, msg.sender) self.owner = msg.sender @view @external def is_valid_gauge(_gauge: address) -> bool: """ @notice Query whether the gauge is a valid one deployed via the factory @param _gauge The address of the gauge of interest """ return self.gauge_data[_gauge] != 0 @view @external def is_mirrored(_gauge: address) -> bool: """ @notice Query whether the gauge is mirrored on Ethereum mainnet @param _gauge The address of the gauge of interest """ return bitwise_and(self.gauge_data[_gauge], 2) != 0 @view @external def last_request(_gauge: address) -> uint256: """ @notice Query the timestamp of the last cross chain request for emissions @param _gauge The address of the gauge of interest """ return shift(self.gauge_data[_gauge], -2)
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"DeployedGauge","inputs":[{"name":"_implementation","type":"address","indexed":true},{"name":"_lp_token","type":"address","indexed":true},{"name":"_deployer","type":"address","indexed":true},{"name":"_salt","type":"bytes32","indexed":false},{"name":"_gauge","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"Minted","inputs":[{"name":"_user","type":"address","indexed":true},{"name":"_gauge","type":"address","indexed":true},{"name":"_new_total","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateImplementation","inputs":[{"name":"_old_implementation","type":"address","indexed":false},{"name":"_new_implementation","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateVotingEscrow","inputs":[{"name":"_old_voting_escrow","type":"address","indexed":false},{"name":"_new_voting_escrow","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateCallProxy","inputs":[{"name":"_old_call_proxy","type":"address","indexed":false},{"name":"_new_call_proxy","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateMirrored","inputs":[{"name":"_gauge","type":"address","indexed":true},{"name":"_mirrored","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"TransferOwnership","inputs":[{"name":"_old_owner","type":"address","indexed":false},{"name":"_new_owner","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_call_proxy","type":"address"},{"name":"_crv","type":"address"},{"name":"_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_gauge","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"mint_many","inputs":[{"name":"_gauges","type":"address[32]"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"deploy_gauge","inputs":[{"name":"_lp_token","type":"address"},{"name":"_salt","type":"bytes32"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"deploy_gauge","inputs":[{"name":"_lp_token","type":"address"},{"name":"_salt","type":"bytes32"},{"name":"_manager","type":"address"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"set_voting_escrow","inputs":[{"name":"_voting_escrow","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_implementation","inputs":[{"name":"_implementation","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_mirrored","inputs":[{"name":"_gauge","type":"address"},{"name":"_mirrored","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_call_proxy","inputs":[{"name":"_new_call_proxy","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_ownership","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"is_valid_gauge","inputs":[{"name":"_gauge","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"is_mirrored","inputs":[{"name":"_gauge","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"last_request","inputs":[{"name":"_gauge","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_implementation","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"voting_escrow","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"call_proxy","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"gauge_data","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"minted","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_gauge_from_lp_token","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"get_gauge_count","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_gauge","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"address"}]}]
Contract Creation Code
6020610e936080396080518060a01c610e8e5760e05260206020610e93016080396080518060a01c610e8e576101005260206040610e93016080396080518060a01c610e8e5761012052610100516101405260e0516005557fe385116766307e81d4427b03f1ac50c300b2f6a5df7b3c67eeb7eaaab12f080560006101605260e051610180526040610160a1610120516003557f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60006101605261012051610180526040610160a1610e6656600436101561000d57610a7e565b60046000601c3760005134610d9557636a627842811861005d576004358060a01c610d95576102a052600054610d955760016000556102a05160e0523361010052610056610a84565b6000600055005b6355ec670881186102cf576004358060a01c610d95576102a0526024358060a01c610d95576102c0526044358060a01c610d95576102e0526064358060a01c610d9557610300526084358060a01c610d95576103205260a4358060a01c610d95576103405260c4358060a01c610d95576103605260e4358060a01c610d955761038052610104358060a01c610d95576103a052610124358060a01c610d95576103c052610144358060a01c610d95576103e052610164358060a01c610d955761040052610184358060a01c610d9557610420526101a4358060a01c610d9557610440526101c4358060a01c610d9557610460526101e4358060a01c610d955761048052610204358060a01c610d95576104a052610224358060a01c610d95576104c052610244358060a01c610d95576104e052610264358060a01c610d955761050052610284358060a01c610d9557610520526102a4358060a01c610d9557610540526102c4358060a01c610d9557610560526102e4358060a01c610d955761058052610304358060a01c610d95576105a052610324358060a01c610d95576105c052610344358060a01c610d95576105e052610364358060a01c610d955761060052610384358060a01c610d9557610620526103a4358060a01c610d9557610640526103c4358060a01c610d9557610660526103e4358060a01c610d955761068052600054610d955760016000556106a060006020818352015b6102a06106a0516020811015610d95576020020151610292575b6102a06106a0516020811015610d9557602002015160e05233610100526102b7610a84565b81516001018083528114156102785750506000600055005b638db98b5c81186102e45733610100526102ff565b636be320d281186105e2576044358060a01c610d9557610100525b6004358060a01c610d955760e0526000600860e05160a0526080526040608020541461032f576003543318610d95575b600161012052600154610140527f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610280526101405160601b610293527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006102a752466102205233610240526024356102605260606102005261020080516020820120905060366102806000f56101605260055433186104e157610120805160028181830110610d955780820190509050815250610160517f54b0a41dd85251df77437effbf9fbdca133bd234e7771816495877177288092c6001610180526020610180a263f9754c936102005261022080608030825260208201915080825263e10a16b8610184526004466101a4526024356101c45260400161018052610180818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905060208201915060008252602082019150600182525050506005543b15610d95576000600061010461021c60006005545af16104e1573d600060003e3d6000fd5b6101205160066101605160a05260805260406080205560095461018052610160516001610180516f7fffffffffffffffffffffffffffffff811015610d955702600a01556101805160018181830110610d95578082019050905060095561016051600860e05160a05260805260406080205563485cc9556101a05260e0516101c052610100516101e052610160513b15610d95576000600060446101bc6000610160515af1610595573d600060003e3d6000fd5b3360e051610140517f69e16554b097f489830077da86e9e40cc91529a8d0787c42c4f33a0a337a0e086024356101a052610160516101c05260406101a0a4610160516101a05260206101a0f35b6323fc5a478118610641576004358060a01c610d955760e0526003543318610d95577fa1b167642dcf1fee2fbf716c48c7c3f2326e4f26020cb042cd6405dfa72f4fd26002546101005260e051610120526040610100a160e051600255005b634cd69da081186106a0576004358060a01c610d955760e0526003543318610d95577fcdfeee65e4d0a88d6e47c5d034c34b03d52f1e6ffc56906257fc93d993ca04c46001546101005260e051610120526040610100a160e051600155005b634b29cac8811861077e576004358060a01c610d955760e0526024358060011c610d955761010052600660e05160a0526080526040608020546101205260006101205114610d95576003543318610d95576101205160021c60021b60018181830110610d95578082019050905061012052610100511561073557610120805160028181830110610d9557808201905090508152505b61012051600660e05160a05260805260406080205560e0517f54b0a41dd85251df77437effbf9fbdca133bd234e7771816495877177288092c61010051610140526020610140a2005b635ecb9e1481186107dd576004358060a01c610d955760e0526003543318610d95577fe385116766307e81d4427b03f1ac50c300b2f6a5df7b3c67eeb7eaaab12f08056005546101005260e051610120526040610100a160e051600555005b636b441a408118610807576004358060a01c610d955760e0526003543318610d955760e051600455005b63e5ea47b88118610852576004543318610d95577f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60035460e0523361010052604060e0a133600355005b634b920379811861088b576004358060a01c610d955760e0526000600660e05160a0526080526040608020541415610100526020610100f35b638a42bd8281186108c7576004358060a01c610d955760e05260006002600660e05160a052608052604060802054161415610100526020610100f35b6351bd4db581186108ff576004358060a01c610d955760e052600660e05160a05260805260406080205460021c610100526020610100f35b63c781c66881186109165760015460e052602060e0f35b63dfe05031811861092d5760025460e052602060e0f35b638da5cb5b81186109445760035460e052602060e0f35b631ec0cdc1811861095b5760045460e052602060e0f35b63f81c6c3e81186109725760055460e052602060e0f35b63f0ce32f881186109a7576004358060a01c610d955760e052600660e05160a052608052604060802054610100526020610100f35b638b752bb081186109fa576004358060a01c610d955760e0526024358060a01c610d955761010052600760e05160a05260805260406080206101005160a052608052604060802054610120526020610120f35b635d95c65e8118610a2f576004358060a01c610d955760e052600860e05160a052608052604060802054610100526020610100f35b63f111569c8118610a465760095460e052602060e0f35b63285218488118610a7c5760016004356f7fffffffffffffffffffffffffffffff811015610d955702600a015460e052602060e0f35b505b60006000fd5b600660e05160a0526080526040608020546101205260006101205114610d95576000600261012051161415610aba576000610adb565b4262093a80808204905090506101205160021c62093a808082049050905014155b15610bcf5763f9754c936101a0526101c08060803082526020820191508082526311bfb95661014452600460e0516101645260200161014052610140818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905060208201915060008252602082019150600182525050506005543b15610d95576000600060e46101bc60006005545af1610ba7573d600060003e3d6000fd5b4260021b60038181830110610d955780820190509050600660e05160a0526080526040608020555b634b8200936101405261010051610160526020610140602461015c600060e0515af1610c00573d600060003e3d6000fd5b601f3d1115610d95576101405115610d955763094007076101605261010051610180526020610160602461017c60e0515afa610c41573d600060003e3d6000fd5b601f3d1115610d955761016051610140526101405160076101005160a052608052604060802060e05160a052608052604060802054808210610d9557808203905090506101605260006101605114610d935763a9059cbb6101c4526004610100516101e45261016051610204526040016101c0526101c05060206102606101c0516101e060006020602038036080396080515af1610ce4573d600060003e3d6000fd5b61024060203d808211610cf75781610cf9565b805b905090508152805160200180610180828460045afa9050505060006101805114610d38576101a0516101805181816020036008021c9050905015610d95575b6101405160076101005160a052608052604060802060e05160a05260805260406080205560e051610100517f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0610140516101c05260206101c0a35b565b600080fd5b6100cc610e66036100cc610160396100cc610e66036101405181610160015280602001610160f35b600080fd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000331b9182088e2a7d6d3fe4742aba1fb231aecc56000000000000000000000000ae50429025b59c9d62ae9c3a52a657bc7ab64036
Deployed Bytecode
0x600436101561000d57610a7e565b60046000601c3760005134610d9557636a627842811861005d576004358060a01c610d95576102a052600054610d955760016000556102a05160e0523361010052610056610a84565b6000600055005b6355ec670881186102cf576004358060a01c610d95576102a0526024358060a01c610d95576102c0526044358060a01c610d95576102e0526064358060a01c610d9557610300526084358060a01c610d95576103205260a4358060a01c610d95576103405260c4358060a01c610d95576103605260e4358060a01c610d955761038052610104358060a01c610d95576103a052610124358060a01c610d95576103c052610144358060a01c610d95576103e052610164358060a01c610d955761040052610184358060a01c610d9557610420526101a4358060a01c610d9557610440526101c4358060a01c610d9557610460526101e4358060a01c610d955761048052610204358060a01c610d95576104a052610224358060a01c610d95576104c052610244358060a01c610d95576104e052610264358060a01c610d955761050052610284358060a01c610d9557610520526102a4358060a01c610d9557610540526102c4358060a01c610d9557610560526102e4358060a01c610d955761058052610304358060a01c610d95576105a052610324358060a01c610d95576105c052610344358060a01c610d95576105e052610364358060a01c610d955761060052610384358060a01c610d9557610620526103a4358060a01c610d9557610640526103c4358060a01c610d9557610660526103e4358060a01c610d955761068052600054610d955760016000556106a060006020818352015b6102a06106a0516020811015610d95576020020151610292575b6102a06106a0516020811015610d9557602002015160e05233610100526102b7610a84565b81516001018083528114156102785750506000600055005b638db98b5c81186102e45733610100526102ff565b636be320d281186105e2576044358060a01c610d9557610100525b6004358060a01c610d955760e0526000600860e05160a0526080526040608020541461032f576003543318610d95575b600161012052600154610140527f602d3d8160093d39f3363d3d373d3d3d363d7300000000000000000000000000610280526101405160601b610293527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006102a752466102205233610240526024356102605260606102005261020080516020820120905060366102806000f56101605260055433186104e157610120805160028181830110610d955780820190509050815250610160517f54b0a41dd85251df77437effbf9fbdca133bd234e7771816495877177288092c6001610180526020610180a263f9754c936102005261022080608030825260208201915080825263e10a16b8610184526004466101a4526024356101c45260400161018052610180818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905060208201915060008252602082019150600182525050506005543b15610d95576000600061010461021c60006005545af16104e1573d600060003e3d6000fd5b6101205160066101605160a05260805260406080205560095461018052610160516001610180516f7fffffffffffffffffffffffffffffff811015610d955702600a01556101805160018181830110610d95578082019050905060095561016051600860e05160a05260805260406080205563485cc9556101a05260e0516101c052610100516101e052610160513b15610d95576000600060446101bc6000610160515af1610595573d600060003e3d6000fd5b3360e051610140517f69e16554b097f489830077da86e9e40cc91529a8d0787c42c4f33a0a337a0e086024356101a052610160516101c05260406101a0a4610160516101a05260206101a0f35b6323fc5a478118610641576004358060a01c610d955760e0526003543318610d95577fa1b167642dcf1fee2fbf716c48c7c3f2326e4f26020cb042cd6405dfa72f4fd26002546101005260e051610120526040610100a160e051600255005b634cd69da081186106a0576004358060a01c610d955760e0526003543318610d95577fcdfeee65e4d0a88d6e47c5d034c34b03d52f1e6ffc56906257fc93d993ca04c46001546101005260e051610120526040610100a160e051600155005b634b29cac8811861077e576004358060a01c610d955760e0526024358060011c610d955761010052600660e05160a0526080526040608020546101205260006101205114610d95576003543318610d95576101205160021c60021b60018181830110610d95578082019050905061012052610100511561073557610120805160028181830110610d9557808201905090508152505b61012051600660e05160a05260805260406080205560e0517f54b0a41dd85251df77437effbf9fbdca133bd234e7771816495877177288092c61010051610140526020610140a2005b635ecb9e1481186107dd576004358060a01c610d955760e0526003543318610d95577fe385116766307e81d4427b03f1ac50c300b2f6a5df7b3c67eeb7eaaab12f08056005546101005260e051610120526040610100a160e051600555005b636b441a408118610807576004358060a01c610d955760e0526003543318610d955760e051600455005b63e5ea47b88118610852576004543318610d95577f5c486528ec3e3f0ea91181cff8116f02bfa350e03b8b6f12e00765adbb5af85c60035460e0523361010052604060e0a133600355005b634b920379811861088b576004358060a01c610d955760e0526000600660e05160a0526080526040608020541415610100526020610100f35b638a42bd8281186108c7576004358060a01c610d955760e05260006002600660e05160a052608052604060802054161415610100526020610100f35b6351bd4db581186108ff576004358060a01c610d955760e052600660e05160a05260805260406080205460021c610100526020610100f35b63c781c66881186109165760015460e052602060e0f35b63dfe05031811861092d5760025460e052602060e0f35b638da5cb5b81186109445760035460e052602060e0f35b631ec0cdc1811861095b5760045460e052602060e0f35b63f81c6c3e81186109725760055460e052602060e0f35b63f0ce32f881186109a7576004358060a01c610d955760e052600660e05160a052608052604060802054610100526020610100f35b638b752bb081186109fa576004358060a01c610d955760e0526024358060a01c610d955761010052600760e05160a05260805260406080206101005160a052608052604060802054610120526020610120f35b635d95c65e8118610a2f576004358060a01c610d955760e052600860e05160a052608052604060802054610100526020610100f35b63f111569c8118610a465760095460e052602060e0f35b63285218488118610a7c5760016004356f7fffffffffffffffffffffffffffffff811015610d955702600a015460e052602060e0f35b505b60006000fd5b600660e05160a0526080526040608020546101205260006101205114610d95576000600261012051161415610aba576000610adb565b4262093a80808204905090506101205160021c62093a808082049050905014155b15610bcf5763f9754c936101a0526101c08060803082526020820191508082526311bfb95661014452600460e0516101645260200161014052610140818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905060208201915060008252602082019150600182525050506005543b15610d95576000600060e46101bc60006005545af1610ba7573d600060003e3d6000fd5b4260021b60038181830110610d955780820190509050600660e05160a0526080526040608020555b634b8200936101405261010051610160526020610140602461015c600060e0515af1610c00573d600060003e3d6000fd5b601f3d1115610d95576101405115610d955763094007076101605261010051610180526020610160602461017c60e0515afa610c41573d600060003e3d6000fd5b601f3d1115610d955761016051610140526101405160076101005160a052608052604060802060e05160a052608052604060802054808210610d9557808203905090506101605260006101605114610d935763a9059cbb6101c4526004610100516101e45261016051610204526040016101c0526101c05060206102606101c0516101e060006020602038036080396080515af1610ce4573d600060003e3d6000fd5b61024060203d808211610cf75781610cf9565b805b905090508152805160200180610180828460045afa9050505060006101805114610d38576101a0516101805181816020036008021c9050905015610d95575b6101405160076101005160a052608052604060802060e05160a05260805260406080205560e051610100517f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f0610140516101c05260206101c0a35b565b600080fd000000000000000000000000331b9182088e2a7d6d3fe4742aba1fb231aecc56
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000331b9182088e2a7d6d3fe4742aba1fb231aecc56000000000000000000000000ae50429025b59c9d62ae9c3a52a657bc7ab64036
-----Decoded View---------------
Arg [0] : _call_proxy (address): 0x0000000000000000000000000000000000000000
Arg [1] : _crv (address): 0x331B9182088e2A7d6D3Fe4742AbA1fB231aEcc56
Arg [2] : _owner (address): 0xaE50429025B59C9D62Ae9c3A52a657BC7AB64036
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 000000000000000000000000331b9182088e2a7d6d3fe4742aba1fb231aecc56
Arg [2] : 000000000000000000000000ae50429025b59c9d62ae9c3a52a657bc7ab64036
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
FRAXTAL | 100.00% | $1.18 | 127,678.8734 | $150,661.07 |
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.