Lifty Gaming security record

As of 3 Nov 2026, Lifty Gaming has 1 audit report on Trustblock, by CertiK, dated 21 Apr 2023. That report lists no open critical findings. It also holds 1 deployed contract on 1 chain.

Critical findings
No open critical findings
In 1 report.
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits and findings, contracts and incidents up to Nov 2026. Trustblock does not review code.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
LiftySecurity firm: CertiKDate: Scope: 1 address on EthereumNo open critical findingsOpen · skynet.certik.com

Findings11

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

SeverityOpenAcknowledgedFixed
Critical000
High100
Medium001
Low054
MediumPossible Denial of ServiceLifty · CertiK · 21 Apr 2023Fixed

The function `transferPaymentAndFees()` is checking if the royalties are set using the boolean `royaltiesApplied`. The `royaltiesApplied` boolean will be set to `true` if the condition `assets.length == 1` is met.\ This is likely during some calls to the function `buy()`. ```solidity=54 transferPaymentAndFees(from,to,payment[i],assets[0],assets.length == 1,amount); ``` In the case of the boolean `royaltiesApplied` is `true`, the contract `OrderFulfiller` will call the following statement: ```solidity=115 IERC165(collection).supportsInterface(INTERFACE_ID_FEES); ``` This will check if the `collection` support the interface `INTERFACE_ID_FEES`, but because the ERC20 standard does not have the `supportsInterface()` function, this will revert and can lead to a Denial of Service during the calls to the `buy()` function.

Open the report
LowInsufficient Check On FeesLifty · CertiK · 21 Apr 2023Fixed

When changing the fees of a token, there is a check to ensure that the seller fee and the buyer fee are both less than 100%. ```solidity=148 function changeMarketplaceCollectionFee( address collection, uint16 buyerFee, uint16 sellerFee ) external onlyOwner { require( sellerFee < 10000 && buyerFee < 10000, "FeeProvider: wrong fee amount" ); ``` However, this check is insufficient as both seller and buyer fees are applied to an order amount, meaning that the sum of the fees should be less than 100%. ```solidity=92 uint256 buyerFee = calculateFee( payment.amount, marketplaceFee.buyerFee ); uint256 sellerFee = calculateFee( payment.amount, marketplaceFee.sellerFee ); fee = (buyerFee + sellerFee) * amount; ```

Open the report
LowLack of check on Expiration TimeLifty · CertiK · 21 Apr 2023Fixed

There is no explicit check that each order meant to be filled in a `buy()` call has not expired yet. The only check involving expiration is that an operator has signed the order hashes along with an `expiredAt` time that is in the future. ```solidity=73 require(expiredAt > block.timestamp, "Buy: the deal is expired."); require( verifyDealSign(expiredAt, dealSign, ordersHashes), "Buy: wrong deal signature" ); ``` Since this `expiredAt` time is not compared with an order's expiration time, an operator is able to approve a deal involving an already expired order.

Open the report
LowMissing Zero Address ValidationLifty · CertiK · 21 Apr 2023Fixed

Addresses should be checked before assignment or external call to make sure they are not zero addresses. ```solidity=142 feesBeneficiary = newFeesBeneficiary; ``` - `newFeesBeneficiary` is not zero-checked before being used.

Open the report
LowSusceptible to Signature MalleabilityLifty · CertiK · 21 Apr 2023Fixed

The functions `ECDSA.recover` and `ECDSA.tryRecover` are vulnerable to a kind of signature malleability due to accepting EIP-2098 compact signatures in addition to the traditional 65-byte signature format. This is only an issue for the functions that take a single bytes argument, and not the functions that take `r, v, s` or `r, vs` as separate arguments. Reference: https://github.com/advisories/GHSA-4h98-2769-gh6h

Open the report

Contracts1

AddressChainSource code
0xa4b71b99eef99ea217adb7e3641cb3e779eaa529Chain: EthereumSource code: Verified source

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="lifty"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

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