Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 182864719 | 627 days ago | Contract Creation | 0 ETH |
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 Name:
LlamaExecutor
Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled:
Yes with 10000000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.19; /// @title Llama Executor /// @author Llama ([email protected]) /// @notice The exit point of a Llama instance. It calls the target contract during action execution. contract LlamaExecutor { /// @dev Only callable by a Llama instance's core contract. error OnlyLlamaCore(); /// @notice The core contract for this Llama instance. address public immutable LLAMA_CORE; /// @dev This contract is deployed from the core's `initialize` function. constructor() { LLAMA_CORE = msg.sender; } /// @notice Called by `executeAction` in the core contract to make the call described by the action. /// @dev Using a separate executor contract ensures `target` being delegatecalled cannot write to `LlamaCore`'s /// storage. By using a sole executor for calls and delegatecalls, /// a Llama instance is represented by one contract address. /// @param target The contract called when the action is executed. /// @param isScript A boolean that determines if the target is a script and should be delegatecalled. /// @param data Data to be called on the `target` when the action is executed. /// @return success A boolean that indicates if the call succeeded. /// @return result The data returned by the function being called. function execute(address target, bool isScript, bytes calldata data) external payable returns (bool success, bytes memory result) { if (msg.sender != LLAMA_CORE) revert OnlyLlamaCore(); (success, result) = isScript ? target.delegatecall(data) : target.call{value: msg.value}(data); } }
{
"remappings": [
"@openzeppelin/=lib/openzeppelin-contracts/contracts/",
"@solmate/=lib/solmate/src/",
"@solady/=lib/solady/src/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"solady/=lib/solady/src/",
"solmate/=lib/solmate/src/"
],
"optimizer": {
"enabled": true,
"runs": 10000000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "none",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "paris",
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"OnlyLlamaCore","type":"error"},{"inputs":[],"name":"LLAMA_CORE","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"isScript","type":"bool"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"execute","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"payable","type":"function"}]Contract Creation Code
60a060405234801561001057600080fd5b503360805260805161034e610035600039600081816040015260c9015261034e6000f3fe6080604052600436106100295760003560e01c80638c718d261461002e578063e27c3e911461008c575b600080fd5b34801561003a57600080fd5b506100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009f61009a36600461020b565b6100ad565b6040516100839291906102bb565b600060603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610120576040517f9ab3dc8f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84610195578573ffffffffffffffffffffffffffffffffffffffff1634858560405161014d929190610331565b60006040518083038185875af1925050503d806000811461018a576040519150601f19603f3d011682016040523d82523d6000602084013e61018f565b606091505b506101fe565b8573ffffffffffffffffffffffffffffffffffffffff1684846040516101bc929190610331565b600060405180830381855af49150503d80600081146101f7576040519150601f19603f3d011682016040523d82523d6000602084013e6101fc565b606091505b505b9097909650945050505050565b6000806000806060858703121561022157600080fd5b843573ffffffffffffffffffffffffffffffffffffffff8116811461024557600080fd5b93506020850135801515811461025a57600080fd5b9250604085013567ffffffffffffffff8082111561027757600080fd5b818701915087601f83011261028b57600080fd5b81358181111561029a57600080fd5b8860208285010111156102ac57600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b818110156102f1578581018301518582016060015282016102d5565b5060006060828601015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509392505050565b818382376000910190815291905056fea164736f6c6343000813000a
Deployed Bytecode
0x6080604052600436106100295760003560e01c80638c718d261461002e578063e27c3e911461008c575b600080fd5b34801561003a57600080fd5b506100627f0000000000000000000000003fbf68f2dd0741567e425567837bd33fe841e9d581565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009f61009a36600461020b565b6100ad565b6040516100839291906102bb565b600060603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000003fbf68f2dd0741567e425567837bd33fe841e9d51614610120576040517f9ab3dc8f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84610195578573ffffffffffffffffffffffffffffffffffffffff1634858560405161014d929190610331565b60006040518083038185875af1925050503d806000811461018a576040519150601f19603f3d011682016040523d82523d6000602084013e61018f565b606091505b506101fe565b8573ffffffffffffffffffffffffffffffffffffffff1684846040516101bc929190610331565b600060405180830381855af49150503d80600081146101f7576040519150601f19603f3d011682016040523d82523d6000602084013e6101fc565b606091505b505b9097909650945050505050565b6000806000806060858703121561022157600080fd5b843573ffffffffffffffffffffffffffffffffffffffff8116811461024557600080fd5b93506020850135801515811461025a57600080fd5b9250604085013567ffffffffffffffff8082111561027757600080fd5b818701915087601f83011261028b57600080fd5b81358181111561029a57600080fd5b8860208285010111156102ac57600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b818110156102f1578581018301518582016060015282016102d5565b5060006060828601015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509392505050565b818382376000910190815291905056fea164736f6c6343000813000a
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
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.