CertiK reviewed Double on 20 Jan 2023: 15 findings, 1 critical; 12 marked fixed, 3 acknowledged.
Report hosted on skynet.certik.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 1 |
| High | 0 | 2 | 2 |
| Medium | 0 | 0 | 1 |
| Low | 0 | 1 | 8 |
In the contract `BaseBank721` the role `market` has authority over the functions shown in the diagram below. Any compromise to the `market` account may allow the hacker to take advantage of this authority.  In the contract `Bank721` the role `market` has authority over the functions shown in the diagram below. Any compromise to the `market` account may allow the hacker to take advantage of this authority.  In the contract `W4907Factory` the role `admin` has authority over the functions shown in the diagram below. Any compromise to the `admin` account may allow the hacker to take advantage of this authority.  In the contract `W4907Factory` the role `owner` has authority over the functions shown in the diagram below. Any compromise to the `owner` account may allow the hacker to take advantage of this authority.  In the contract `RentalMarket721` the role `admin` has authority over the functions shown in the diagram below. Any compromise to the `admin` account may allow the hacker to take advantage of this authority.  In the contract `RentalMarket721` the role `owner` has authority over the functions shown in the diagram below. Any compromise to the `owner` account may allow the hacker to take advantage of this authority.  In the contract `W5006Factory` the role `admin` has authority over the functions shown in the diagram below. Any compromise to the `admin` account may allow the hacker to take advantage of this authority.  In the contract `W5006Factory` the role `owner` has authority over the functions shown in the diagram below. Any compromise to the `owner` account may allow the hacker to take advantage of this authority.  In the contract `RentalMarket1155` the role `admin` has authority over the functions shown in the diagram below. Any compromise to the `admin` account may allow the hacker to take advantage of this authority.  In the contract `RentalMarket1155` the role `owner` has authority over the functions shown in the diagram below. Any compromise to the `owner` account may allow the hacker to take advantage of this authority. 
The cited contracts are upgradeable contracts, the owner can upgrade the contract without the community's commitment. If an attacker compromises the account, he/she can change the implementation of the contract and may damage the contracts.
The contract is serving as the underlying entity to interact with one or more third party protocols. The scope of the audit treats third party entities as black boxes and assume their functional correctness. However, in the real world, third parties can be compromised and this may lead to lost or stolen assets. In addition, upgrades of third parties can possibly create severe impacts, such as increasing fees of third parties, migrating to new LP pools, etc. --- ```solidity=64 function createUserRecord(RecordParam memory param) external { ``` - The function `Bank1155.createUserRecord` interacts with third party contract with `IERC1155` interface via `param`. --- ```solidity=105 function _deleteUserRecord(RentingRecord calldata param) internal { ``` - The function `Bank1155._deleteUserRecord` interacts with third party contract with `IERC1155` interface via `param`. --- ```solidity=21 address oNFT, ``` - The function `Bank721.tryStakeNFT721` interacts with third party contract with `IERC721` interface via `oNFT`. --- ```solidity=39 address oNFT, ``` - The function `Bank721.redeemNFT721` interacts with third party contract with `IERC721` interface via `oNFT`. --- ```solidity=20 mapping(address => address) public oNFT_w4907; ``` - The contract `W4907Factory` interacts with third party contract with `IWrapNFT` interface via `oNFT_w4907`. --- ```solidity=70 address w4907 ``` - The function `W4907Factory.registerW4907` interacts with third party contract with `IWrapNFT` interface via `w4907`. --- ```solidity=31 function deployW5006(address oNFT) public { ``` - The function `W5006Factory.deployW5006` interacts with third party contract with `IERC1155` interface via `oNFT`. --- ```solidity=38 function registerW5006(address oNFT, address w5006) public onlyAdmin { ``` - The function `W5006Factory.registerW5006` interacts with third party contract with `IWrappedInERC5006` interface via `w5006`.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (19)
1,044 projects reviewed · 1,393 reports · latest May 2025
See CertiK’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us