Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 3 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
28452969 | 792 days ago | Contract Creation | 0 ETH | |||
28452969 | 792 days ago | Contract Creation | 0 ETH | |||
28452969 | 792 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.7
Contract Source Code (Vyper language format)
# @version 0.3.7 """ @title Optimism Relayer @author CurveFi """ interface IAgent: def execute(_messages: DynArray[Message, MAX_MESSAGES]): nonpayable interface IMessenger: def xDomainMessageSender() -> address: view enum Agent: OWNERSHIP PARAMETER EMERGENCY struct Message: target: address data: Bytes[MAX_BYTES] MAX_BYTES: constant(uint256) = 1024 MAX_MESSAGES: constant(uint256) = 8 CODE_OFFSET: constant(uint256) = 3 MESSENGER: public(immutable(address)) OWNERSHIP_AGENT: public(immutable(address)) PARAMETER_AGENT: public(immutable(address)) EMERGENCY_AGENT: public(immutable(address)) agent: HashMap[Agent, address] @external def __init__(_agent_blueprint: address, _messenger: address): MESSENGER = _messenger OWNERSHIP_AGENT = create_from_blueprint(_agent_blueprint, code_offset=CODE_OFFSET) PARAMETER_AGENT = create_from_blueprint(_agent_blueprint, code_offset=CODE_OFFSET) EMERGENCY_AGENT = create_from_blueprint(_agent_blueprint, code_offset=CODE_OFFSET) self.agent[Agent.OWNERSHIP] = OWNERSHIP_AGENT self.agent[Agent.PARAMETER] = PARAMETER_AGENT self.agent[Agent.EMERGENCY] = EMERGENCY_AGENT @external def relay(_agent: Agent, _messages: DynArray[Message, MAX_MESSAGES]): """ @notice Receive messages for an agent and relay them. @param _agent The agent to relay messages to. @param _messages The sequence of messages to relay. """ assert msg.sender == MESSENGER assert IMessenger(MESSENGER).xDomainMessageSender() == self IAgent(self.agent[_agent]).execute(_messages)
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_agent_blueprint","type":"address"},{"name":"_messenger","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"relay","inputs":[{"name":"_agent","type":"uint256"},{"name":"_messages","type":"tuple[]","components":[{"name":"target","type":"address"},{"name":"data","type":"bytes"}]}],"outputs":[]},{"stateMutability":"view","type":"function","name":"MESSENGER","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"OWNERSHIP_AGENT","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"PARAMETER_AGENT","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"EMERGENCY_AGENT","inputs":[],"outputs":[{"name":"","type":"address"}]}]
Contract Creation Code
60206103e86000396000518060a01c6103e35760405260206104086000396000518060a01c6103e357606052346103e3576060516102d9526040516003813b0359600182126103e35781600382853c81816000f080156103e3579050905090506102f9526040516003813b0359600182126103e35781600382853c81816000f080156103e357905090509050610319526040516003813b0359600182126103e35781600382853c81816000f080156103e357905090509050610339526102f95160006001602052600052604060002055610319516000600260205260005260406000205561033951600060046020526000526040600020556102d961010961000039610359610000f36003361161000c576102c1565b60003560e01c346102c75763f6caf910811861022357606436106102c7576004358060031c6102c75760405260243560040160088135116102c757803580606052600081600881116102c75780156100bc57905b61044081026080018160051b602086010135602086010180358060a01c6102c7578252602081013581016104008135116102c7578035806020850152602082016020602086010182828237505050505050600101818118610060575b5050505060206102d960003960005133186102c7573060206102d9600039600051636e296e45612280526020612280600461229c845afa610102573d600060003e3d6000fd5b60203d106102c757612280518060a01c6102c7576122c0526122c0905051186102c757600060405160205260005260406000205463baae8abf612280526020806122a052806122a00160006060518083528060051b600082600881116102c75780156101ea57905b828160051b602088010152610440810260800183602088010160408251825280602083015260208301818301815180825260208301602083018281848460045afa505050508051806020830101601f82600003163682375050601f19601f825160200101169050905081019050905090508301925060010181811861016a575b50508201602001915050905081015050803b156102c757600061228061244461229c6000855af1610220573d600060003e3d6000fd5b50005b63927ede2d811861024a57600436106102c75760206102d960003960005160405260206040f35b63b8eee20e811861027157600436106102c75760206102f960003960005160405260206040f35b633175905b811861029857600436106102c757602061031960003960005160405260206040f35b63c67aac4781186102bf57600436106102c757602061033960003960005160405260206040f35b505b60006000fd5b600080fda165767970657283000307000b005b600080fd000000000000000000000000c5fd5d3b06a8ef50b911972ca313e4d327f7c0ac0000000000000000000000004200000000000000000000000000000000000007
Deployed Bytecode
0x6003361161000c576102c1565b60003560e01c346102c75763f6caf910811861022357606436106102c7576004358060031c6102c75760405260243560040160088135116102c757803580606052600081600881116102c75780156100bc57905b61044081026080018160051b602086010135602086010180358060a01c6102c7578252602081013581016104008135116102c7578035806020850152602082016020602086010182828237505050505050600101818118610060575b5050505060206102d960003960005133186102c7573060206102d9600039600051636e296e45612280526020612280600461229c845afa610102573d600060003e3d6000fd5b60203d106102c757612280518060a01c6102c7576122c0526122c0905051186102c757600060405160205260005260406000205463baae8abf612280526020806122a052806122a00160006060518083528060051b600082600881116102c75780156101ea57905b828160051b602088010152610440810260800183602088010160408251825280602083015260208301818301815180825260208301602083018281848460045afa505050508051806020830101601f82600003163682375050601f19601f825160200101169050905081019050905090508301925060010181811861016a575b50508201602001915050905081015050803b156102c757600061228061244461229c6000855af1610220573d600060003e3d6000fd5b50005b63927ede2d811861024a57600436106102c75760206102d960003960005160405260206040f35b63b8eee20e811861027157600436106102c75760206102f960003960005160405260206040f35b633175905b811861029857600436106102c757602061031960003960005160405260206040f35b63c67aac4781186102bf57600436106102c757602061033960003960005160405260206040f35b505b60006000fd5b600080fda165767970657283000307000b000000000000000000000000420000000000000000000000000000000000000700000000000000000000000028c4a1fa47eee9226f8de7d6af0a41c62ca98267000000000000000000000000e7f2b72e94d1c2497150c24ea8d65afff1027b9b0000000000000000000000009ff1dde4be9bbd891836863d227248047b3d881b
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c5fd5d3b06a8ef50b911972ca313e4d327f7c0ac0000000000000000000000004200000000000000000000000000000000000007
-----Decoded View---------------
Arg [0] : _agent_blueprint (address): 0xC5fd5D3b06a8ef50b911972CA313E4d327F7c0aC
Arg [1] : _messenger (address): 0x4200000000000000000000000000000000000007
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c5fd5d3b06a8ef50b911972ca313e4d327f7c0ac
Arg [1] : 0000000000000000000000004200000000000000000000000000000000000007
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.