TransferValidator

Description:

Smart contract deployed on Ethereum with Factory features.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Solidity",
  "sources": {
    "src/TransferValidator.sol": {
      "content": "// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;

import {ITransferValidator} from "./interfaces/ITransferValidator.sol";

interface IStrategyToken {
    function strategy() external view returns (address);
}

contract TransferValidator is ITransferValidator {
    function validateTransfer(address caller, address from, address /* to */, uint256 /* amount */) external view override{
        address token = msg.sender;

        if(from == address(0)) return;

        require(caller == from || caller == IStrategyToken(token).strategy(), "Not allowed");
    }
}"
    },
    "src/interfaces/ITransferValidator.sol": {
      "content": "// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;

interface ITransferValidator {
    function validateTransfer(address caller, address from, address to, uint256 amount) external view;
}"
    }
  },
  "settings": {
    "remappings": [
      "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
      "@limitbreak/creator-token-standards/=lib/creator-token-standards/src/",
      "forge-std/=lib/forge-std/src/",
      "solady/=lib/solady/src/",
      "@limitbreak/permit-c/=lib/creator-token-standards/lib/PermitC/src/",
      "@opensea/tstorish/=lib/creator-token-standards/lib/tstorish/src/",
      "@rari-capital/solmate/=lib/creator-token-standards/lib/PermitC/lib/solmate/",
      "ERC721A/=lib/creator-token-standards/lib/ERC721A/contracts/",
      "PermitC/=lib/creator-token-standards/lib/PermitC/",
      "creator-token-standards/=lib/creator-token-standards/",
      "ds-test/=lib/creator-token-standards/lib/forge-std/lib/ds-test/src/",
      "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
      "erc721a/=lib/creator-token-standards/lib/ERC721A/",
      "forge-gas-metering/=lib/creator-token-standards/lib/PermitC/lib/forge-gas-metering/",
      "halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",
      "murky/=lib/creator-token-standards/lib/murky/",
      "openzeppelin-contracts/=lib/openzeppelin-contracts/",
      "openzeppelin/=lib/creator-token-standards/lib/PermitC/lib/openzeppelin-contracts/contracts/",
      "solmate/=lib/creator-token-standards/lib/PermitC/lib/solmate/src/",
      "tstorish/=lib/creator-token-standards/lib/tstorish/src/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 1000
    },
    "metadata": {
      "useLiteralContent": false,
      "bytecodeHash": "ipfs",
      "appendCBOR": true
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "evmVersion": "prague",
    "viaIR": false
  }
}}

Tags:
Factory|addr:0x72e9ab54996e337b32636a5013c9854eec6fae4f|verified:true|block:23712575|tx:0x91f253830c807a8498e96080ddca2c473870133249c5a65f3065d079b3892049|first_check:1762101454

Submitted on: 2025-11-02 17:37:36

Comments

Log in to comment.

No comments yet.