Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 49 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Strategy | 18177072 | 462 days ago | IN | 0 ETH | 0.00092306 | ||||
Create Strategy | 18177070 | 462 days ago | IN | 0 ETH | 0.00093994 | ||||
Create Strategy | 17839558 | 510 days ago | IN | 0 ETH | 0.00097548 | ||||
Create Strategy | 17714002 | 527 days ago | IN | 0 ETH | 0.00192213 | ||||
Create Strategy | 17636294 | 538 days ago | IN | 0 ETH | 0.00163995 | ||||
Create Strategy | 17604361 | 543 days ago | IN | 0 ETH | 0.00093955 | ||||
Create Strategy | 17518958 | 555 days ago | IN | 0 ETH | 0.00086637 | ||||
Create Strategy | 17512351 | 556 days ago | IN | 0 ETH | 0.00097902 | ||||
Create Strategy | 17512348 | 556 days ago | IN | 0 ETH | 0.00101891 | ||||
Create Strategy | 17512344 | 556 days ago | IN | 0 ETH | 0.00101101 | ||||
Create Strategy | 17512341 | 556 days ago | IN | 0 ETH | 0.00107793 | ||||
Create Strategy | 17512338 | 556 days ago | IN | 0 ETH | 0.00098316 | ||||
Create Strategy | 17512335 | 556 days ago | IN | 0 ETH | 0.00093129 | ||||
Create Strategy | 17512332 | 556 days ago | IN | 0 ETH | 0.00090363 | ||||
Create Strategy | 17512329 | 556 days ago | IN | 0 ETH | 0.0009795 | ||||
Create Strategy | 17512325 | 556 days ago | IN | 0 ETH | 0.00096963 | ||||
Create Strategy | 17448989 | 564 days ago | IN | 0 ETH | 0.00114082 | ||||
Create Strategy | 17448987 | 564 days ago | IN | 0 ETH | 0.00112101 | ||||
Create Strategy | 17377625 | 575 days ago | IN | 0 ETH | 0.00192213 | ||||
Create Strategy | 17377623 | 575 days ago | IN | 0 ETH | 0.00182756 | ||||
Create Strategy | 17377620 | 575 days ago | IN | 0 ETH | 0.00191422 | ||||
Create Strategy | 17377617 | 575 days ago | IN | 0 ETH | 0.00192213 | ||||
Create Strategy | 16889764 | 643 days ago | IN | 0 ETH | 0.00098896 | ||||
Create Strategy | 16777000 | 659 days ago | IN | 0 ETH | 0.00287433 | ||||
Create Strategy | 16776996 | 659 days ago | IN | 0 ETH | 0.00295696 |
Latest 25 internal transactions (View All)
Advanced mode:
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:
ConcentratorStrategyFactory
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.7.6; import "@openzeppelin/contracts/proxy/Clones.sol"; contract ConcentratorStrategyFactory { event NewConcentratorStrategy(address indexed _strategy); function createStrategy(address _implementation) external returns (address) { address _stratrgy = Clones.clone(_implementation); emit NewConcentratorStrategy(_stratrgy); return _stratrgy; } }
// 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)); } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_strategy","type":"address"}],"name":"NewConcentratorStrategy","type":"event"},{"inputs":[{"internalType":"address","name":"_implementation","type":"address"}],"name":"createStrategy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610190806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80637316bcd114610030575b600080fd5b6100566004803603602081101561004657600080fd5b50356001600160a01b0316610072565b604080516001600160a01b039092168252519081900360200190f35b60008061007e836100bd565b6040519091506001600160a01b038216907fb8ee7753336f45a9e845dd286ee3395fd92249b2006706515a9ae10c7a74ff4290600090a290505b919050565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b0381166100b8576040805162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015290519081900360640190fdfea2646970667358221220c91400a5e16184dcd9e0a9601531631cfcd3c89adc4a3658ae5a9489399ef29064736f6c63430007060033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80637316bcd114610030575b600080fd5b6100566004803603602081101561004657600080fd5b50356001600160a01b0316610072565b604080516001600160a01b039092168252519081900360200190f35b60008061007e836100bd565b6040519091506001600160a01b038216907fb8ee7753336f45a9e845dd286ee3395fd92249b2006706515a9ae10c7a74ff4290600090a290505b919050565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b0381166100b8576040805162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015290519081900360640190fdfea2646970667358221220c91400a5e16184dcd9e0a9601531631cfcd3c89adc4a3658ae5a9489399ef29064736f6c63430007060033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.