![SkateFi-logo](/_next/image/?url=https%3A%2F%2Fimages.ctfassets.net%2Ft3wqy70tc3bv%2F2ByPTsOCo1ihurbQOM0PMK%2F3cab96ed1b2b59f5c28e8462e9b4c7df%2FRange-logo.jpeg&w=128&q=75)
SkateFi
SkateFi is an infrastructure provider for on-chain money managers. This bug bounty program pertains to the SkateFi’s vaults smart contracts that are built on top of Uniswap V3-like concentrated liquidity AMMs for arbitrary liquidity provision: one-sided, lop-sided, and balanced. The vaults provide a Uniswap-V2 like interface which enables providing fungible liquidity.
PoC required
Rewards by Threat Level
Rewards are distributed according to the impact the vulnerability could otherwise cause based on the Impacts in Scope table further below.
Reward Calculation for Critical Level Reports
For critical Smart Contract bugs, the reward amount is 10% of the funds directly affected up to a maximum of USD 50 000. The calculation of the amount of funds at risk is based on the time and date the bug report is submitted. However, a minimum reward of USD 20 000 is to be rewarded in order to incentivize security researchers against withholding a bug report.
Repeatable Attack Limitations
In cases of repeatable attacks for smart contract bugs, only the first attack will be counted, regardless of whether the smart contract is upgradable, pausable, or killable.
Public Disclosure of Known Issues
Bug reports covering previously-discovered bugs acknowledged below are not eligible for any reward through the bug bounty program.
- All of the issues described in the following audit reports should be considered known.
Previous Audits
SkateFi has provided these completed audit review reports for reference. Any unfixed vulnerability mentioned in these reports are not eligible for a reward.
- https://github.com/Range-Protocol/vertex-vault/blob/main/Vertex-Vault-Report.pdf
- https://github.com/Range-Protocol/contracts/blob/master/audits/Halborn-Audit.pdf
- https://github.com/Range-Protocol/contracts/blob/master/audits/Veridise-Audit.pdf
- https://github.com/Range-Protocol/contracts/blob/izumi-implementation/audits/Salusec-Audit.pdf
- https://github.com/Range-Protocol/contracts/blob/master/audits/Certik-Audit.pdf
- https://github.com/Range-Protocol/contracts/blob/master/audits/range-veridise-vault-diff-audit.pdf
Feasibility Limitations
Bug reports that require an attack that involve one or more other protocols (e.g. utilizing flash loans from a margin protocol or manipulating the spot prices on a DEX), either to make an attack more severe than it would be in isolation, or to achieve an attack that would otherwise be impossible or infeasible, would be both a reduction in the severity level and a corresponding decrease in the payout. However, they will be considered as in-scope and categorized according to the program rules as long as all of the following are true:
- Losses or other negative effects of the attack are inflicted upon Range Protocol ecosystem participants
- The additional protocols used must have enough liquidity in various assets to allow the attack to succeed at the time of bug report submission. For example: if an attack requires an ETH flash loan, but the amount is larger than all the ETH available for loan across the ecosystem
Proof of Concept (PoC) Requirements
A PoC is required for the following severity levels:
- Smart Contract - Critical - PoC Required
- Smart Contract - High - PoC Required
- Smart Contract - Medium - PoC Required
All PoCs submitted must comply with the Immunefi-wide PoC Guidelines and Rules. Bug report submissions without a PoC when a PoC is required will not be provided with a reward.
Other Terms and Information
All the listed assets above are branches from the same repository. The codebase across all of the branches is similar in functionality and is built on top of either Uniswap V3, Pancakeswap V3 or Algebra, with Swapsicle using Algebra Integral The following files/directories are included in audit scope from all branches.
- contracts/RangeProtocolVaultStorage.sol
- contracts/RangeProtocolVault.sol
- contracts/RangeProtocolFactory.sol
- contracts/access/OwnableUpgradeable.sol
- contracts/interfaces
- contracts/errors
The following additional files/directories are included in the branches named next to them:
- https://github.com/Range-Protocol/contracts/tree/wrap-bnb-implementation-one/contracts/libraries (wrap-bnb-implementation-one)
- https://github.com/Range-Protocol/contracts/tree/izumi-implementation/contracts/libraries (izumi-implementation)
Reward Payment Terms
Payouts are handled by the Range Protocol team directly and are denominated in USD. However, payments are done in USDT.
Program Overview
SkateFi is an infrastructure provider for on-chain money managers. This bug bounty program pertains to the SkateFi’s vaults smart contracts that are built on top of Uniswap V3-like concentrated liquidity AMMs for arbitrary liquidity provision: one-sided, lop-sided, and balanced. The vaults provide a Uniswap-V2 like interface which enables providing fungible liquidity.
The vaults have managers that operate them and liquidity providers that provide liquidity to the vaults. The managers are KYCed and trustful entities that can choose to deploy a vault’s liquidity across specific tick ranges in the pool, remove liquidity and perform swap of vault’s assets on the pool. The managers would operate a sophisticated off-chain strategy to decide when to add or remove liquidity from pool for maximum returns for the liquidity providers, and perform low slippage swaps on the pool when vault’s liquidity is out of the pool.
The architecture of the smart contracts code comprises factory and upgradeable vaults. A Factory can deploy new vaults or upgrade implementation of existing vaults by the factory owner. Ownership of the factory is with a Timelock contract, which is behind a multisig wallet for proposing a creation or upgrading of vaults. The Timelock contract currently has a 24 hours delay between proposal and execution of operations.
For more information about SkateFi, please visit https://app.skatefi.org/
SkateFi provides rewards in USDT. For more details about the payment process, please view the Rewards by Threat Level section further below.
Responsible Publication
SkateFi adheres to category 3. This Policy determines what information whitehats are allowed to make public from their submitted bug reports. For more information about the category selected, please refer to our Responsible Publication page.
Primacy of Impact vs Primacy of Rules
SkateFi adheres to the Primacy of Impact for the following impacts:
- Smart Contract - Critical - Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yield
- Smart Contract - Critical - Permanent freezing of funds
- Smart Contract - Critical - Protocol insolvency
- Smart Contract - High - Theft of unclaimed yield
- Smart Contract - High - Permanent freezing of unclaimed yield
- Smart Contract - High - Temporary freezing of funds
- Smart Contract - Medium - Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)
If an impact is covered within the Primacy of Impact, it means that even if the impacted asset is not in-scope but is owned by the project, then it would be considered as in-scope of the bug bounty program. When submitting a report, just select the Primacy of Impact asset placeholder. If the team behind this project has multiple projects, those other projects are not covered under the Primacy of Impact of this program. Instead, check if those other projects have a bug bounty program on Immunefi.
Testnet and mock files are not covered under the Primacy of Impact.
All other impacts are considered under the Primacy of Rules, which means that they are bound by the terms of the bug bounty program.
Known Issue Assurance
SkateFi commits to providing Known Issue Assurance to bug submissions through their program. This means that SkateFi will either disclose known issues publicly or at the very least privately via a self-reported bug submission in order to allow for a more objective and streamlined mediation process to prove that an issue is known. Otherwise, assuming the bug report itself is valid, it would result in the bug report being considered in-scope and due 100% of the reward with respect to the bug bounty program terms.
Immunefi Standard Badge
SkateFi has satisfied the requirements for the Immunefi Standard Badge, which is given to projects that adhere to our best practices.
KYC not required
No KYC information is required for payout processing.
Prohibited Activities
- Any testing on mainnet or public testnet deployed code; all testing should be done on local-forks of either public testnet or mainnet
- Any testing with pricing oracles or third-party smart contracts
- Attempting phishing or other social engineering attacks against our employees and/or customers
- Any testing with third-party systems and applications (e.g. browser extensions) as well as websites (e.g. SSO providers, advertising networks)
- Any denial of service attacks that are executed against project assets
- Automated testing of services that generates significant amounts of traffic
- Public disclosure of an unpatched vulnerability in an embargoed bounty
- Any other actions prohibited by the Immunefi Rules
Feasibility Limitations
The project may be receiving reports that are valid (the bug and attack vector are real) and cite assets and impacts that are in scope, but there may be obstacles or barriers to executing the attack in the real world. In other words, there is a question about how feasible the attack really is. Conversely, there may also be mitigation measures that projects can take to prevent the impact of the bug, which are not feasible or would require unconventional action and hence, should not be used as reasons for downgrading a bug's severity. Therefore, Immunefi has developed a set of feasibility limitation standards which by default states what security researchers, as well as projects, can or cannot cite when reviewing a bug report.