ETH Price: $2,345.19 (+0.76%)

Contract

0x846E607B930Ea1F5DDE6c4a9D9104d5fbfAfa157
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy194411372024-03-15 15:07:23180 days ago1710515243IN
0x846E607B...fbfAfa157
0 ETH0.0131196543.82203466
Deploy194411322024-03-15 15:06:23180 days ago1710515183IN
0x846E607B...fbfAfa157
0 ETH0.0125095441.78414828
Deploy194410722024-03-15 14:54:11180 days ago1710514451IN
0x846E607B...fbfAfa157
0 ETH0.012786642.70956474
Deploy194410682024-03-15 14:53:23180 days ago1710514403IN
0x846E607B...fbfAfa157
0 ETH0.013406144.77879854
Deploy194409582024-03-15 14:31:23180 days ago1710513083IN
0x846E607B...fbfAfa157
0 ETH0.0148756249.67135792
Deploy194409432024-03-15 14:28:23180 days ago1710512903IN
0x846E607B...fbfAfa157
0 ETH0.0138138846.14087558
Deploy157926782022-10-20 23:44:47692 days ago1666309487IN
0x846E607B...fbfAfa157
0 ETH0.0066407922.17196968
Deploy145671612022-04-11 22:54:27884 days ago1649717667IN
0x846E607B...fbfAfa157
0 ETH0.0121876340.71109088
Deploy142278022022-02-18 3:56:42937 days ago1645156602IN
0x846E607B...fbfAfa157
0 ETH0.0141723347.33689824
Deploy142273662022-02-18 2:20:08937 days ago1645150808IN
0x846E607B...fbfAfa157
0 ETH0.0161627553.98506868
Deploy141047302022-01-30 3:28:05956 days ago1643513285IN
0x846E607B...fbfAfa157
0 ETH0.0276851192.4708073
Deploy130254322021-08-14 20:23:591124 days ago1628972639IN
0x846E607B...fbfAfa157
0 ETH0.017585658.73989581
0x60806040129076232021-07-27 10:40:311143 days ago1627382431IN
 Create: SynapseERC20Factory
0 ETH0.0092225730

Latest 12 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
194411372024-03-15 15:07:23180 days ago1710515243
0x846E607B...fbfAfa157
 Contract Creation0 ETH
194411322024-03-15 15:06:23180 days ago1710515183
0x846E607B...fbfAfa157
 Contract Creation0 ETH
194410722024-03-15 14:54:11180 days ago1710514451
0x846E607B...fbfAfa157
 Contract Creation0 ETH
194410682024-03-15 14:53:23180 days ago1710514403
0x846E607B...fbfAfa157
 Contract Creation0 ETH
194409582024-03-15 14:31:23180 days ago1710513083
0x846E607B...fbfAfa157
 Contract Creation0 ETH
194409432024-03-15 14:28:23180 days ago1710512903
0x846E607B...fbfAfa157
 Contract Creation0 ETH
157926782022-10-20 23:44:47692 days ago1666309487
0x846E607B...fbfAfa157
 Contract Creation0 ETH
145671612022-04-11 22:54:27884 days ago1649717667
0x846E607B...fbfAfa157
 Contract Creation0 ETH
142278022022-02-18 3:56:42937 days ago1645156602
0x846E607B...fbfAfa157
 Contract Creation0 ETH
142273662022-02-18 2:20:08937 days ago1645150808
0x846E607B...fbfAfa157
 Contract Creation0 ETH
141047302022-01-30 3:28:05956 days ago1643513285
0x846E607B...fbfAfa157
 Contract Creation0 ETH
130254322021-08-14 20:23:591124 days ago1628972639
0x846E607B...fbfAfa157
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SynapseERC20Factory

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion, MIT license
File 1 of 5 : SynapseERC20Factory.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/proxy/Clones.sol";
import "./interfaces/ISynapseERC20.sol";

contract SynapseERC20Factory {
    constructor() public {}

    event SynapseERC20Created(address contractAddress);

    /**
     * @notice Deploys a new node
     * @param synapseERC20Address address of the synapseERC20Address contract to initialize with
     * @param name Token name
     * @param symbol Token symbol
     * @param decimals Token name
     * @param owner admin address to be initialized with
     * @return Address of the newest node management contract created
     **/
    function deploy(
        address synapseERC20Address,
        string memory name,
        string memory symbol,   
        uint8 decimals,
        address owner
    ) external returns (address) {
        address synERC20Clone = Clones.clone(synapseERC20Address);
        ISynapseERC20(synERC20Clone).initialize(
            name,
            symbol,
            decimals,
            owner
        );

        emit SynapseERC20Created(synERC20Clone);

        return synERC20Clone;
    }
}

