Skip to content

Commit

Permalink
📝 Use new badge highlight syntax
Browse files Browse the repository at this point in the history
Signed-off-by: Pascal Marco Caversaccio <[email protected]>
  • Loading branch information
pcaversaccio committed Nov 30, 2023
1 parent 1d8e36e commit 07f2e2a
Showing 1 changed file with 22 additions and 22 deletions.
44 changes: 22 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

Factory smart contract to make easier and safer usage of the [`CREATE`](https://www.evm.codes/#f0?fork=shanghai) and [`CREATE2`](https://www.evm.codes/#f5?fork=shanghai) EVM opcodes as well as of [`CREATE3`](https://github.com/ethereum/EIPs/pull/3171)-based (i.e. without an initcode factor) contract creations.

> **Note**<br>
> The [`CreateX`](https://github.com/pcaversaccio/createx/blob/main/src/CreateX.sol) contract should be considered as maximally extensible. Be encouraged to build on top of it! The Solidity-based interface can be found [here](https://github.com/pcaversaccio/createx/blob/main/src/ICreateX.sol).
> [!NOTE]
> The [`CreateX`](./src/CreateX.sol) contract should be considered as maximally extensible. Be encouraged to build on top of it! The Solidity-based interface can be found [here](./src/ICreateX.sol).
- [`CreateX` – A Trustless, Universal Contract Deployer](#createx--a-trustless-universal-contract-deployer)
- [So What on Earth Is a Contract Factory?](#so-what-on-earth-is-a-contract-factory)
Expand Down Expand Up @@ -157,7 +157,7 @@ Deploys and initialises a new contract via calling the [`CREATE`](https://www.ev
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.
</details>
Expand Down Expand Up @@ -188,7 +188,7 @@ Deploys and initialises a new contract via calling the [`CREATE`](https://www.ev
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.
</details>
Expand All @@ -213,7 +213,7 @@ Deploys a new [EIP-1167](https://eips.ethereum.org/EIPS/eip-1167) minimal proxy
description: The 20-byte address where the clone was deployed.
```

> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.

</details>
Expand Down Expand Up @@ -329,7 +329,7 @@ Deploys and initialises a new contract via calling the [`CREATE2`](https://www.e
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.
</details>
Expand Down Expand Up @@ -360,7 +360,7 @@ Deploys and initialises a new contract via calling the [`CREATE2`](https://www.e
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.
</details>
Expand Down Expand Up @@ -391,7 +391,7 @@ Deploys and initialises a new contract via calling the [`CREATE2`](https://www.e
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.
</details>
Expand Down Expand Up @@ -425,7 +425,7 @@ Deploys and initialises a new contract via calling the [`CREATE2`](https://www.e
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.
</details>
Expand All @@ -450,7 +450,7 @@ Deploys a new [EIP-1167](https://eips.ethereum.org/EIPS/eip-1167) minimal proxy
description: The 20-byte address where the clone was deployed.
```

> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.

</details>
Expand Down Expand Up @@ -478,7 +478,7 @@ Deploys a new [EIP-1167](https://eips.ethereum.org/EIPS/eip-1167) minimal proxy
description: The 20-byte address where the clone was deployed.
```

> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.

</details>
Expand Down Expand Up @@ -563,7 +563,7 @@ Deploys a new contract via employing the [`CREATE3`](https://github.com/ethereum
description: The 20-byte address where the contract was deployed.
```

> **Note**<br>
> ℹ️ **Note**<br>
> We strongly recommend implementing a permissioned deploy protection by setting the first 20 bytes equal to `msg.sender` in the `salt` to prevent maliciously intended frontrun proxy deployments on other chains.

</details>
Expand Down Expand Up @@ -591,7 +591,7 @@ Deploys and initialises a new contract via employing the [`CREATE3`](https://git
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.
</details>
Expand Down Expand Up @@ -622,7 +622,7 @@ Deploys and initialises a new contract via employing the [`CREATE3`](https://git
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system. Furthermore, we strongly recommend implementing a permissioned deploy protection by setting the first 20 bytes equal to `msg.sender` in the `salt` to prevent maliciously intended frontrun proxy deployments on other chains.

</details>
Expand Down Expand Up @@ -653,7 +653,7 @@ Deploys and initialises a new contract via employing the [`CREATE3`](https://git
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system.
</details>
Expand Down Expand Up @@ -687,7 +687,7 @@ Deploys and initialises a new contract via employing the [`CREATE3`](https://git
description: The 20-byte address where the contract was deployed.
```
> **Note**<br>
> ℹ️ **Note**<br>
> This function allows for reentrancy, however we refrain from adding a mutex lock to keep it as use-case agnostic as possible. Please ensure at the protocol level that potentially malicious reentrant calls do not affect your smart contract system. Furthermore, we strongly recommend implementing a permissioned deploy protection by setting the first 20 bytes equal to `msg.sender` in the `salt` to prevent maliciously intended frontrun proxy deployments on other chains.

</details>
Expand Down Expand Up @@ -813,7 +813,7 @@ The following consequences result from these principles:
## Security Considerations

<!-- prettier-ignore-start -->
> **Warning**<br>
> [!WARNING]
> **This contract is unaudited!** Special thanks go to [Oleksii Matiiasevych](https://github.com/lastperson) for his thorough review and feedback 🙏🏽.
<!-- prettier-ignore-end -->
Expand Down Expand Up @@ -878,13 +878,13 @@ The written tests available in the directory [`test`](./test) achieve a test cov
| src/CreateX.sol | 100.00% (149/149) | 100.00% (210/210) | 100.00% (78/78) | 100.00% (31/31) |
```

> **Note**<br>
> [!IMPORTANT]
> A test coverage of 100% does not mean that there are no vulnerabilities. What really counts is the quality and spectrum of the tests themselves!
## ABI (Application Binary Interface)

> **Note**<br>
> If you `forge install` this repository, the Solidity-based interface can also be found [here](https://github.com/pcaversaccio/createx/blob/main/src/ICreateX.sol).
> [!TIP]
> If you `forge install` this repository, the Solidity-based interface can also be found [here](./src/ICreateX.sol).
<details>
<summary> <a href="https://docs.soliditylang.org/en/latest/">Solidity</a> </summary>
Expand Down Expand Up @@ -2069,7 +2069,7 @@ interface ICreateX {

## New Deployment(s)

> **Warning**<br>
> [!CAUTION]
> The address `0x0000000000000000000000000000000000000000` is a simple placeholder for now. Do not send any funds there!
We offer two options for deploying [`CreateX`](./src/CreateX.sol) to your desired chain:
Expand All @@ -2087,7 +2087,7 @@ To verify a deployed [`CreateX`](./src/CreateX.sol) contract on a block explorer

## [`CreateX`](./src/CreateX.sol) Deployments

> **Warning**<br>
> [!CAUTION]
> The address `0x0000000000000000000000000000000000000000` is a simple placeholder for now. Do not send any funds there!
- EVM-Based Production Networks:
Expand Down

0 comments on commit 07f2e2a

Please sign in to comment.