Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20966752 | 52 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Protocol Address Provider
Compiler Version
vyper:0.3.7
Contract Source Code (Vyper language format)
# @version 0.3.7 """ @title Protocol Address Provider @license GNU AGPLv3 @author yearn.finance @notice Protocol Address provider for the periphery contracts for the Yearn V3 system. """ interface IAddressProvider: def getAddress(address_id: bytes32) -> address: view #### EVENTS #### event UpdatedAddress: addressId: indexed(bytes32) oldAddress: indexed(address) newAddress: indexed(address) event UpdatePendingGovernance: newPendingGovernance: indexed(address) event UpdateGovernance: previousGovernance: indexed(address) newGovernance: indexed(address) #### CONSTANTS #### # General Periphery Contracts. ROUTER: constant(bytes32) = keccak256("Router") KEEPER: constant(bytes32) = keccak256("Keeper") APR_ORACLE: constant(bytes32) = keccak256("APR Oracle") REPLACEMENT: constant(bytes32) = keccak256("Replacement") RELEASE_REGISTRY: constant(bytes32) = keccak256("Release Registry") BASE_FEE_PROVIDER: constant(bytes32) = keccak256("Base Fee Provider") COMMON_REPORT_TRIGGER: constant(bytes32) = keccak256("Common Report Trigger") # Periphery Factory contracts. AUCTION_FACTORY: constant(bytes32) = keccak256("Auction Factory") SPLITTER_FACTORY: constant(bytes32) = keccak256("Splitter Factory") REGISTRY_FACTORY: constant(bytes32) = keccak256("Registry Factory") ACCOUNTANT_FACTORY: constant(bytes32) = keccak256("Accountant Factory") ROLE_MANAGER_FACTORY: constant(bytes32) = keccak256("Role Manager Factory") DEBT_ALLOCATOR_FACTORY: constant(bytes32) = keccak256("Debt Allocator Factory") name: public(constant(String[34])) = "Yearn V3 Protocol Address Provider" #### STORAGE #### # Mapping of the identifier to the current address. addresses: HashMap[bytes32, address] # Address that can set or change the fee configs. governance: public(address) # Pending governance waiting to be accepted. pendingGovernance: public(address) @external def __init__( governance: address ): """ @notice Deploys the address provider and sets up governance. @param governance The address to initially set for governance. """ assert governance != empty(address) self.governance = governance ########## GETTERS ########## @view @external def getAddress(address_id: bytes32) -> address: """ @notice Returns an address by its identifier.. @param address_id The id to get the address for. @return The address registered for the id. """ return self._get_address(address_id) @view @internal def _get_address(address_id: bytes32) -> address: return self.addresses[address_id] @view @external def getReplacement() -> address: """ @notice Get the replacement of the address provider if it exists. This will return address 0 if this is the latest version. @return The replacement address provider if any. """ return self._get_address(REPLACEMENT) @view @external def getRouter() -> address: """ @notice Get the current Yearn 4626 Router. @return Current Yearn 4626 Router """ return self._get_address(ROUTER) @view @external def getKeeper() -> address: """ @notice Get the current generic Keeper. @return Current generic Keeper. """ return self._get_address(KEEPER) @view @external def getAprOracle() -> address: """ @notice Get the current APR Oracle. @return Current APR Oracle address. """ return self._get_address(APR_ORACLE) @view @external def getReleaseRegistry() -> address: """ @notice Get the current Release Registry. @return Current Release Registry address """ return self._get_address(RELEASE_REGISTRY) @view @external def getBaseFeeProvider() -> address: """ @notice Get the current Base Fee Provider. @return Current Base Fee Provider address. """ return self._get_address(BASE_FEE_PROVIDER) @view @external def getCommonReportTrigger() -> address: """ @notice Get the current Common Report Trigger. @return Current Common Report Trigger address. """ return self._get_address(COMMON_REPORT_TRIGGER) @view @external def getAuctionFactory() -> address: """ @notice Get the current Auction Factory. @return Current Auction Factory address. """ return self._get_address(AUCTION_FACTORY) @view @external def getSplitterFactory() -> address: """ @notice Get the current Splitter Factory. @return Current Splitter Factory address. """ return self._get_address(SPLITTER_FACTORY) @view @external def getRegistryFactory() -> address: """ @notice Get the current Registry Factory. @return Current Registry Factory address. """ return self._get_address(REGISTRY_FACTORY) @view @external def getDebtAllocatorFactory() -> address: """ @notice Get the current Debt Allocator Factory. @return Current Debt Allocator Factory address. """ return self._get_address(DEBT_ALLOCATOR_FACTORY) @view @external def getAccountantFactory() -> address: """ @notice Get the current Accountant Factory. @return Current Accountant Factory address. """ return self._get_address(ACCOUNTANT_FACTORY) @view @external def getRoleManagerFactory() -> address: """ @notice Get the current Role Manager Factory. @return Current Role Manager Factory address. """ return self._get_address(ROLE_MANAGER_FACTORY) ########## SETTERS ########## @external def setAddress(address_id: bytes32, new_address: address): """ @notice Sets an address to a given id. @dev Must be called by the governance. @param address_id The id to set. @param new_address The address to set to id. """ self._set_address(address_id, new_address) @internal def _set_address(address_id: bytes32, new_address: address): """ @notice Internal function to transfer the current address for an id and emit the corresponding log @param address_id The id to set. @param new_address The address to set to id. """ assert msg.sender == self.governance, "!governance" old_address: address = self.addresses[address_id] self.addresses[address_id] = new_address log UpdatedAddress(address_id, old_address, new_address) @external def setReplacement(new_address: address): """ @notice Set the replacement address provider. @dev Must be called by the governance. @param new_address of the replacement address provider. """ self._set_address(REPLACEMENT, new_address) @external def setRouter(new_address: address): """ @notice Sets a new address for the Yearn 4626 Router. @dev Must be called by the governance. @param new_address The new Router. """ self._set_address(ROUTER, new_address) @external def setKeeper(new_address: address): """ @notice Sets a new address for the generic Keeper. @dev Must be called by the governance. @param new_address The new Keeper. """ self._set_address(KEEPER, new_address) @external def setAprOracle(new_address: address): """ @notice Sets a new address for the APR Oracle. @dev Must be called by the governance. @param new_address The new APR Oracle. """ self._set_address(APR_ORACLE, new_address) @external def setReleaseRegistry(new_address: address): """ @notice Sets a new address for the Release Registry. @dev Must be called by the governance. @param new_address The new Release Registry. """ self._set_address(RELEASE_REGISTRY, new_address) @external def setBaseFeeProvider(new_address: address): """ @notice Sets a new address for the Base Fee Provider. @dev Must be called by the governance. @param new_address The new Base Fee Provider. """ self._set_address(BASE_FEE_PROVIDER, new_address) @external def setCommonReportTrigger(new_address: address): """ @notice Sets a new address for the Common Report Trigger. @dev Must be called by the governance. @param new_address The new Common Report Trigger. """ self._set_address(COMMON_REPORT_TRIGGER, new_address) @external def setAuctionFactory(new_address: address): """ @notice Sets a new address for the Auction Factory. @dev Must be called by the governance. @param new_address The new Auction Factory. """ self._set_address(AUCTION_FACTORY, new_address) @external def setSplitterFactory(new_address: address): """ @notice Sets a new address for the Splitter Factory. @dev Must be called by the governance. @param new_address The new Splitter Factory. """ self._set_address(SPLITTER_FACTORY, new_address) @external def setRegistryFactory(new_address: address): """ @notice Sets a new address for the Registry Factory. @dev Must be called by the governance. @param new_address The new Registry Factory. """ self._set_address(REGISTRY_FACTORY, new_address) @external def setDebtAllocatorFactory(new_address: address): """ @notice Sets a new address for the Debt Allocator Factory. @dev Must be called by the governance. @param new_address The new Debt Allocator Factory. """ self._set_address(DEBT_ALLOCATOR_FACTORY, new_address) @external def setAccountantFactory(new_address: address): """ @notice Sets a new address for the Accountant Factory. @dev Must be called by the governance. @param new_address The new Accountant Factory. """ self._set_address(ACCOUNTANT_FACTORY, new_address) @external def setRoleManagerFactory(new_address: address): """ @notice Sets a new address for the Role Manager Factory. @dev Must be called by the governance. @param new_address The new Role Manager Factory. """ self._set_address(ROLE_MANAGER_FACTORY, new_address) ########## GOVERNANCE ########## @external def transferGovernance(new_governance: address): """ @notice Set the governance address @param new_governance The new governance address """ assert msg.sender == self.governance, "!governance" self.pendingGovernance = new_governance log UpdatePendingGovernance(new_governance) @external def acceptGovernance(): """ @notice Accept the governance address """ assert msg.sender == self.pendingGovernance, "!pending governance" old_governance: address = self.governance self.governance = msg.sender self.pendingGovernance = empty(address) log UpdateGovernance(old_governance, msg.sender)
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"UpdatedAddress","inputs":[{"name":"addressId","type":"bytes32","indexed":true},{"name":"oldAddress","type":"address","indexed":true},{"name":"newAddress","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"UpdatePendingGovernance","inputs":[{"name":"newPendingGovernance","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"UpdateGovernance","inputs":[{"name":"previousGovernance","type":"address","indexed":true},{"name":"newGovernance","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"governance","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"getAddress","inputs":[{"name":"address_id","type":"bytes32"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getReplacement","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getRouter","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getKeeper","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getAprOracle","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getReleaseRegistry","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getBaseFeeProvider","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getCommonReportTrigger","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getAuctionFactory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getSplitterFactory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getRegistryFactory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getDebtAllocatorFactory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getAccountantFactory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getRoleManagerFactory","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"setAddress","inputs":[{"name":"address_id","type":"bytes32"},{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setReplacement","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setRouter","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setKeeper","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setAprOracle","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setReleaseRegistry","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setBaseFeeProvider","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setCommonReportTrigger","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setAuctionFactory","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setSplitterFactory","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setRegistryFactory","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setDebtAllocatorFactory","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setAccountantFactory","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setRoleManagerFactory","inputs":[{"name":"new_address","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"transferGovernance","inputs":[{"name":"new_governance","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"acceptGovernance","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"governance","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"pendingGovernance","inputs":[],"outputs":[{"name":"","type":"address"}]}]
Contract Creation Code
6020610bf06000396000518060a01c610beb5760405234610beb5760405115610beb57604051600155610bb061003a61000039610bb0610000f36003361161000c57610ac2565b60003560e01c34610b9e576321f8a72181186100405760243610610b9e57602060043560405261003c6060610ac8565b6060f35b635550591481186100875760043610610b9e5760207fce81d13dd2630a54efd7ae72310ad98f474551f2f44265e54756fe0a7b200fc56040526100836060610ac8565b6060f35b63b0f479a181186100ce5760043610610b9e5760207f3f0593d90c203cedd52beaf1f2e33ef6958a48ee6bc9180eb653d00d34ee618d6040526100ca6060610ac8565b6060f35b63391b6f4e81186101155760043610610b9e5760207f4f78afe9dfc9a0cb0441c27b9405070cd2a48b490636a7bdd09f355e33a5d7de6040526101116060610ac8565b6060f35b63a64d05cd811861015c5760043610610b9e5760207f92308d754fefe74f180a813f808c0966735868624696943110ce3b77ef4da6fc6040526101586060610ac8565b6060f35b6319be507781186101a35760043610610b9e5760207fce82990224163c7d18d33fc380cc4491cf9e5be3d1cb6d961d5b41b62920e24860405261019f6060610ac8565b6060f35b63ab83d6ce81186101ea5760043610610b9e5760207f2830bb8c074007e3642ba35a7f4a62fe9e79b8ed4d17d572f08ab91d1cc3afba6040526101e66060610ac8565b6060f35b63ac5bd72881186102315760043610610b9e5760207f905c20daa0ccca45a243edd43b8376998eee600a326f91db7b09aa142096f33f60405261022d6060610ac8565b6060f35b6345d33dfa81186102785760043610610b9e5760207fdf24db24a1d08cc7d31d7b228292b963835737693e825a0f4000fd880cb376216040526102746060610ac8565b6060f35b63b6773fa081186102bf5760043610610b9e5760207fcc5480089f75bfa813c425713b4e49e8975cb68f52703570bcfdc6134dd5e31a6040526102bb6060610ac8565b6060f35b63fbb9a7d881186103065760043610610b9e5760207f8975f7470d8885db19a03ab19387b0d032119bec5e894c777643a8eedb564af46040526103026060610ac8565b6060f35b63bf7a214e811861034d5760043610610b9e5760207f26555a2400e5f7a7dc5f4794e1040ade6c5cec3c38b80ceaff00502a62e4b6586040526103496060610ac8565b6060f35b6375405c5681186103945760043610610b9e5760207f15cf1584ec2aa3ee42f6f37421830cb25dd95e2e2b575c279686a2b05aeeaa3a6040526103906060610ac8565b6060f35b6342a5432681186103db5760043610610b9e5760207f819f8f39bfec38b12aa4bf0c9dc09011048f096d909b6d8cceee61d1ae72c1be6040526103d76060610ac8565b6060f35b63ca446dd981186104125760443610610b9e576024358060a01c610b9e5760c05260043560405260c051606052610410610ade565b005b632e55242381186104675760243610610b9e576004358060a01c610b9e5760c0527fce81d13dd2630a54efd7ae72310ad98f474551f2f44265e54756fe0a7b200fc560405260c051606052610465610ade565b005b63c0d7865581186104bc5760243610610b9e576004358060a01c610b9e5760c0527f3f0593d90c203cedd52beaf1f2e33ef6958a48ee6bc9180eb653d00d34ee618d60405260c0516060526104ba610ade565b005b63748747e681186105115760243610610b9e576004358060a01c610b9e5760c0527f4f78afe9dfc9a0cb0441c27b9405070cd2a48b490636a7bdd09f355e33a5d7de60405260c05160605261050f610ade565b005b6304e6f01181186105665760243610610b9e576004358060a01c610b9e5760c0527f92308d754fefe74f180a813f808c0966735868624696943110ce3b77ef4da6fc60405260c051606052610564610ade565b005b63986f342a81186105bb5760243610610b9e576004358060a01c610b9e5760c0527fce82990224163c7d18d33fc380cc4491cf9e5be3d1cb6d961d5b41b62920e24860405260c0516060526105b9610ade565b005b63244edd7981186106105760243610610b9e576004358060a01c610b9e5760c0527f2830bb8c074007e3642ba35a7f4a62fe9e79b8ed4d17d572f08ab91d1cc3afba60405260c05160605261060e610ade565b005b639a47b13181186106655760243610610b9e576004358060a01c610b9e5760c0527f905c20daa0ccca45a243edd43b8376998eee600a326f91db7b09aa142096f33f60405260c051606052610663610ade565b005b631daca74f81186106ba5760243610610b9e576004358060a01c610b9e5760c0527fdf24db24a1d08cc7d31d7b228292b963835737693e825a0f4000fd880cb3762160405260c0516060526106b8610ade565b005b637918413b811861070f5760243610610b9e576004358060a01c610b9e5760c0527fcc5480089f75bfa813c425713b4e49e8975cb68f52703570bcfdc6134dd5e31a60405260c05160605261070d610ade565b005b6362e0ed3e81186107645760243610610b9e576004358060a01c610b9e5760c0527f8975f7470d8885db19a03ab19387b0d032119bec5e894c777643a8eedb564af460405260c051606052610762610ade565b005b6374a61af881186107b95760243610610b9e576004358060a01c610b9e5760c0527f26555a2400e5f7a7dc5f4794e1040ade6c5cec3c38b80ceaff00502a62e4b65860405260c0516060526107b7610ade565b005b63a48238b1811861080e5760243610610b9e576004358060a01c610b9e5760c0527f15cf1584ec2aa3ee42f6f37421830cb25dd95e2e2b575c279686a2b05aeeaa3a60405260c05160605261080c610ade565b005b635c94188781186108635760243610610b9e576004358060a01c610b9e5760c0527f819f8f39bfec38b12aa4bf0c9dc09011048f096d909b6d8cceee61d1ae72c1be60405260c051606052610861610ade565b005b63d38bfff4811861091c5760243610610b9e576004358060a01c610b9e576040526001543318156108eb57600b6060527f21676f7665726e616e636500000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516002556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b60006060a2005b63238efcbc81186109d15760043610610b9e576002543318156109965760136040527f2170656e64696e6720676f7665726e616e63650000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600154604052336001556000600255336040517f493b5e2f500fb8f4024f54f276b840399964fade32340c2352e0cb4eeb65aa6f60006060a3005b6306fdde038118610a825760043610610b9e5760208060a05260226040527f596561726e2056332050726f746f636f6c20416464726573732050726f7669646060527f657200000000000000000000000000000000000000000000000000000000000060805260408160a001815180825260208301602083018281848460045afa505050508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060a0f35b635aa6e6758118610aa15760043610610b9e5760015460405260206040f35b63f39c38a08118610ac05760043610610b9e5760025460405260206040f35b505b60006000fd5b6000604051602052600052604060002054815250565b600154331815610b4557600b6080527f21676f7665726e616e636500000000000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b600060405160205260005260406000205460805260605160006040516020526000526040600020556060516080516040517fa17fec79dde255b04bb7ffa97ad15ba866841eb0043fd3c848ef7c87c4fbaccf600060a0a4565b600080fda165767970657283000307000b005b600080fd0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8
Deployed Bytecode
0x6003361161000c57610ac2565b60003560e01c34610b9e576321f8a72181186100405760243610610b9e57602060043560405261003c6060610ac8565b6060f35b635550591481186100875760043610610b9e5760207fce81d13dd2630a54efd7ae72310ad98f474551f2f44265e54756fe0a7b200fc56040526100836060610ac8565b6060f35b63b0f479a181186100ce5760043610610b9e5760207f3f0593d90c203cedd52beaf1f2e33ef6958a48ee6bc9180eb653d00d34ee618d6040526100ca6060610ac8565b6060f35b63391b6f4e81186101155760043610610b9e5760207f4f78afe9dfc9a0cb0441c27b9405070cd2a48b490636a7bdd09f355e33a5d7de6040526101116060610ac8565b6060f35b63a64d05cd811861015c5760043610610b9e5760207f92308d754fefe74f180a813f808c0966735868624696943110ce3b77ef4da6fc6040526101586060610ac8565b6060f35b6319be507781186101a35760043610610b9e5760207fce82990224163c7d18d33fc380cc4491cf9e5be3d1cb6d961d5b41b62920e24860405261019f6060610ac8565b6060f35b63ab83d6ce81186101ea5760043610610b9e5760207f2830bb8c074007e3642ba35a7f4a62fe9e79b8ed4d17d572f08ab91d1cc3afba6040526101e66060610ac8565b6060f35b63ac5bd72881186102315760043610610b9e5760207f905c20daa0ccca45a243edd43b8376998eee600a326f91db7b09aa142096f33f60405261022d6060610ac8565b6060f35b6345d33dfa81186102785760043610610b9e5760207fdf24db24a1d08cc7d31d7b228292b963835737693e825a0f4000fd880cb376216040526102746060610ac8565b6060f35b63b6773fa081186102bf5760043610610b9e5760207fcc5480089f75bfa813c425713b4e49e8975cb68f52703570bcfdc6134dd5e31a6040526102bb6060610ac8565b6060f35b63fbb9a7d881186103065760043610610b9e5760207f8975f7470d8885db19a03ab19387b0d032119bec5e894c777643a8eedb564af46040526103026060610ac8565b6060f35b63bf7a214e811861034d5760043610610b9e5760207f26555a2400e5f7a7dc5f4794e1040ade6c5cec3c38b80ceaff00502a62e4b6586040526103496060610ac8565b6060f35b6375405c5681186103945760043610610b9e5760207f15cf1584ec2aa3ee42f6f37421830cb25dd95e2e2b575c279686a2b05aeeaa3a6040526103906060610ac8565b6060f35b6342a5432681186103db5760043610610b9e5760207f819f8f39bfec38b12aa4bf0c9dc09011048f096d909b6d8cceee61d1ae72c1be6040526103d76060610ac8565b6060f35b63ca446dd981186104125760443610610b9e576024358060a01c610b9e5760c05260043560405260c051606052610410610ade565b005b632e55242381186104675760243610610b9e576004358060a01c610b9e5760c0527fce81d13dd2630a54efd7ae72310ad98f474551f2f44265e54756fe0a7b200fc560405260c051606052610465610ade565b005b63c0d7865581186104bc5760243610610b9e576004358060a01c610b9e5760c0527f3f0593d90c203cedd52beaf1f2e33ef6958a48ee6bc9180eb653d00d34ee618d60405260c0516060526104ba610ade565b005b63748747e681186105115760243610610b9e576004358060a01c610b9e5760c0527f4f78afe9dfc9a0cb0441c27b9405070cd2a48b490636a7bdd09f355e33a5d7de60405260c05160605261050f610ade565b005b6304e6f01181186105665760243610610b9e576004358060a01c610b9e5760c0527f92308d754fefe74f180a813f808c0966735868624696943110ce3b77ef4da6fc60405260c051606052610564610ade565b005b63986f342a81186105bb5760243610610b9e576004358060a01c610b9e5760c0527fce82990224163c7d18d33fc380cc4491cf9e5be3d1cb6d961d5b41b62920e24860405260c0516060526105b9610ade565b005b63244edd7981186106105760243610610b9e576004358060a01c610b9e5760c0527f2830bb8c074007e3642ba35a7f4a62fe9e79b8ed4d17d572f08ab91d1cc3afba60405260c05160605261060e610ade565b005b639a47b13181186106655760243610610b9e576004358060a01c610b9e5760c0527f905c20daa0ccca45a243edd43b8376998eee600a326f91db7b09aa142096f33f60405260c051606052610663610ade565b005b631daca74f81186106ba5760243610610b9e576004358060a01c610b9e5760c0527fdf24db24a1d08cc7d31d7b228292b963835737693e825a0f4000fd880cb3762160405260c0516060526106b8610ade565b005b637918413b811861070f5760243610610b9e576004358060a01c610b9e5760c0527fcc5480089f75bfa813c425713b4e49e8975cb68f52703570bcfdc6134dd5e31a60405260c05160605261070d610ade565b005b6362e0ed3e81186107645760243610610b9e576004358060a01c610b9e5760c0527f8975f7470d8885db19a03ab19387b0d032119bec5e894c777643a8eedb564af460405260c051606052610762610ade565b005b6374a61af881186107b95760243610610b9e576004358060a01c610b9e5760c0527f26555a2400e5f7a7dc5f4794e1040ade6c5cec3c38b80ceaff00502a62e4b65860405260c0516060526107b7610ade565b005b63a48238b1811861080e5760243610610b9e576004358060a01c610b9e5760c0527f15cf1584ec2aa3ee42f6f37421830cb25dd95e2e2b575c279686a2b05aeeaa3a60405260c05160605261080c610ade565b005b635c94188781186108635760243610610b9e576004358060a01c610b9e5760c0527f819f8f39bfec38b12aa4bf0c9dc09011048f096d909b6d8cceee61d1ae72c1be60405260c051606052610861610ade565b005b63d38bfff4811861091c5760243610610b9e576004358060a01c610b9e576040526001543318156108eb57600b6060527f21676f7665726e616e636500000000000000000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b6040516002556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b60006060a2005b63238efcbc81186109d15760043610610b9e576002543318156109965760136040527f2170656e64696e6720676f7665726e616e63650000000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b600154604052336001556000600255336040517f493b5e2f500fb8f4024f54f276b840399964fade32340c2352e0cb4eeb65aa6f60006060a3005b6306fdde038118610a825760043610610b9e5760208060a05260226040527f596561726e2056332050726f746f636f6c20416464726573732050726f7669646060527f657200000000000000000000000000000000000000000000000000000000000060805260408160a001815180825260208301602083018281848460045afa505050508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060a0f35b635aa6e6758118610aa15760043610610b9e5760015460405260206040f35b63f39c38a08118610ac05760043610610b9e5760025460405260206040f35b505b60006000fd5b6000604051602052600052604060002054815250565b600154331815610b4557600b6080527f21676f7665726e616e636500000000000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b600060405160205260005260406000205460805260605160006040516020526000526040600020556060516080516040517fa17fec79dde255b04bb7ffa97ad15ba866841eb0043fd3c848ef7c87c4fbaccf600060a0a4565b600080fda165767970657283000307000b
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8
-----Decoded View---------------
Arg [0] : governance (address): 0x6f3cBE2ab3483EC4BA7B672fbdCa0E9B33F88db8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.