ETH Price: $3,528.83 (+4.53%)

Contract

0xFf114Dc71D11522ADB4eafb486540fb2Da054fA3

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

1 Internal Transaction found.

Latest 1 internal transaction

Parent Transaction Hash Block From To
1828647192024-02-21 2:44:15627 days ago1708483455  Contract Creation0 ETH

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LlamaExecutor

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 10000000 runs

Other Settings:
paris EvmVersion
// 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);
  }
}

Settings
{
  "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

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"}]

60a060405234801561001057600080fd5b503360805260805161034e610035600039600081816040015260c9015261034e6000f3fe6080604052600436106100295760003560e01c80638c718d261461002e578063e27c3e911461008c575b600080fd5b34801561003a57600080fd5b506100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009f61009a36600461020b565b6100ad565b6040516100839291906102bb565b600060603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610120576040517f9ab3dc8f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84610195578573ffffffffffffffffffffffffffffffffffffffff1634858560405161014d929190610331565b60006040518083038185875af1925050503d806000811461018a576040519150601f19603f3d011682016040523d82523d6000602084013e61018f565b606091505b506101fe565b8573ffffffffffffffffffffffffffffffffffffffff1684846040516101bc929190610331565b600060405180830381855af49150503d80600081146101f7576040519150601f19603f3d011682016040523d82523d6000602084013e6101fc565b606091505b505b9097909650945050505050565b6000806000806060858703121561022157600080fd5b843573ffffffffffffffffffffffffffffffffffffffff8116811461024557600080fd5b93506020850135801515811461025a57600080fd5b9250604085013567ffffffffffffffff8082111561027757600080fd5b818701915087601f83011261028b57600080fd5b81358181111561029a57600080fd5b8860208285010111156102ac57600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b818110156102f1578581018301518582016060015282016102d5565b5060006060828601015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509392505050565b818382376000910190815291905056fea164736f6c6343000813000a

Deployed Bytecode

0x6080604052600436106100295760003560e01c80638c718d261461002e578063e27c3e911461008c575b600080fd5b34801561003a57600080fd5b506100627f0000000000000000000000003fbf68f2dd0741567e425567837bd33fe841e9d581565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009f61009a36600461020b565b6100ad565b6040516100839291906102bb565b600060603373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000003fbf68f2dd0741567e425567837bd33fe841e9d51614610120576040517f9ab3dc8f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84610195578573ffffffffffffffffffffffffffffffffffffffff1634858560405161014d929190610331565b60006040518083038185875af1925050503d806000811461018a576040519150601f19603f3d011682016040523d82523d6000602084013e61018f565b606091505b506101fe565b8573ffffffffffffffffffffffffffffffffffffffff1684846040516101bc929190610331565b600060405180830381855af49150503d80600081146101f7576040519150601f19603f3d011682016040523d82523d6000602084013e6101fc565b606091505b505b9097909650945050505050565b6000806000806060858703121561022157600080fd5b843573ffffffffffffffffffffffffffffffffffffffff8116811461024557600080fd5b93506020850135801515811461025a57600080fd5b9250604085013567ffffffffffffffff8082111561027757600080fd5b818701915087601f83011261028b57600080fd5b81358181111561029a57600080fd5b8860208285010111156102ac57600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b818110156102f1578581018301518582016060015282016102d5565b5060006060828601015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509392505050565b818382376000910190815291905056fea164736f6c6343000813000a

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.