Ebisu’s Bay

CertiKFiles named in the report

CertiK reviewed Ebisusbay (Ebisu’s Bay) on 12 May 2022: 8 findings, 0 critical; 6 marked fixed, 2 acknowledged.

No open critical findings
Open the reportOpen Ebisusbay’s security record

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings8

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High010
Medium001
Low015
HighCentralization Related RisksAcknowledged

In the contract `EbisusBayMembership`, the role `_owner` has authority over the following functions: - `setURI()`: update the URI for a given id; - `pause()`/`unpause()`: pause/unpause the contract; - `updatePrice()`: update the price for minting tokens; - `withdraw()`: withdraw ETH within the contract. In the contract `Marketplace`, the `UPGRADER_ROLE` role has the authority over the `_authorizeUpgrade`, which can upgrade the contract.\ The `STAFF_ROLE` has the authority over the following functions: - `cancelListing()`: cancel an listing order; - `registerRoyalty()`/`removeRoyalty()`: register/remove an nft as/from "royalty" role; Additionally, the role `DEFAULT_ADMIN_ROLE` has the authority over the following functions: - `withdraw()`: withdraw fees within the contract; - `updateFees()`: update fee value. In the contract `ReferralCode`, the `_owner` has the authority over the following functions: - `registerUser()`: register a referrer. Any compromise to the aforementioned privileged account may allow a hacker to take advantage of this authority and manipulate the protocol.

LowMissing Input Validation For Price UpdateAcknowledged

In the contract `EbisusBayMembership`, the function `updatePrice()` can update the price for minting tokens. ```solidity=145 function updatePrice(uint256 _price, uint256 _discount, uint64 _id) public onlyOwner validId(_id) { if(_id == FOUNDER){ founderPrice = _price; founderReferralDiscount = _discount; } else if(_id == VIP){ vipPrice = _price; vipReferralDiscount = _discount; } else if(_id == VVIP) { vvipPrice = _price; vvipReferralDiscount = _discount; } } ``` However, there is no explicit validation to ensure the updated price is within a certain range. The concern, if the owner accidentally and improperly set the fee as 0, users could mint tokens without any fee. Therefore, the project might suffer loss. In the contract `Marketplace`, the function `updateFees` can update fees related to the marketplace. ```solidity=248 function updateFees(uint16 _regFee, uint16 _memFee, uint16 _vipFee) public onlyRole(DEFAULT_ADMIN_ROLE){ regFee = _regFee; memberFee = _memFee; vipFee = _vipFee; } ``` However, there is no explicit validation to ensure the updated fees are within a certain range. Therefore, if the fees are set improperly, it could lead to loss to the project and users.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Repository and files the report names (7)

  • contracts/IterableMapping.sol
  • contracts/EBMembership.sol
  • contracts/Marketplace.sol
  • contracts/MarketplaceV2.sol
  • contracts/SafeMathLite.sol
  • contracts/ReferralCode.sol
  • contracts/SafePct.sol

Part of Ebisusbay’s security record

Ebisusbay
Audits1 audit by 1 firmLast audit May 2022, by CertiK.
Critical findingsNo open critical findingsIn 1 report.
Open Ebisusbay’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’s audits

Something 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