Vaporware security record

As of 3 Nov 2026, Vaporware has 1 audit report on Trustblock, by Quantstamp, dated 26 Oct 2023. That report lists no open critical findings.

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, findings and contracts up to Nov 2026, and incidents up to Oct 2026. Trustblock does not review code.

Audits1

Newest first

AuditSecurity firmDateScopeCritical findingsReport
VaporwareSecurity firm: QuantstampDate: Scope: Repository at commit 32f97cdNo open critical findingsOpen · certificate.quantstamp.com

Findings19

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

SeverityOpenAcknowledgedFixed
Critical000
High102
Medium010
Low168
MediumReward Disbursement Can Be Front-RunVaporware · Quantstamp · 26 Oct 2023Acknowledged

Rewards may be added to the `Rewards` contract in a number of different ways: 1. When minting liquid accessories through `LiquidAccessories.mintAccessories()` 2. Adding rewards directly through `Rewards.addRewardsForAccessory()` Malicious users may frontrun calls when others are adding these rewards by equipping the item immediately before the reward is added and unequipping immediately after. A user may also acquire the accessory as part of the front-running.

Open the report
LowBonding Curve Can only Be Set OnceVaporware · Quantstamp · 26 Oct 2023Acknowledged

`defineBondingCurveParameter()` has the following requirement check: ``` require(bondingCurves[_accessoryId].curveParameter == 0, "Parameter already set"); ``` This means that the `curveParameter` can only be set once. This can potentially be an issue if the Vaporware team would either accidentally misconfigure the value of a certain accessory or would like to update the value of a certain accessory.

Open the report
LowDraft Eip UsedVaporware · Quantstamp · 26 Oct 2023Acknowledged

The contracts rely heavily on the `EIP-6551`, which has not officially been accepted yet. If changes are made to this standard before it is accepted, the contracts may not integrate well with other applications that expect the official standard to be used.

Open the report
LowMissing Event EmissionsVaporware · Quantstamp · 26 Oct 2023Acknowledged

In order to validate the proper deployment and initialization of the contracts, it is a good practice to emit events. Also, any important state transitions can be logged, which is beneficial for monitoring the contract, and also tracking eventual bugs or hacks. Below, we present a non-exhaustive list of functions that could emit events to improve application management: 1. `LiquidAccessories.defineBondingCurveParameter()` 2. `LiquidAccessories.setAvatarContract()` 3. `SoulboundAccessories.setAvatarContract()` 4. `MiladyAvatar.setOtherContracts()` 5. `TokenGatedAccount.execute()`

Open the report
LowOwnership Can Be RenouncedVaporware · Quantstamp · 26 Oct 2023Acknowledged

If the owner renounces their ownership, all ownable contracts will be left without an owner. Consequently, any function guarded by the `onlyOwner` modifier will no longer be able to be executed.

Open the report
LowPrivileged Roles and OwnershipVaporware · Quantstamp · 26 Oct 2023Acknowledged

Smart contracts will often have `owner` variables to designate the person with special privileges to make modifications to the smart contract. The following instances have been identified: 1. `LiquidAccessories` 1. `owner`: Define the bonding curve parameter, which determines how expensive it is to mint the accessory. 2. `SoulboundAccessories` 1. `miladyAuthority`: Onboard the Milady and mint its canonical accessories. This role could technically choose not to onboard selective Milady NFT IDs.

Open the report
LowUnbounded Curve Parameter Can Lead to OverflowVaporware · Quantstamp · 26 Oct 2023Acknowledged

The `defineBondingCurveParameter()` function allows setting of a curve parameter for every accessory. This curve paramter is used to calculate the price of the accessory needed for minting or refunded on burning. The following equation is used: ``` 0.005 ether + _curveParameter * _itemNumber * _itemNumber ``` As `_curveParameter` is an arbitrary constant, if set too high, the whole calculation can overflow and DoS the minting process.

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

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="vaporware"
></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