Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
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:
AccountFactory
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 800 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-or-later pragma solidity =0.8.10; pragma abicoder v1; /** * ,, ,, * *MM db `7MM * MM MM * MM,dMMb. `7Mb,od8 `7MM `7MMpMMMb. MM ,MP' * MM `Mb MM' "' MM MM MM MM ;Y * MM M8 MM MM MM MM MM;Mm * MM. ,M9 MM MM MM MM MM `Mb. * P^YbmdP' .JMML. .JMML. .JMML JMML. .JMML. YA. * * AccountFactory.sol :: 0xe925f84cA9Dd5b3844fC424861D7bDf9485761B6 * etherscan.io verified 2021-12-18 */ /// @title Brink account factory /// @notice This is a factory contract used for deployment of Brink proxy accounts contract AccountFactory { error DeployFailed(); /// @dev Deploys a Proxy account for the given owner /// @param owner Owner of the Proxy account /// @return account Address of the deployed Proxy account /// @notice This deploys a "minimal proxy" contract with the proxy owner address added to the deployed bytecode. The /// owner address can be read within a delegatecall by using `extcodecopy`. Minimal proxy bytecode is from /// https://medium.com/coinmonks/the-more-minimal-proxy-5756ae08ee48 and https://eips.ethereum.org/EIPS/eip-1167. It /// utilizes the "vanity address optimization" from EIP 1167 function deployAccount(address owner) external returns (address account) { bytes memory initCode = abi.encodePacked( // [* constructor **] [** minimal proxy ***] [******* implementation *******] [**** minimal proxy *****] hex'603c3d8160093d39f3_3d3d3d3d363d3d37363d6f_afcbce78c080f96032a5c1cb1b832d7b_5af43d3d93803e602657fd5bf3', owner ); assembly { account := create2(0, add(initCode, 0x20), mload(initCode), 0) } if(account == address(0)) { revert DeployFailed(); } } }
{ "optimizer": { "enabled": true, "runs": 800 }, "metadata": { "bytecodeHash": "none" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"name":"DeployFailed","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"deployAccount","outputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610126806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063da9fc1ae14610030575b600080fd5b6100566004803603602081101561004657600080fd5b50356001600160a01b0316610072565b604080516001600160a01b039092168252519081900360200190f35b6000808260405160200180806100e960319139603101826001600160a01b031660601b8152601401915050604051602081830303815290604052905060008151602083016000f591506001600160a01b0382166100e25760405163b4f5411160e01b815260040160405180910390fd5b5091905056fe603c3d8160093d39f33d3d3d3d363d3d37363d6fafcbce78c080f96032a5c1cb1b832d7b5af43d3d93803e602657fd5bf3a164736f6c634300080a000a
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063da9fc1ae14610030575b600080fd5b6100566004803603602081101561004657600080fd5b50356001600160a01b0316610072565b604080516001600160a01b039092168252519081900360200190f35b6000808260405160200180806100e960319139603101826001600160a01b031660601b8152601401915050604051602081830303815290604052905060008151602083016000f591506001600160a01b0382166100e25760405163b4f5411160e01b815260040160405180910390fd5b5091905056fe603c3d8160093d39f33d3d3d3d363d3d37363d6fafcbce78c080f96032a5c1cb1b832d7b5af43d3d93803e602657fd5bf3a164736f6c634300080a000a
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.