Prepared by Fuzzland
This document details our collaborative engineering effort with Bitcoin L3 regarding their protocol.
Project Name | Bitcoin L3 |
---|---|
File Hash | c19b81e75729dab8717b7604541f4732 |
Language | Solidity |
Contract Name | File Location | Overview |
---|---|---|
Bridge | Bridge.sol#L12 | Implementation of a bridge to transfer tokens between different blockchains. |
BTCL3 | BTCL3.sol#6 | Bitcoin L3 ERC20 token. |
Crowdsale | Crowdsale.sol#9 | Crowdsale smart contract that manages multiple rounds of token sales with different price and limit configurations. |
PrivateVesting | PrivateVesting.sol#12 | Vesting contract that allows private sale token holders to claim their tokens after a cliff period, with partial token burning if claimed late. |
ProjectVesting | ProjectVesting.sol#9 | Vesting contract that allows token purchases from a private sale to be claimed over time based on a merkle root of allocations. |
PublicDistribution | PublicDistribution.sol#9 | Distribution contract that allows public sale token holders to claim their allocation after the sale ends based on a merkle root. |
The audit does not ensure that it has identified every security issue in the smart contracts, and it should not be seen as a confirmation that there are no more vulnerabilities. The audit is not exhaustive, and we recommend further independent audits and setting up a public bug bounty program for enhanced security verification of the smart contracts. Additionally, this report should not be interpreted as personal financial advice or recommendations.
setMinConfirmations
allows the new minimum confirmations to be set to 1. This is risky because if a bad signer can trick other signers into tuning the minimum confirmations to 1, this single signer is able to mint tokens.