Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 3 additions & 21 deletions src/contracts/fraxtal/fpi/FPI.sol
Original file line number Diff line number Diff line change
@@ -1,25 +1,7 @@
pragma solidity ^0.8.0;

import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol";
import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol";

contract FPI is ERC20PermitPermissionedOptiMintable {
/// @param _creator_address The contract creator
/// @param _timelock_address The timelock
/// @param _bridge Address of the L2 standard bridge
/// @param _remoteToken Address of the corresponding L1 token
constructor(
address _creator_address,
address _timelock_address,
address _bridge,
address _remoteToken
)
ERC20PermitPermissionedOptiMintable(
_creator_address,
_timelock_address,
_bridge,
_remoteToken,
"Frax Price Index",
"FPI"
)
{}
contract FPI is ERC20PermitPermissionedNonBridgeableMintable {
constructor() ERC20PermitPermissionedNonBridgeableMintable("Frax Price Index", "FPI") {}
}
25 changes: 25 additions & 0 deletions src/contracts/fraxtal/fpis/FPIS.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
pragma solidity ^0.8.0;

import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol";

contract FPIS is ERC20PermitPermissionedOptiMintable {
/// @param _creator_address Address of the contract creator
/// @param _timelock_address Address of the timelock
/// @param _bridge Address of the L2 standard bridge
/// @param _remoteToken Address of the corresponding L1 token
constructor(
address _creator_address,
address _timelock_address,
address _bridge,
address _remoteToken
)
ERC20PermitPermissionedOptiMintable(
_creator_address,
_timelock_address,
_bridge,
_remoteToken,
"Frax Price Index Share",
"FPIS"
)
{}
}
7 changes: 7 additions & 0 deletions src/contracts/fraxtal/fpis/IFPI.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
pragma solidity ^0.8.0;

import { IERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/interfaces/IERC20PermitPermissionedOptiMintable.sol";

/// @title IFPIS
/// @notice Interface for the FPIS contract
interface IFPIS is IERC20PermitPermissionedOptiMintable {}
24 changes: 3 additions & 21 deletions src/contracts/fraxtal/frxBTC/FrxBTC.sol
Original file line number Diff line number Diff line change
@@ -1,25 +1,7 @@
pragma solidity ^0.8.0;

import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol";
import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol";

contract FrxBTC is ERC20PermitPermissionedOptiMintable {
/// @param _creator_address The contract creator
/// @param _timelock_address The timelock
/// @param _bridge Address of the L2 standard bridge
/// @param _remoteToken Address of the corresponding L1 token
constructor(
address _creator_address,
address _timelock_address,
address _bridge,
address _remoteToken
)
ERC20PermitPermissionedOptiMintable(
_creator_address,
_timelock_address,
_bridge,
_remoteToken,
"Frax Bitcoin",
"frxBTC"
)
{}
contract FrxBTC is ERC20PermitPermissionedNonBridgeableMintable {
constructor() ERC20PermitPermissionedNonBridgeableMintable("Frax Bitcoin", "frxBTC") {}
}
2 changes: 1 addition & 1 deletion src/contracts/fraxtal/frxUSD/FrxUSD.sol
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ pragma solidity ^0.8.0;
import { FrxUSD3 } from "src/contracts/fraxtal/frxUSD/versioning/FrxUSD3.sol";

contract FrxUSD is FrxUSD3 {
constructor(address _bridge, address _remoteToken) FrxUSD3(_bridge, _remoteToken) {}
constructor() FrxUSD3() {}
}
26 changes: 4 additions & 22 deletions src/contracts/fraxtal/frxUSD/versioning/FrxUSD2.sol
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
pragma solidity ^0.8.0;

import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol";
import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol";

contract FrxUSD2 is ERC20PermitPermissionedOptiMintable {
contract FrxUSD2 is ERC20PermitPermissionedNonBridgeableMintable {
/// @notice Mapping indicating which addresses are frozen
mapping(address => bool) public isFrozen;

Expand All @@ -17,28 +17,10 @@ contract FrxUSD2 is ERC20PermitPermissionedOptiMintable {
/// @notice Upgrade version of the contract
/// @dev Does not impact EIP712 version, which is automatically set to "1" in constructor
function version() public pure virtual override returns (string memory) {
return "2.0.1";
return "2.1.0";
}

/// @param _creator_address The contract creator
/// @param _timelock_address The timelock
/// @param _bridge Address of the L2 standard bridge
/// @param _remoteToken Address of the corresponding L1 token
constructor(
address _creator_address,
address _timelock_address,
address _bridge,
address _remoteToken
)
ERC20PermitPermissionedOptiMintable(
_creator_address,
_timelock_address,
_bridge,
_remoteToken,
"Frax USD",
"frxUSD"
)
{}
constructor() ERC20PermitPermissionedNonBridgeableMintable("Frax USD", "frxUSD") {}

function addFreezer(address _freezer) external onlyOwner {
if (isFreezer[_freezer]) revert AlreadyFreezer();
Expand Down
2 changes: 1 addition & 1 deletion src/contracts/fraxtal/frxUSD/versioning/FrxUSD3.sol
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ contract FrxUSD3 is FrxUSD2, EIP3009Module, PermitModule {
return "3.0.0";
}

constructor(address _bridge, address _remoteToken) FrxUSD2(address(1), address(1), _bridge, _remoteToken) {}
constructor() FrxUSD2() {}

/*//////////////////////////////////////////////////////////////
Module Overrides
Expand Down
24 changes: 3 additions & 21 deletions src/contracts/fraxtal/sfrxETH/SfrxETH.sol
Original file line number Diff line number Diff line change
@@ -1,26 +1,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity >=0.8.0;

import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol";
import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol";

contract SfrxETH is ERC20PermitPermissionedOptiMintable {
/// @param _creator_address The contract creator
/// @param _timelock_address The timelock
/// @param _bridge Address of the L2 standard bridge
/// @param _remoteToken Address of the corresponding L1 token
constructor(
address _creator_address,
address _timelock_address,
address _bridge,
address _remoteToken
)
ERC20PermitPermissionedOptiMintable(
_creator_address,
_timelock_address,
_bridge,
_remoteToken,
"Staked Frax Ether",
"sfrxETH"
)
{}
contract SfrxETH is ERC20PermitPermissionedNonBridgeableMintable {
constructor() ERC20PermitPermissionedNonBridgeableMintable("Staked Frax Ether", "sfrxETH") {}
}
2 changes: 1 addition & 1 deletion src/contracts/fraxtal/sfrxUSD/SfrxUSD.sol
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ pragma solidity ^0.8.0;
import { SfrxUSD2 } from "src/contracts/fraxtal/sfrxUSD/versioning/SfrxUSD2.sol";

contract SfrxUSD is SfrxUSD2 {
constructor(address _bridge, address _remoteToken) SfrxUSD2(_bridge, _remoteToken) {}
constructor() SfrxUSD2() {}
}
26 changes: 4 additions & 22 deletions src/contracts/fraxtal/sfrxUSD/versioning/SfrxUSD.sol
Original file line number Diff line number Diff line change
@@ -1,29 +1,11 @@
pragma solidity ^0.8.0;

import { ERC20PermitPermissionedOptiMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedOptiMintable.sol";
import { ERC20PermitPermissionedNonBridgeableMintable } from "src/contracts/fraxtal/shared/ERC20PermitPermissionedNonBridgeableMintable.sol";

contract SfrxUSD is ERC20PermitPermissionedOptiMintable {
contract SfrxUSD is ERC20PermitPermissionedNonBridgeableMintable {
function version() public pure virtual override returns (string memory) {
return "1.0.0";
return "1.1.0";
}

/// @param _creator_address The contract creator
/// @param _timelock_address The timelock
/// @param _bridge Address of the L2 standard bridge
/// @param _remoteToken Address of the corresponding L1 token
constructor(
address _creator_address,
address _timelock_address,
address _bridge,
address _remoteToken
)
ERC20PermitPermissionedOptiMintable(
_creator_address,
_timelock_address,
_bridge,
_remoteToken,
"Staked Frax USD",
"sfrxUSD"
)
{}
constructor() ERC20PermitPermissionedNonBridgeableMintable("Staked Frax USD", "sfrxUSD") {}
}
4 changes: 2 additions & 2 deletions src/contracts/fraxtal/sfrxUSD/versioning/SfrxUSD2.sol
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ import { EIP3009Module, SignatureModule } from "src/contracts/shared/core/module
/// @dev v3.0.0 adds ERC-1271 and EIP-3009 support
contract SfrxUSD2 is SfrxUSD, EIP3009Module, PermitModule {
function version() public pure override returns (string memory) {
return "2.0.0";
return "2.0.1";
}

constructor(address _bridge, address _remoteToken) SfrxUSD(address(1), address(1), _bridge, _remoteToken) {}
constructor() SfrxUSD() {}

/*//////////////////////////////////////////////////////////////
Module Overrides
Expand Down
Loading