Latest 25 from a total of 32 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Transfer | 12627425 | 1714 days ago | IN | 0 ETH | 0.000462 | ||||
| New Experimental... | 12022103 | 1808 days ago | IN | 0 ETH | 0.04542857 | ||||
| New Experimental... | 12019527 | 1808 days ago | IN | 0 ETH | 0.06071338 | ||||
| New Experimental... | 12012529 | 1809 days ago | IN | 0 ETH | 0.05812855 | ||||
| New Experimental... | 12011073 | 1809 days ago | IN | 0 ETH | 0.04143872 | ||||
| New Experimental... | 12000746 | 1811 days ago | IN | 0 ETH | 0.0438061 | ||||
| New Experimental... | 12000292 | 1811 days ago | IN | 0 ETH | 0.06293914 | ||||
| New Experimental... | 11995380 | 1812 days ago | IN | 0 ETH | 0.04864672 | ||||
| New Experimental... | 11994509 | 1812 days ago | IN | 0 ETH | 0.05710311 | ||||
| New Experimental... | 11992803 | 1812 days ago | IN | 0 ETH | 0.08915172 | ||||
| New Experimental... | 11959338 | 1817 days ago | IN | 0 ETH | 0.04649854 | ||||
| New Experimental... | 11959332 | 1817 days ago | IN | 0 ETH | 0.04269411 | ||||
| New Experimental... | 11954961 | 1818 days ago | IN | 0 ETH | 0.03610893 | ||||
| New Experimental... | 11922864 | 1823 days ago | IN | 0 ETH | 0.04647581 | ||||
| New Experimental... | 11919820 | 1823 days ago | IN | 0 ETH | 0.04814417 | ||||
| New Experimental... | 11889144 | 1828 days ago | IN | 0 ETH | 0.0845846 | ||||
| New Experimental... | 11883020 | 1829 days ago | IN | 0 ETH | 0.0872412 | ||||
| New Experimental... | 11883016 | 1829 days ago | IN | 0 ETH | 0.08748614 | ||||
| New Experimental... | 11844142 | 1835 days ago | IN | 0 ETH | 0.05079826 | ||||
| New Experimental... | 11772672 | 1846 days ago | IN | 0 ETH | 0.0412515 | ||||
| New Experimental... | 11771659 | 1846 days ago | IN | 0 ETH | 0.0404684 | ||||
| New Experimental... | 11752208 | 1849 days ago | IN | 0 ETH | 0.0495018 | ||||
| New Experimental... | 11741970 | 1851 days ago | IN | 0 ETH | 0.02166312 | ||||
| New Experimental... | 11739204 | 1851 days ago | IN | 0 ETH | 0.02461575 | ||||
| New Experimental... | 11729923 | 1853 days ago | IN | 0 ETH | 0.01775562 |
Latest 25 internal transactions (View All)
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
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:
Vyper_contract
Compiler Version
vyper:0.2.8
Contract Source Code (Vyper language format)
# @version 0.2.8
interface Vault:
def token() -> address: view
def apiVersion() -> String[28]: view
def governance() -> address: view
def initialize(
token: address,
governance: address,
rewards: address,
name: String[64],
symbol: String[32],
guardian: address,
): nonpayable
# len(Vault.releases)
nextRelease: public(uint256)
releases: public(HashMap[uint256, address])
# Token.address => len(Vault.deployments)
nextDeployment: public(HashMap[address, uint256])
vaults: public(HashMap[address, HashMap[uint256, address]])
# 2-phase commit
governance: public(address)
pendingGovernance: address
tags: public(HashMap[address, String[120]])
banksy: public(HashMap[address, bool]) # could be anyone
event NewRelease:
release_id: indexed(uint256)
template: address
api_version: String[28]
event NewVault:
token: indexed(address)
deployment_id: indexed(uint256)
vault: address
api_version: String[28]
event NewExperimentalVault:
token: indexed(address)
deployer: indexed(address)
vault: address
api_version: String[28]
event NewGovernance:
governance: address
event VaultTagged:
vault: address
tag: String[120]
@external
def __init__():
self.governance = msg.sender
@external
def setGovernance(governance: address):
"""
@notice Starts the 1st phase of the governance transfer.
@dev Throws if the caller is not current governance.
@param governance The next governance address
"""
assert msg.sender == self.governance # dev: unauthorized
self.pendingGovernance = governance
@external
def acceptGovernance():
"""
@notice Completes the 2nd phase of the governance transfer.
@dev
Throws if the caller is not the pending caller.
Emits a `NewGovernance` event.
"""
assert msg.sender == self.pendingGovernance # dev: unauthorized
self.governance = msg.sender
log NewGovernance(msg.sender)
@view
@external
def latestRelease() -> String[28]:
"""
@notice Returns the api version of the latest release.
@dev Throws if no releases are registered yet.
@return The api version of the latest release.
"""
# NOTE: Throws if there has not been a release yet
return Vault(self.releases[self.nextRelease - 1]).apiVersion() # dev: no release
@view
@external
def latestVault(token: address) -> address:
"""
@notice Returns the latest deployed vault for the given token.
@dev Throws if no deployments are endorsed yet for the given token.
@param token The token address to find the latest deployment for.
@return The address of the latest deployment.
"""
# NOTE: Throws if there has not been a deployment yet for this token
return self.vaults[token][self.nextDeployment[token] - 1] # dev: no vault for token
@internal
def _registerRelease(vault: address):
# Check if the release is different from the current one
# NOTE: This doesn't check for strict semver-style linearly increasing release versions
release_id: uint256 = self.nextRelease # Next id in series
if release_id > 0:
assert (
Vault(self.releases[release_id - 1]).apiVersion()
!= Vault(vault).apiVersion()
) # dev: same api version
# else: we are adding the first release to the Registry!
# Update latest release
self.releases[release_id] = vault
self.nextRelease = release_id + 1
# Log the release for external listeners (e.g. Graph)
log NewRelease(release_id, vault, Vault(vault).apiVersion())
@internal
def _registerDeployment(token: address, vault: address):
# Check if there is an existing deployment for this token at the particular api version
# NOTE: This doesn't check for strict semver-style linearly increasing release versions
deployment_id: uint256 = self.nextDeployment[token] # Next id in series
if deployment_id > 0:
assert (
Vault(self.vaults[token][deployment_id - 1]).apiVersion()
!= Vault(vault).apiVersion()
) # dev: same api version
# else: we are adding a new token to the Registry
# Update the latest deployment
self.vaults[token][deployment_id] = vault
self.nextDeployment[token] = deployment_id + 1
# Log the deployment for external listeners (e.g. Graph)
log NewVault(token, deployment_id, vault, Vault(vault).apiVersion())
@external
def newRelease(vault: address):
"""
@notice
Add a previously deployed Vault as the template contract for the latest release,
to be used by further "forwarder-style" delegatecall proxy contracts that can be
deployed from the registry throw other methods (to save gas).
@dev
Throws if caller isn't `self.governance`.
Throws if `vault`'s governance isn't `self.governance`.
Throws if the api version is the same as the previous release.
Emits a `NewVault` event.
@param vault The vault that will be used as the template contract for the next release.
"""
assert msg.sender == self.governance # dev: unauthorized
assert Vault(vault).governance() == msg.sender # dev: not governed
self._registerRelease(vault)
self._registerDeployment(Vault(vault).token(), vault) # NOTE: Should never throw
@internal
def _newProxyVault(
token: address,
governance: address,
rewards: address,
guardian: address,
name: String[64],
symbol: String[32],
) -> address:
# NOTE: Underflow if no releases created yet (this is okay)
vault: address = create_forwarder_to(self.releases[self.nextRelease - 1]) # dev: no releases
# NOTE: Must initialize the Vault atomically with deploying it
Vault(vault).initialize(token, governance, rewards, name, symbol, guardian)
return vault
@external
def newVault(
token: address,
guardian: address,
rewards: address,
name: String[64],
symbol: String[32],
) -> address:
"""
@notice
Create a new vault for the given token using the latest release in the registry,
as a simple "forwarder-style" delegatecall proxy to the latest release. Also adds
the new vault to the list of "endorsed" vaults for that token.
@dev
`governance` is set in the new vault as `self.governance`, with no ability to override.
Throws if caller isn't `self.governance`.
Throws if no releases are registered yet.
Throws if there already is a deployment for the given token with the latest api version.
Emits a `NewVault` event.
@param token The token that may be deposited into the new Vault.
@param guardian The address authorized for guardian interactions in the new Vault.
@param rewards The address to use for collecting rewards in the new Vault
@param name Specify a custom Vault name. Set to empty string for default choice.
@param symbol Specify a custom Vault symbol name. Set to empty string for default choice.
@return The address of the newly-deployed vault
"""
assert msg.sender == self.governance # dev: unauthorized
vault: address = self._newProxyVault(token, msg.sender, rewards, guardian, name, symbol)
self._registerDeployment(token, vault)
return vault
@external
def newExperimentalVault(
token: address,
governance: address,
guardian: address,
rewards: address,
name: String[64],
symbol: String[32],
) -> address:
"""
@notice
Create a new vault for the given token using the latest release in the registry,
as a simple "forwarder-style" delegatecall proxy to the latest release. Does not add
the new vault to the list of "endorsed" vaults for that token.
@dev
Throws if no releases are registered yet.
Emits a `NewExperimentalVault` event.
@param token The token that may be deposited into the new Vault.
@param governance The address authorized for governance interactions in the new Vault.
@param guardian The address authorized for guardian interactions in the new Vault.
@param rewards The address to use for collecting rewards in the new Vault
@param name Specify a custom Vault name. Set to empty string for default choice.
@param symbol Specify a custom Vault symbol name. Set to empty string for default choice.
@return The address of the newly-deployed vault
"""
# NOTE: Anyone can call this method, as a convenience to Strategist' experiments
vault: address = self._newProxyVault(token, governance, rewards, guardian, name, symbol)
# NOTE: Not registered, so emit an "experiment" event here instead
log NewExperimentalVault(token, msg.sender, vault, Vault(vault).apiVersion())
return vault
@external
def endorseVault(vault: address):
"""
@notice
Adds an existing vault to the list of "endorsed" vaults for that token.
@dev
`governance` is set in the new vault as `self.governance`, with no ability to override.
Throws if caller isn't `self.governance`.
Throws if `vault`'s governance isn't `self.governance`.
Throws if no releases are registered yet.
Throws if `vault`'s api version does not match latest release.
Throws if there already is a deployment for the vault's token with the latest api version.
Emits a `NewVault` event.
@param vault The vault that will be endorsed by the Registry.
"""
assert msg.sender == self.governance # dev: unauthorized
assert Vault(vault).governance() == msg.sender # dev: not governed
# NOTE: Underflow if no releases created yet (this is okay)
api_version: String[28] = (
Vault(self.releases[self.nextRelease - 1]).apiVersion() # dev: no releases
)
assert Vault(vault).apiVersion() == api_version # dev: not latest release
# Add to the end of the list of vaults for token
self._registerDeployment(Vault(vault).token(), vault)
@external
def setBanksy(tagger: address, allowed: bool = True):
"""
@notice Set the ability of a particular tagger to tag current vaults.
@dev Throws if caller is not `self.governance`.
@param tagger The address to approve or deny access to tagging.
@param allowed Whether to approve or deny `tagger`. Defaults to approve.
"""
assert msg.sender == self.governance # dev: unauthorized
self.banksy[tagger] = allowed
@external
def tagVault(vault: address, tag: String[120]):
"""
@notice Tag a Vault with a message.
@dev
Throws if caller is not `self.governance` or an approved tagger.
Emits a `VaultTagged` event.
@param vault The address to tag with the given `tag` message.
@param tag The message to tag `vault` with.
"""
if msg.sender != self.governance:
assert self.banksy[msg.sender] # dev: not banksy
# else: we are governance, we can do anything banksy can do
self.tags[vault] = tag
log VaultTagged(vault, tag)Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"name":"NewRelease","inputs":[{"type":"uint256","name":"release_id","indexed":true},{"type":"address","name":"template","indexed":false},{"type":"string","name":"api_version","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewVault","inputs":[{"type":"address","name":"token","indexed":true},{"type":"uint256","name":"deployment_id","indexed":true},{"type":"address","name":"vault","indexed":false},{"type":"string","name":"api_version","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewExperimentalVault","inputs":[{"type":"address","name":"token","indexed":true},{"type":"address","name":"deployer","indexed":true},{"type":"address","name":"vault","indexed":false},{"type":"string","name":"api_version","indexed":false}],"anonymous":false,"type":"event"},{"name":"NewGovernance","inputs":[{"type":"address","name":"governance","indexed":false}],"anonymous":false,"type":"event"},{"name":"VaultTagged","inputs":[{"type":"address","name":"vault","indexed":false},{"type":"string","name":"tag","indexed":false}],"anonymous":false,"type":"event"},{"outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"name":"setGovernance","outputs":[],"inputs":[{"type":"address","name":"governance"}],"stateMutability":"nonpayable","type":"function","gas":36218},{"name":"acceptGovernance","outputs":[],"inputs":[],"stateMutability":"nonpayable","type":"function","gas":37490},{"name":"latestRelease","outputs":[{"type":"string","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":6804},{"name":"latestVault","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"token"}],"stateMutability":"view","type":"function","gas":2560},{"name":"newRelease","outputs":[],"inputs":[{"type":"address","name":"vault"}],"stateMutability":"nonpayable","type":"function","gas":166808},{"name":"newVault","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"token"},{"type":"address","name":"guardian"},{"type":"address","name":"rewards"},{"type":"string","name":"name"},{"type":"string","name":"symbol"}],"stateMutability":"nonpayable","type":"function","gas":136989},{"name":"newExperimentalVault","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"token"},{"type":"address","name":"governance"},{"type":"address","name":"guardian"},{"type":"address","name":"rewards"},{"type":"string","name":"name"},{"type":"string","name":"symbol"}],"stateMutability":"nonpayable","type":"function","gas":61714},{"name":"endorseVault","outputs":[],"inputs":[{"type":"address","name":"vault"}],"stateMutability":"nonpayable","type":"function","gas":88812},{"name":"setBanksy","outputs":[],"inputs":[{"type":"address","name":"tagger"}],"stateMutability":"nonpayable","type":"function"},{"name":"setBanksy","outputs":[],"inputs":[{"type":"address","name":"tagger"},{"type":"bool","name":"allowed"}],"stateMutability":"nonpayable","type":"function"},{"name":"tagVault","outputs":[],"inputs":[{"type":"address","name":"vault"},{"type":"string","name":"tag"}],"stateMutability":"nonpayable","type":"function","gas":186127},{"name":"nextRelease","outputs":[{"type":"uint256","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1451},{"name":"releases","outputs":[{"type":"address","name":""}],"inputs":[{"type":"uint256","name":"arg0"}],"stateMutability":"view","type":"function","gas":1596},{"name":"nextDeployment","outputs":[{"type":"uint256","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1726},{"name":"vaults","outputs":[{"type":"address","name":""}],"inputs":[{"type":"address","name":"arg0"},{"type":"uint256","name":"arg1"}],"stateMutability":"view","type":"function","gas":1871},{"name":"governance","outputs":[{"type":"address","name":""}],"inputs":[],"stateMutability":"view","type":"function","gas":1571},{"name":"tags","outputs":[{"type":"string","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":10172},{"name":"banksy","outputs":[{"type":"bool","name":""}],"inputs":[{"type":"address","name":"arg0"}],"stateMutability":"view","type":"function","gas":1846}]Contract Creation Code
336004556114ea56341561000a57600080fd5b6004361015610018576114dc565b600035601c5263ab033ea960005114156100525760043560a01c1561003c57600080fd5b600454331461004a57600080fd5b600435600555005b63238efcbc60005114156100a057600554331461006e57600080fd5b3360045533610140527f4f386975ea1c2f7cf1845b08bee00626fbb624ecad16254d63d9bb9ba86526de6020610140a1005b637be0ca5e60005114156101785760606101a0600463258294106101405261015c60016000546001808210156100d557600080fd5b8082039050905060e05260c052604060c020545afa6100f357600080fd5b603f3d1161010057600080fd5b601d6101a06101a05101511061011557600080fd5b6000506101c08051602001806102408284600060045af161013557600080fd5b5050610240518061026001818260206001820306601f82010390500336823750506020610220526040610240510160206001820306601f8201039050610220f350005b63e177dc7060005114156101e45760043560a01c1561019657600080fd5b600360043560e05260c052604060c020600260043560e05260c052604060c020546001808210156101c657600080fd5b8082039050905060e05260c052604060c0205460005260206000f350005b600015610429575b61016052610140526000546101805260006101805111156102d2576060610440600463258294106103e0526103fc610140515afa61022957600080fd5b603f3d1161023657600080fd5b601d6104406104405101511061024b57600080fd5b600050610460602001516060610380600463258294106103205261033c60016101805160018082101561027d57600080fd5b8082039050905060e05260c052604060c020545afa61029b57600080fd5b603f3d116102a857600080fd5b601d610380610380510151106102bd57600080fd5b6000506103a060200151186102d157600080fd5b5b6101405160016101805160e05260c052604060c020556101805160018181830110156102fd57600080fd5b808201905090506000556060610200600463258294106101a0526101bc610140515afa61032957600080fd5b603f3d1161033657600080fd5b601d6102006102005101511061034b57600080fd5b6000506102208051602001806102608284600060045af161036b57600080fd5b5050610140516103005260406102c0526102c051610320526102608051602001806102c051610300018284600060045af16103a557600080fd5b50506102c05161030001518060206102c051610300010101818260206001820306601f820103905003368237505060206102c051610300015160206001820306601f82010390506102c05101016102c052610180517fa6fbd216b6734f34092f1be6b7247e1551a6d4f2d5000c53721cfdc119a5b7cf6102c051610300a261016051565b6000156106b2575b61018052610140526101605260026101405160e05260c052604060c020546101a05260006101a0511115610539576060610460600463258294106104005261041c610160515afa61048157600080fd5b603f3d1161048e57600080fd5b601d610460610460510151106104a357600080fd5b6000506104806020015160606103a0600463258294106103405261035c60036101405160e05260c052604060c0206101a0516001808210156104e457600080fd5b8082039050905060e05260c052604060c020545afa61050257600080fd5b603f3d1161050f57600080fd5b601d6103a06103a05101511061052457600080fd5b6000506103c0602001511861053857600080fd5b5b6101605160036101405160e05260c052604060c0206101a05160e05260c052604060c020556101a051600181818301101561057357600080fd5b8082019050905060026101405160e05260c052604060c020556060610220600463258294106101c0526101dc610160515afa6105ae57600080fd5b603f3d116105bb57600080fd5b601d610220610220510151106105d057600080fd5b6000506102408051602001806102808284600060045af16105f057600080fd5b5050610160516103205260406102e0526102e051610340526102808051602001806102e051610320018284600060045af161062a57600080fd5b50506102e05161032001518060206102e051610320010101818260206001820306601f820103905003368237505060206102e051610320015160206001820306601f82010390506102e05101016102e0526101a051610140517fce089905ba4a4d622553bcb5646fd23e895c256f0376eee04e99e61cec1dc7e86102e051610320a361018051565b6333990d4b60005114156107bb5760043560a01c156106d057600080fd5b60045433146106de57600080fd5b3360206101a06004635aa6e6756101405261015c6004355afa61070057600080fd5b601f3d1161070d57600080fd5b6000506101a0511461071e57600080fd5b6004356101405261014051600658016101ec565b60005060206101a0600463fc0c546a6101405261015c6004355afa61075657600080fd5b601f3d1161076357600080fd5b6000506101a0516101c0526101405161016051610180516101a0516101c0516101c0516101e05260043561020052610200516101e05160065801610431565b6101c0526101a052610180526101605261014052600050005b6000156109d7575b610200526101405261016052610180526101a0526101c0526101e052610220526000610300525b6102205160206001820306601f82010390506103005110151561080c57610825565b61030051610240015261030051602001610300526107ea565b6102a0526000610300525b6102a05160206001820306601f8201039050610300511015156108525761086b565b610300516102c001526103005160200161030052610830565b6000507f6033600c60003960336000f33660006000376110006000366000730000000000610340526c0100000000000000000000000060016000546001808210156108b557600080fd5b8082039050905060e05260c052604060c020540261035b527f5af4602c57600080fd5b6110006000f30000000000000000000000000000000061036f5260606103406000f08061090457600080fd5b61032052610320513b61091657600080fd5b6000600061016460c063a5b81fdf6103405261014051610360526101605161038052610180516103a052806103c0526102208080516020018084610360018284600060045af161096557600080fd5b50508051820160206001820306601f8201039050602001915050806103e0526102a08080516020018084610360018284600060045af16109a457600080fd5b5050506101a0516104005261035c90506000610320515af16109c557600080fd5b61032051600052600051610200515650005b63108ca11e6000511415610c115760043560a01c156109f557600080fd5b60243560a01c15610a0557600080fd5b60443560a01c15610a1557600080fd5b6060606435600401610140376040606435600401351115610a3557600080fd5b60406084356004016101c0376020608435600401351115610a5557600080fd5b6004543314610a6357600080fd5b6101405161016051610180516101a0516101c0516101e051610200516102205160c0600435610240523361026052604435610280526024356102a052806102c0526101408080516020018084610240018284600060045af1610ac457600080fd5b50508051820160206001820306601f8201039050602001915050806102e0526101c08080516020018084610240018284600060045af1610b0357600080fd5b505050506102e051806102400180518060206001820306601f820103905082016103e0525050505b6103006103e0511015610b3d57610b52565b6103e0515160206103e051036103e052610b2b565b6102e0516102c0516102a051610280516102605161024051600658016107c3565b6104005261022052610200526101e0526101c0526101a05261018052610160526101405261040051610220526101405161016051610180516101a0516101c0516101e0516102005161022051600435610240526102205161026052610260516102405160065801610431565b61022052610200526101e0526101c0526101a0526101805261016052610140526000506102205160005260206000f350005b635b73aa0d6000511415610f085760043560a01c15610c2f57600080fd5b60243560a01c15610c3f57600080fd5b60443560a01c15610c4f57600080fd5b60643560a01c15610c5f57600080fd5b6060608435600401610140376040608435600401351115610c7f57600080fd5b604060a4356004016101c037602060a435600401351115610c9f57600080fd5b6101405161016051610180516101a0516101c0516101e051610200516102205160c06004356102405260243561026052606435610280526044356102a052806102c0526101408080516020018084610240018284600060045af1610d0257600080fd5b50508051820160206001820306601f8201039050602001915050806102e0526101c08080516020018084610240018284600060045af1610d4157600080fd5b505050506102e051806102400180518060206001820306601f820103905082016103e0525050505b6103006103e0511015610d7b57610d90565b6103e0515160206103e051036103e052610d69565b6102e0516102c0516102a051610280516102605161024051600658016107c3565b6104005261022052610200526101e0526101c0526101a052610180526101605261014052610400516102205260606102a0600463258294106102405261025c610220515afa610dff57600080fd5b603f3d11610e0c57600080fd5b601d6102a06102a051015110610e2157600080fd5b6000506102c08051602001806103008284600060045af1610e4157600080fd5b5050610220516103a052604061036052610360516103c052610300805160200180610360516103a0018284600060045af1610e7b57600080fd5b5050610360516103a00151806020610360516103a0010101818260206001820306601f82010390500336823750506020610360516103a0015160206001820306601f820103905061036051010161036052336004357f57a9cdc2a05e05f66e76769bdbe88e21ec45d9ee0f97d4cb60395d4c75dcbcda610360516103a0a36102205160005260206000f350005b6329b2e0c660005114156110f65760043560a01c15610f2657600080fd5b6004543314610f3457600080fd5b3360206101a06004635aa6e6756101405261015c6004355afa610f5657600080fd5b601f3d11610f6357600080fd5b6000506101a05114610f7457600080fd5b6060610200600463258294106101a0526101bc6001600054600180821015610f9b57600080fd5b8082039050905060e05260c052604060c020545afa610fb957600080fd5b603f3d11610fc657600080fd5b601d61020061020051015110610fdb57600080fd5b6000506102208051602001806101408284600060045af1610ffb57600080fd5b50506101605160606102c0600463258294106102605261027c6004355afa61102257600080fd5b603f3d1161102f57600080fd5b601d6102c06102c05101511061104457600080fd5b6000506102e0602001511461105857600080fd5b6020610200600463fc0c546a6101a0526101bc6004355afa61107957600080fd5b601f3d1161108657600080fd5b60005061020051610220526101405161016051610180516101a0516101c0516101e0516102005161022051610220516102405260043561026052610260516102405160065801610431565b61022052610200526101e0526101c0526101a052610180526101605261014052600050005b632cad8f9f600051141561110f57600161014052611145565b635e05f6af600051141561113d5760243560011c1561112d57600080fd5b6020602461014037600050611145565b60001561117a575b60043560a01c1561115557600080fd5b600454331461116357600080fd5b61014051600760043560e05260c052604060c02055005b6360bd68f860005114156112f65760043560a01c1561119857600080fd5b60986024356004016101403760786024356004013511156111b857600080fd5b6004543318156111db5760073360e05260c052604060c020546111da57600080fd5b5b61014080600660043560e05260c052604060c02060c052602060c020602082510161012060006005818352015b8261012051602002111561121b5761123d565b61012051602002850151610120518501555b8151600101808352811415611208575b50505050505060043561024052604061020052610200516102605261014080516020018061020051610240018284600060045af161127a57600080fd5b505061020051610240015180602061020051610240010101818260206001820306601f8201039050033682375050602061020051610240015160206001820306601f8201039050610200510101610200527f07bd58794c2ca0ae152f7719eb5f02c654476de972cadec0e8191ae8be42096d61020051610240a1005b63a157190260005114156113125760005460005260206000f350005b63b6a9f40f600051141561133c57600160043560e05260c052604060c0205460005260206000f350005b63ba7ee48c60005114156113765760043560a01c1561135a57600080fd5b600260043560e05260c052604060c0205460005260206000f350005b637bbfc69e60005114156113be5760043560a01c1561139457600080fd5b600360043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b635aa6e67560005114156113da5760045460005260206000f350005b6358b8f84260005114156114a15760043560a01c156113f857600080fd5b600660043560e05260c052604060c0208060c052602060c020610180602082540161012060006005818352015b826101205160200211156114385761145a565b61012051850154610120516020028501525b8151600101808352811415611425575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63ee711ed560005114156114db5760043560a01c156114bf57600080fd5b600760043560e05260c052604060c0205460005260206000f350005b5b60006000fd5b6100086114ea036100086000396100086114ea036000f3
Deployed Bytecode
0x341561000a57600080fd5b6004361015610018576114dc565b600035601c5263ab033ea960005114156100525760043560a01c1561003c57600080fd5b600454331461004a57600080fd5b600435600555005b63238efcbc60005114156100a057600554331461006e57600080fd5b3360045533610140527f4f386975ea1c2f7cf1845b08bee00626fbb624ecad16254d63d9bb9ba86526de6020610140a1005b637be0ca5e60005114156101785760606101a0600463258294106101405261015c60016000546001808210156100d557600080fd5b8082039050905060e05260c052604060c020545afa6100f357600080fd5b603f3d1161010057600080fd5b601d6101a06101a05101511061011557600080fd5b6000506101c08051602001806102408284600060045af161013557600080fd5b5050610240518061026001818260206001820306601f82010390500336823750506020610220526040610240510160206001820306601f8201039050610220f350005b63e177dc7060005114156101e45760043560a01c1561019657600080fd5b600360043560e05260c052604060c020600260043560e05260c052604060c020546001808210156101c657600080fd5b8082039050905060e05260c052604060c0205460005260206000f350005b600015610429575b61016052610140526000546101805260006101805111156102d2576060610440600463258294106103e0526103fc610140515afa61022957600080fd5b603f3d1161023657600080fd5b601d6104406104405101511061024b57600080fd5b600050610460602001516060610380600463258294106103205261033c60016101805160018082101561027d57600080fd5b8082039050905060e05260c052604060c020545afa61029b57600080fd5b603f3d116102a857600080fd5b601d610380610380510151106102bd57600080fd5b6000506103a060200151186102d157600080fd5b5b6101405160016101805160e05260c052604060c020556101805160018181830110156102fd57600080fd5b808201905090506000556060610200600463258294106101a0526101bc610140515afa61032957600080fd5b603f3d1161033657600080fd5b601d6102006102005101511061034b57600080fd5b6000506102208051602001806102608284600060045af161036b57600080fd5b5050610140516103005260406102c0526102c051610320526102608051602001806102c051610300018284600060045af16103a557600080fd5b50506102c05161030001518060206102c051610300010101818260206001820306601f820103905003368237505060206102c051610300015160206001820306601f82010390506102c05101016102c052610180517fa6fbd216b6734f34092f1be6b7247e1551a6d4f2d5000c53721cfdc119a5b7cf6102c051610300a261016051565b6000156106b2575b61018052610140526101605260026101405160e05260c052604060c020546101a05260006101a0511115610539576060610460600463258294106104005261041c610160515afa61048157600080fd5b603f3d1161048e57600080fd5b601d610460610460510151106104a357600080fd5b6000506104806020015160606103a0600463258294106103405261035c60036101405160e05260c052604060c0206101a0516001808210156104e457600080fd5b8082039050905060e05260c052604060c020545afa61050257600080fd5b603f3d1161050f57600080fd5b601d6103a06103a05101511061052457600080fd5b6000506103c0602001511861053857600080fd5b5b6101605160036101405160e05260c052604060c0206101a05160e05260c052604060c020556101a051600181818301101561057357600080fd5b8082019050905060026101405160e05260c052604060c020556060610220600463258294106101c0526101dc610160515afa6105ae57600080fd5b603f3d116105bb57600080fd5b601d610220610220510151106105d057600080fd5b6000506102408051602001806102808284600060045af16105f057600080fd5b5050610160516103205260406102e0526102e051610340526102808051602001806102e051610320018284600060045af161062a57600080fd5b50506102e05161032001518060206102e051610320010101818260206001820306601f820103905003368237505060206102e051610320015160206001820306601f82010390506102e05101016102e0526101a051610140517fce089905ba4a4d622553bcb5646fd23e895c256f0376eee04e99e61cec1dc7e86102e051610320a361018051565b6333990d4b60005114156107bb5760043560a01c156106d057600080fd5b60045433146106de57600080fd5b3360206101a06004635aa6e6756101405261015c6004355afa61070057600080fd5b601f3d1161070d57600080fd5b6000506101a0511461071e57600080fd5b6004356101405261014051600658016101ec565b60005060206101a0600463fc0c546a6101405261015c6004355afa61075657600080fd5b601f3d1161076357600080fd5b6000506101a0516101c0526101405161016051610180516101a0516101c0516101c0516101e05260043561020052610200516101e05160065801610431565b6101c0526101a052610180526101605261014052600050005b6000156109d7575b610200526101405261016052610180526101a0526101c0526101e052610220526000610300525b6102205160206001820306601f82010390506103005110151561080c57610825565b61030051610240015261030051602001610300526107ea565b6102a0526000610300525b6102a05160206001820306601f8201039050610300511015156108525761086b565b610300516102c001526103005160200161030052610830565b6000507f6033600c60003960336000f33660006000376110006000366000730000000000610340526c0100000000000000000000000060016000546001808210156108b557600080fd5b8082039050905060e05260c052604060c020540261035b527f5af4602c57600080fd5b6110006000f30000000000000000000000000000000061036f5260606103406000f08061090457600080fd5b61032052610320513b61091657600080fd5b6000600061016460c063a5b81fdf6103405261014051610360526101605161038052610180516103a052806103c0526102208080516020018084610360018284600060045af161096557600080fd5b50508051820160206001820306601f8201039050602001915050806103e0526102a08080516020018084610360018284600060045af16109a457600080fd5b5050506101a0516104005261035c90506000610320515af16109c557600080fd5b61032051600052600051610200515650005b63108ca11e6000511415610c115760043560a01c156109f557600080fd5b60243560a01c15610a0557600080fd5b60443560a01c15610a1557600080fd5b6060606435600401610140376040606435600401351115610a3557600080fd5b60406084356004016101c0376020608435600401351115610a5557600080fd5b6004543314610a6357600080fd5b6101405161016051610180516101a0516101c0516101e051610200516102205160c0600435610240523361026052604435610280526024356102a052806102c0526101408080516020018084610240018284600060045af1610ac457600080fd5b50508051820160206001820306601f8201039050602001915050806102e0526101c08080516020018084610240018284600060045af1610b0357600080fd5b505050506102e051806102400180518060206001820306601f820103905082016103e0525050505b6103006103e0511015610b3d57610b52565b6103e0515160206103e051036103e052610b2b565b6102e0516102c0516102a051610280516102605161024051600658016107c3565b6104005261022052610200526101e0526101c0526101a05261018052610160526101405261040051610220526101405161016051610180516101a0516101c0516101e0516102005161022051600435610240526102205161026052610260516102405160065801610431565b61022052610200526101e0526101c0526101a0526101805261016052610140526000506102205160005260206000f350005b635b73aa0d6000511415610f085760043560a01c15610c2f57600080fd5b60243560a01c15610c3f57600080fd5b60443560a01c15610c4f57600080fd5b60643560a01c15610c5f57600080fd5b6060608435600401610140376040608435600401351115610c7f57600080fd5b604060a4356004016101c037602060a435600401351115610c9f57600080fd5b6101405161016051610180516101a0516101c0516101e051610200516102205160c06004356102405260243561026052606435610280526044356102a052806102c0526101408080516020018084610240018284600060045af1610d0257600080fd5b50508051820160206001820306601f8201039050602001915050806102e0526101c08080516020018084610240018284600060045af1610d4157600080fd5b505050506102e051806102400180518060206001820306601f820103905082016103e0525050505b6103006103e0511015610d7b57610d90565b6103e0515160206103e051036103e052610d69565b6102e0516102c0516102a051610280516102605161024051600658016107c3565b6104005261022052610200526101e0526101c0526101a052610180526101605261014052610400516102205260606102a0600463258294106102405261025c610220515afa610dff57600080fd5b603f3d11610e0c57600080fd5b601d6102a06102a051015110610e2157600080fd5b6000506102c08051602001806103008284600060045af1610e4157600080fd5b5050610220516103a052604061036052610360516103c052610300805160200180610360516103a0018284600060045af1610e7b57600080fd5b5050610360516103a00151806020610360516103a0010101818260206001820306601f82010390500336823750506020610360516103a0015160206001820306601f820103905061036051010161036052336004357f57a9cdc2a05e05f66e76769bdbe88e21ec45d9ee0f97d4cb60395d4c75dcbcda610360516103a0a36102205160005260206000f350005b6329b2e0c660005114156110f65760043560a01c15610f2657600080fd5b6004543314610f3457600080fd5b3360206101a06004635aa6e6756101405261015c6004355afa610f5657600080fd5b601f3d11610f6357600080fd5b6000506101a05114610f7457600080fd5b6060610200600463258294106101a0526101bc6001600054600180821015610f9b57600080fd5b8082039050905060e05260c052604060c020545afa610fb957600080fd5b603f3d11610fc657600080fd5b601d61020061020051015110610fdb57600080fd5b6000506102208051602001806101408284600060045af1610ffb57600080fd5b50506101605160606102c0600463258294106102605261027c6004355afa61102257600080fd5b603f3d1161102f57600080fd5b601d6102c06102c05101511061104457600080fd5b6000506102e0602001511461105857600080fd5b6020610200600463fc0c546a6101a0526101bc6004355afa61107957600080fd5b601f3d1161108657600080fd5b60005061020051610220526101405161016051610180516101a0516101c0516101e0516102005161022051610220516102405260043561026052610260516102405160065801610431565b61022052610200526101e0526101c0526101a052610180526101605261014052600050005b632cad8f9f600051141561110f57600161014052611145565b635e05f6af600051141561113d5760243560011c1561112d57600080fd5b6020602461014037600050611145565b60001561117a575b60043560a01c1561115557600080fd5b600454331461116357600080fd5b61014051600760043560e05260c052604060c02055005b6360bd68f860005114156112f65760043560a01c1561119857600080fd5b60986024356004016101403760786024356004013511156111b857600080fd5b6004543318156111db5760073360e05260c052604060c020546111da57600080fd5b5b61014080600660043560e05260c052604060c02060c052602060c020602082510161012060006005818352015b8261012051602002111561121b5761123d565b61012051602002850151610120518501555b8151600101808352811415611208575b50505050505060043561024052604061020052610200516102605261014080516020018061020051610240018284600060045af161127a57600080fd5b505061020051610240015180602061020051610240010101818260206001820306601f8201039050033682375050602061020051610240015160206001820306601f8201039050610200510101610200527f07bd58794c2ca0ae152f7719eb5f02c654476de972cadec0e8191ae8be42096d61020051610240a1005b63a157190260005114156113125760005460005260206000f350005b63b6a9f40f600051141561133c57600160043560e05260c052604060c0205460005260206000f350005b63ba7ee48c60005114156113765760043560a01c1561135a57600080fd5b600260043560e05260c052604060c0205460005260206000f350005b637bbfc69e60005114156113be5760043560a01c1561139457600080fd5b600360043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b635aa6e67560005114156113da5760045460005260206000f350005b6358b8f84260005114156114a15760043560a01c156113f857600080fd5b600660043560e05260c052604060c0208060c052602060c020610180602082540161012060006005818352015b826101205160200211156114385761145a565b61012051850154610120516020028501525b8151600101808352811415611425575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63ee711ed560005114156114db5760043560a01c156114bf57600080fd5b600760043560e05260c052604060c0205460005260206000f350005b5b60006000fd
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.