This repository was archived by the owner on Jan 25, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCapToken.sol
More file actions
39 lines (35 loc) · 1.36 KB
/
CapToken.sol
File metadata and controls
39 lines (35 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.28;
import { Vault } from "../vault/Vault.sol";
import { UUPSUpgradeable } from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
/// @title Cap Token
/// @author kexley, Cap Labs
/// @notice Token representing the basket of underlying assets
contract CapToken is UUPSUpgradeable, Vault {
/// @custom:oz-upgrades-unsafe-allow constructor
constructor() {
_disableInitializers();
}
/// @notice Initialize the Cap token
/// @param _name Name of the cap token
/// @param _symbol Symbol of the cap token
/// @param _accessControl Access controller
/// @param _feeAuction Fee auction address
/// @param _oracle Oracle address
/// @param _assets Asset addresses to mint Cap token with
/// @param _insuranceFund Insurance fund
function initialize(
string memory _name,
string memory _symbol,
address _accessControl,
address _feeAuction,
address _oracle,
address[] calldata _assets,
address _insuranceFund
) external initializer {
__Vault_init(_name, _symbol, _accessControl, _feeAuction, _oracle, _assets, _insuranceFund);
__UUPSUpgradeable_init();
}
/// @inheritdoc UUPSUpgradeable
function _authorizeUpgrade(address) internal view override checkAccess(bytes4(0)) { }
}