File 2 of 5 : Ownable.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

import "../utils/Context.sol";
/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

File 3 of 5 : Clones.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for
 * deploying minimal proxy contracts, also known as "clones".
 *
 * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies
 * > a minimal bytecode implementation that delegates all calls to a known, fixed address.
 *
 * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`
 * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the
 * deterministic method.
 *
 * _Available since v3.4._
 */
library Clones {
    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `master`.
     *
     * This function uses the create opcode, which should never revert.
     */
    function clone(address master) internal returns (address instance) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, master))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create(0, ptr, 0x37)
        }
        require(instance != address(0), "ERC1167: create failed");
    }

    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `master`.
     *
     * This function uses the create2 opcode and a `salt` to deterministically deploy
     * the clone. Using the same `master` and `salt` multiple time will revert, since
     * the clones cannot be deployed twice at the same address.
     */
    function cloneDeterministic(address master, bytes32 salt) internal returns (address instance) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, master))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create2(0, ptr, 0x37, salt)
        }
        require(instance != address(0), "ERC1167: create2 failed");
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(address master, bytes32 salt, address deployer) internal pure returns (address predicted) {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, master))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000)
            mstore(add(ptr, 0x38), shl(0x60, deployer))
            mstore(add(ptr, 0x4c), salt)
            mstore(add(ptr, 0x6c), keccak256(ptr, 0x37))
            predicted := keccak256(add(ptr, 0x37), 0x55)
        }
    }

    /**
     * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
     */
    function predictDeterministicAddress(address master, bytes32 salt) internal view returns (address predicted) {
        return predictDeterministicAddress(master, salt, address(this));
    }
}

File 4 of 5 : Context.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

File 5 of 5 : ISynapseERC20.sol
// SPDX-License-Identifier: MIT


pragma solidity >=0.6.0 <0.8.0;

interface ISynapseERC20 {    
    function initialize(
        string memory _name, string memory _symbol, uint8 _decimals, address owner) external;
}

Settings
{
  "evmVersion": "istanbul",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 10000
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"contractAddress","type":"address"}],"name":"SynapseERC20Created","type":"event"},{"inputs":[{"internalType":"address","name":"synapseERC20Address","type":"address"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint8","name":"decimals","type":"uint8"},{"internalType":"address","name":"owner","type":"address"}],"name":"deploy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5061049d806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80635d58ce2414610030575b600080fd5b610198600480360360a081101561004657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516919081019060408101602082013564010000000081111561007e57600080fd5b82018360208201111561009057600080fd5b803590602001918460018302840111640100000000831117156100b257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184600183028401116401000000008311171561013957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff169250506020013573ffffffffffffffffffffffffffffffffffffffff166101c1565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6000806101cd87610380565b90508073ffffffffffffffffffffffffffffffffffffffff1663de7ea79d878787876040518563ffffffff1660e01b81526004018080602001806020018560ff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838103835287818151815260200191508051906020019080838360005b8381101561026457818101518382015260200161024c565b50505050905090810190601f1680156102915780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15801561031457600080fd5b505af1158015610328573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8516815290517f3f53e2db82c60058131913739ee1bca25955b597586645b6043f9902e9bdf0dd9350908190036020019150a19695505050505050565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff811661046257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015290519081900360640190fd5b91905056fea2646970667358221220455b4470c667e6860dec0642eaecfebefb9c0307724edb783ec4ba3bb8189d8d64736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80635d58ce2414610030575b600080fd5b610198600480360360a081101561004657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516919081019060408101602082013564010000000081111561007e57600080fd5b82018360208201111561009057600080fd5b803590602001918460018302840111640100000000831117156100b257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184600183028401116401000000008311171561013957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff169250506020013573ffffffffffffffffffffffffffffffffffffffff166101c1565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6000806101cd87610380565b90508073ffffffffffffffffffffffffffffffffffffffff1663de7ea79d878787876040518563ffffffff1660e01b81526004018080602001806020018560ff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001838103835287818151815260200191508051906020019080838360005b8381101561026457818101518382015260200161024c565b50505050905090810190601f1680156102915780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15801561031457600080fd5b505af1158015610328573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8516815290517f3f53e2db82c60058131913739ee1bca25955b597586645b6043f9902e9bdf0dd9350908190036020019150a19695505050505050565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff811661046257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f455243313136373a20637265617465206661696c656400000000000000000000604482015290519081900360640190fd5b91905056fea2646970667358221220455b4470c667e6860dec0642eaecfebefb9c0307724edb783ec4ba3bb8189d8d64736f6c634300060c0033

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  ]
[ 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.