ETH Price: $3,283.48 (-3.27%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

> 10 Internal Transactions and > 10 Token Transfers found.

Latest 17 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
185549532023-11-12 9:31:11423 days ago1699781471
0xF9A63965...867285e91
0.01 ETH
185549532023-11-12 9:31:11423 days ago1699781471
0xF9A63965...867285e91
0.01 ETH
185188332023-11-07 8:17:59428 days ago1699345079
0xF9A63965...867285e91
0.001 ETH
185188332023-11-07 8:17:59428 days ago1699345079
0xF9A63965...867285e91
0.001 ETH
184778832023-11-01 14:34:59434 days ago1698849299
0xF9A63965...867285e91
0.003 ETH
184778832023-11-01 14:34:59434 days ago1698849299
0xF9A63965...867285e91
0.003 ETH
184706152023-10-31 14:10:35435 days ago1698761435
0xF9A63965...867285e91
0.03 ETH
184706152023-10-31 14:10:35435 days ago1698761435
0xF9A63965...867285e91
0.03 ETH
184705062023-10-31 13:48:47435 days ago1698760127
0xF9A63965...867285e91
0.0025 ETH
184705062023-10-31 13:48:47435 days ago1698760127
0xF9A63965...867285e91
0.0025 ETH
184702562023-10-31 12:57:47435 days ago1698757067
0xF9A63965...867285e91
0.003 ETH
184702562023-10-31 12:57:47435 days ago1698757067
0xF9A63965...867285e91
0.003 ETH
184698582023-10-31 11:37:59435 days ago1698752279
0xF9A63965...867285e91
0.01 ETH
184698582023-10-31 11:37:59435 days ago1698752279
0xF9A63965...867285e91
0.01 ETH
184698002023-10-31 11:26:11435 days ago1698751571
0xF9A63965...867285e91
0.01 ETH
184698002023-10-31 11:26:11435 days ago1698751571
0xF9A63965...867285e91
0.01 ETH
184698002023-10-31 11:26:11435 days ago1698751571  Contract Creation0 ETH
Loading...
Loading

Minimal Proxy Contract for 0x79c97a37d4f384dc4edae5d7cea4205d9be65a3a

Contract Name:
Account

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 4 : Account.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

import {Errors} from "src/libraries/Errors.sol";
import {IAccount} from "src/q/interfaces/IAccount.sol";
import {IOperator} from "src/storage/interfaces/IOperator.sol";

/// @title Account
/// @notice Contract which is cloned and deployed for every `trader` interacting with STFX or OZO
contract Account is IAccount {
    /*//////////////////////////////////////////////////////////////
                        STATE VARIABLES
    //////////////////////////////////////////////////////////////*/

    address private immutable OPERATOR;

    /*//////////////////////////////////////////////////////////////
                            CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(address _operator) {
        OPERATOR = _operator;
    }

    receive() external payable {}

    /*//////////////////////////////////////////////////////////////
                        EXTERNAL FUNCTIONS
    //////////////////////////////////////////////////////////////*/

    /// @notice function to execute trades logic
    /// @dev can only be called by a plugin
    /// @param adapter address of the contract to execute logic
    /// @param data calldata of the function to execute logic
    function execute(address adapter, bytes calldata data, uint256 ethToSend) external payable returns (bytes memory) {
        bool isPlugin = IOperator(OPERATOR).getPlugin(msg.sender);
        if (!isPlugin) revert Errors.NoAccess();
        (bool success, bytes memory returnData) = adapter.call{value: ethToSend}(data);
        if (!success) revert Errors.CallFailed(returnData);
        return returnData;
    }
}

File 2 of 4 : Errors.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

library Errors {
    // Zero Errors
    error ZeroAmount();
    error ZeroAddress();
    error ZeroTotalRaised();
    error ZeroClaimableAmount();

    // Modifier Errors
    error NotOwner();
    error NotAdmin();
    error CallerNotVault();
    error CallerNotTrade();
    error CallerNotVaultOwner();
    error CallerNotGenerate();
    error NoAccess();
    error NotPlugin();

    // State Errors
    error BelowMinFundraisingPeriod();
    error AboveMaxFundraisingPeriod();
    error BelowMinLeverage();
    error AboveMaxLeverage();
    error BelowMinEndTime();
    error TradeTokenNotApplicable();

    // STV errors
    error StvDoesNotExist();
    error AlreadyOpened();
    error MoreThanTotalRaised();
    error MoreThanTotalReceived();
    error StvNotOpen();
    error StvNotClose();
    error ClaimNotApplicable();
    error StvStatusMismatch();

    // General Errors
    error BalanceLessThanAmount();
    error FundraisingPeriodEnded();
    error TotalRaisedMoreThanCapacity();
    error StillFundraising();
    error CommandMisMatch();
    error TradeCommandMisMatch();
    error NotInitialised();
    error Initialised();
    error LengthMismatch();
    error TransferFailed();
    error DelegateCallFailed();
    error CallFailed(bytes);
    error AccountAlreadyExists();
    error SwapFailed();
    error ExchangeDataMismatch();
    error AccountNotExists();
    error InputMismatch();
    error AboveMaxDistributeIndex();
    error BelowMinStvDepositAmount();

    // Protocol specific errors
    error GmxFeesMisMatch();
    error UpdateOrderRequestMisMatch();
    error CancelOrderRequestMisMatch();

    // Subscriptions
    error NotASubscriber();
    error AlreadySubscribed();
    error MoreThanLimit();
}

File 3 of 4 : IAccount.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

interface IAccount {
    function execute(address adapter, bytes calldata data, uint256 ethToSend)
        external
        payable
        returns (bytes memory returnData);
}

File 4 of 4 : IOperator.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

interface IOperator {
    function getMaxDistributeIndex() external view returns (uint256);
    function getAddress(string calldata adapter) external view returns (address);
    function getAddresses(string[] calldata adapters) external view returns (address[] memory);
    function getTraderAccount(address trader) external view returns (address);
    function getPlugin(address plugin) external view returns (bool);
    function getPlugins(address[] calldata plugins) external view returns (bool[] memory);
    function setAddress(string calldata adapter, address addr) external;
    function setAddresses(string[] calldata adapters, address[] calldata addresses) external;
    function setPlugin(address plugin, bool isPlugin) external;
    function setPlugins(address[] calldata plugins, bool[] calldata isPlugin) external;
    function setTraderAccount(address trader, address account) external;
    function getAllSubscribers(address manager) external view returns (address[] memory);
    function getIsSubscriber(address manager, address subscriber) external view returns (bool);
    function getSubscriptionAmount(address manager, address subscriber) external view returns (uint96);
    function getTotalSubscribedAmountPerManager(address manager) external view returns (uint96);
    function setSubscribe(address manager, address subscriber, uint96 maxLimit) external;
    function setUnsubscribe(address manager, address subscriber) external;
}

Settings
{
  "remappings": [
    "forge-std/=lib/forge-std/src/",
    "@synthetix/=src/interfaces/synthetix/",
    "@openzeppelin/=lib/openzeppelin-contracts/",
    "@openzeppelin-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "solmate/=lib/solmate/src/",
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "libraries": {
    "src/Generate.sol": {
      "Generate": "0x74e0ca6e1ecfb462a80f3b7ab6840013ee32c1c5"
    },
    "src/SpotTrade/SpotTrade.sol": {
      "SpotTrade": "0x019dfb87e218a07091c83cec604cb2d48fbdf194"
    },
    "src/Trade.sol": {
      "Trade": "0x16766913fae839da226a669c76f04b2b5e2380a0"
    },
    "src/libraries/BytesCheck.sol": {
      "BytesCheck": "0x3f3a5da6dbb99dc879a8ed2ec26c831da962231f"
    }
  }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_operator","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"CallFailed","type":"error"},{"inputs":[],"name":"NoAccess","type":"error"},{"inputs":[{"internalType":"address","name":"adapter","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"ethToSend","type":"uint256"}],"name":"execute","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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