Skip to content

Commit

Permalink
formatting and naming fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
jhweintraub committed Oct 22, 2024
1 parent 0bd89b5 commit ba9c004
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 66 deletions.
70 changes: 35 additions & 35 deletions contracts/gas-snapshots/ccip.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,13 @@ CommitStore_verify:test_Paused_Revert() (gas: 18568)
CommitStore_verify:test_TooManyLeaves_Revert() (gas: 36848)
DefensiveExampleTest:test_HappyPath_Success() (gas: 200200)
DefensiveExampleTest:test_Recovery() (gas: 424476)
E2E:test_E2E_3MessagesSuccess_gas() (gas: 1108425)
E2E:test_E2E_3MessagesSuccess_gas() (gas: 1141917)
EVM2EVMOffRamp__releaseOrMintToken:test__releaseOrMintToken_NotACompatiblePool_Revert() (gas: 38322)
EVM2EVMOffRamp__releaseOrMintToken:test__releaseOrMintToken_Success() (gas: 104438)
EVM2EVMOffRamp__releaseOrMintToken:test__releaseOrMintToken_TokenHandlingError_transfer_Revert() (gas: 86026)
EVM2EVMOffRamp__releaseOrMintToken:test__releaseOrMintToken_TokenHandlingError_transfer_Revert() (gas: 83526)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_InvalidDataLength_Revert() (gas: 37365)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_ReleaseOrMintBalanceMismatch_Revert() (gas: 95013)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_TokenHandlingError_BalanceOf_Revert() (gas: 40341)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_TokenHandlingError_BalanceOf_Revert() (gas: 37841)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_skip_ReleaseOrMintBalanceMismatch_if_pool_Revert() (gas: 87189)
EVM2EVMOffRamp__releaseOrMintTokens:test_OverValueWithARLOff_Success() (gas: 381594)
EVM2EVMOffRamp__releaseOrMintTokens:test_PriceNotFoundForToken_Reverts() (gas: 140568)
Expand Down Expand Up @@ -319,33 +319,33 @@ EtherSenderReceiverTest_validatedMessage:test_validatedMessage_emptyDataOverwrit
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_invalidTokenAmounts() (gas: 17925)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_tokenOverwrittenToWeth() (gas: 25329)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_validMessage_extraArgs() (gas: 26370)
FactoryBurnMintERC20approve:testApproveSuccess() (gas: 55767)
FactoryBurnMintERC20approve:testInvalidAddressReverts() (gas: 10709)
FactoryBurnMintERC20burn:testBasicBurnSuccess() (gas: 172380)
FactoryBurnMintERC20burn:testBurnFromZeroAddressReverts() (gas: 47384)
FactoryBurnMintERC20burn:testExceedsBalanceReverts() (gas: 21962)
FactoryBurnMintERC20burn:testSenderNotBurnerReverts() (gas: 13491)
FactoryBurnMintERC20burnFrom:testBurnFromSuccess() (gas: 58212)
FactoryBurnMintERC20burnFrom:testExceedsBalanceReverts() (gas: 36130)
FactoryBurnMintERC20burnFrom:testInsufficientAllowanceReverts() (gas: 22054)
FactoryBurnMintERC20burnFrom:testSenderNotBurnerReverts() (gas: 13491)
FactoryBurnMintERC20burnFromAlias:testBurnFromSuccess() (gas: 58187)
FactoryBurnMintERC20burnFromAlias:testExceedsBalanceReverts() (gas: 36094)
FactoryBurnMintERC20burnFromAlias:testInsufficientAllowanceReverts() (gas: 22009)
FactoryBurnMintERC20burnFromAlias:testSenderNotBurnerReverts() (gas: 13446)
FactoryBurnMintERC20constructor:testConstructorSuccess() (gas: 1501073)
FactoryBurnMintERC20decreaseApproval:testDecreaseApprovalSuccess() (gas: 31323)
FactoryBurnMintERC20grantMintAndBurnRoles:testGrantMintAndBurnRolesSuccess() (gas: 121439)
FactoryBurnMintERC20grantRole:testGrantBurnAccessSuccess() (gas: 53612)
FactoryBurnMintERC20grantRole:testGrantManySuccess() (gas: 963184)
FactoryBurnMintERC20grantRole:testGrantMintAccessSuccess() (gas: 94434)
FactoryBurnMintERC20increaseApproval:testIncreaseApprovalSuccess() (gas: 44368)
FactoryBurnMintERC20mint:testBasicMintSuccess() (gas: 149987)
FactoryBurnMintERC20mint:testMaxSupplyExceededReverts() (gas: 50703)
FactoryBurnMintERC20mint:testSenderNotMinterReverts() (gas: 11328)
FactoryBurnMintERC20supportsInterface:testConstructorSuccess() (gas: 11396)
FactoryBurnMintERC20transfer:testInvalidAddressReverts() (gas: 10707)
FactoryBurnMintERC20transfer:testTransferSuccess() (gas: 42427)
FactoryBurnMintERC20approve:test_Approve_Success() (gas: 55766)
FactoryBurnMintERC20approve:test_InvalidAddress_Reverts() (gas: 10709)
FactoryBurnMintERC20burn:test_BasicBurn_Success() (gas: 172431)
FactoryBurnMintERC20burn:test_BurnFromZeroAddress_Reverts() (gas: 47352)
FactoryBurnMintERC20burn:test_ExceedsBalance_Reverts() (gas: 21939)
FactoryBurnMintERC20burn:test_SenderNotBurner_Reverts() (gas: 13493)
FactoryBurnMintERC20burnFrom:test_BurnFrom_Success() (gas: 58231)
FactoryBurnMintERC20burnFrom:test_ExceedsBalance_Reverts() (gas: 36138)
FactoryBurnMintERC20burnFrom:test_InsufficientAllowance_Reverts() (gas: 22031)
FactoryBurnMintERC20burnFrom:test_SenderNotBurner_Reverts() (gas: 13460)
FactoryBurnMintERC20burnFromAlias:test_BurnFrom_Success() (gas: 58205)
FactoryBurnMintERC20burnFromAlias:test_ExceedsBalance_Reverts() (gas: 36102)
FactoryBurnMintERC20burnFromAlias:test_InsufficientAllowance_Reverts() (gas: 21986)
FactoryBurnMintERC20burnFromAlias:test_SenderNotBurner_Reverts() (gas: 13415)
FactoryBurnMintERC20constructor:test_Constructor_Success() (gas: 1501116)
FactoryBurnMintERC20decreaseApproval:test_DecreaseApproval_Success() (gas: 31340)
FactoryBurnMintERC20grantMintAndBurnRoles:test_GrantMintAndBurnRoles_Success() (gas: 121440)
FactoryBurnMintERC20grantRole:test_GrantBurnAccess_Success() (gas: 53630)
FactoryBurnMintERC20grantRole:test_GrantMany_Success() (gas: 963163)
FactoryBurnMintERC20grantRole:test_GrantMintAccess_Success() (gas: 94417)
FactoryBurnMintERC20increaseApproval:test_IncreaseApproval_Success() (gas: 44345)
FactoryBurnMintERC20mint:test_BasicMint_Success() (gas: 149943)
FactoryBurnMintERC20mint:test_MaxSupplyExceeded_Reverts() (gas: 50681)
FactoryBurnMintERC20mint:test_SenderNotMinter_Reverts() (gas: 11372)
FactoryBurnMintERC20supportsInterface:test_SupportsInterface_Success() (gas: 11439)
FactoryBurnMintERC20transfer:test_InvalidAddress_Reverts() (gas: 10707)
FactoryBurnMintERC20transfer:test_Transfer_Success() (gas: 42449)
FeeQuoter_applyDestChainConfigUpdates:test_InvalidChainFamilySelector_Revert() (gas: 16878)
FeeQuoter_applyDestChainConfigUpdates:test_InvalidDestChainConfigDestChainSelectorEqZero_Revert() (gas: 16780)
FeeQuoter_applyDestChainConfigUpdates:test_applyDestChainConfigUpdatesDefaultTxGasLimitEqZero_Revert() (gas: 16822)
Expand Down Expand Up @@ -539,7 +539,7 @@ MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithRateLimitExce
MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithRateLimitReset_Success() (gas: 76561)
MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithTokensOnDifferentChains_Success() (gas: 308233)
MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithTokens_Success() (gas: 50558)
MultiAggregateRateLimiter_onOutboundMessage:test_RateLimitValueDifferentLanes_Success() (gas: 1073669578)
MultiAggregateRateLimiter_onOutboundMessage:test_RateLimitValueDifferentLanes_Success() (gas: 51181)
MultiAggregateRateLimiter_onOutboundMessage:test_ValidateMessageWithNoTokens_Success() (gas: 19302)
MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageFromUnauthorizedCaller_Revert() (gas: 15913)
MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageWithDifferentTokensOnDifferentChains_Success() (gas: 209885)
Expand Down Expand Up @@ -593,7 +593,7 @@ MultiOCR3Base_transmit:test_UnauthorizedSigner_Revert() (gas: 61275)
MultiOCR3Base_transmit:test_UnconfiguredPlugin_Revert() (gas: 39933)
MultiOCR3Base_transmit:test_ZeroSignatures_Revert() (gas: 33049)
MultiOnRampTokenPoolReentrancy:test_OnRampTokenPoolReentrancy_Success() (gas: 233732)
MultiRampsE2E:test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: 1501821)
MultiRampsE2E:test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: 1518567)
NonceManager_NonceIncrementation:test_getIncrementedOutboundNonce_Success() (gas: 37934)
NonceManager_NonceIncrementation:test_incrementInboundNonce_Skip() (gas: 23706)
NonceManager_NonceIncrementation:test_incrementInboundNonce_Success() (gas: 38778)
Expand Down Expand Up @@ -661,7 +661,7 @@ OffRamp_batchExecute:test_Unhealthy_Success() (gas: 554256)
OffRamp_batchExecute:test_ZeroReports_Revert() (gas: 10622)
OffRamp_ccipReceive:test_Reverts() (gas: 15407)
OffRamp_commit:test_CommitOnRampMismatch_Revert() (gas: 92905)
OffRamp_commit:test_FailedRMNVerification_Reverts() (gas: 64099)
OffRamp_commit:test_FailedRMNVerification_Reverts() (gas: 61599)
OffRamp_commit:test_InvalidIntervalMinLargerThanMax_Revert() (gas: 68173)
OffRamp_commit:test_InvalidInterval_Revert() (gas: 64291)
OffRamp_commit:test_InvalidRootRevert() (gas: 63356)
Expand Down Expand Up @@ -755,10 +755,10 @@ OffRamp_manuallyExecute:test_manuallyExecute_WithMultiReportGasOverride_Success(
OffRamp_manuallyExecute:test_manuallyExecute_WithPartialMessages_Success() (gas: 347346)
OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken_NotACompatiblePool_Revert() (gas: 37656)
OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken_Success() (gas: 104404)
OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken_TokenHandlingError_transfer_Revert() (gas: 85342)
OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken_TokenHandlingError_transfer_Revert() (gas: 82842)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_InvalidDataLength_Revert() (gas: 36752)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_ReleaseOrMintBalanceMismatch_Revert() (gas: 94382)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_TokenHandlingError_BalanceOf_Revert() (gas: 39741)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_TokenHandlingError_BalanceOf_Revert() (gas: 37241)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_skip_ReleaseOrMintBalanceMismatch_if_pool_Revert() (gas: 86516)
OffRamp_releaseOrMintTokens:test_TokenHandlingError_Reverts() (gas: 162381)
OffRamp_releaseOrMintTokens:test__releaseOrMintTokens_PoolIsNotAPool_Reverts() (gas: 23903)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {IERC165} from "../../../vendor/openzeppelin-solidity/v4.8.3/contracts/ut
contract BurnMintERC20Setup is BaseTest {
FactoryBurnMintERC20 internal s_burnMintERC20;

address internal s_mockPool = address(6243783892);
address internal s_mockPool = makeAddr("s_mockPool");
uint256 internal s_amount = 1e18;

address internal s_alice;
Expand All @@ -31,7 +31,7 @@ contract BurnMintERC20Setup is BaseTest {
}

contract FactoryBurnMintERC20constructor is BurnMintERC20Setup {
function testConstructorSuccess() public {
function test_Constructor_Success() public {
string memory name = "Chainlink token v2";
string memory symbol = "LINK2";
uint8 decimals = 19;
Expand All @@ -52,7 +52,7 @@ contract FactoryBurnMintERC20constructor is BurnMintERC20Setup {
}

contract FactoryBurnMintERC20approve is BurnMintERC20Setup {
function testApproveSuccess() public {
function test_Approve_Success() public {
uint256 balancePre = s_burnMintERC20.balanceOf(STRANGER);
uint256 sendingAmount = s_amount / 2;

Expand All @@ -67,15 +67,15 @@ contract FactoryBurnMintERC20approve is BurnMintERC20Setup {

// Reverts

function testInvalidAddressReverts() public {
function test_InvalidAddress_Reverts() public {
vm.expectRevert();

s_burnMintERC20.approve(address(s_burnMintERC20), s_amount);
}
}

contract FactoryBurnMintERC20transfer is BurnMintERC20Setup {
function testTransferSuccess() public {
function test_Transfer_Success() public {
uint256 balancePre = s_burnMintERC20.balanceOf(STRANGER);
uint256 sendingAmount = s_amount / 2;

Expand All @@ -86,15 +86,15 @@ contract FactoryBurnMintERC20transfer is BurnMintERC20Setup {

// Reverts

function testInvalidAddressReverts() public {
function test_InvalidAddress_Reverts() public {
vm.expectRevert();

s_burnMintERC20.transfer(address(s_burnMintERC20), s_amount);
}
}

contract FactoryBurnMintERC20mint is BurnMintERC20Setup {
function testBasicMintSuccess() public {
function test_BasicMint_Success() public {
uint256 balancePre = s_burnMintERC20.balanceOf(OWNER);

s_burnMintERC20.grantMintAndBurnRoles(OWNER);
Expand All @@ -109,12 +109,12 @@ contract FactoryBurnMintERC20mint is BurnMintERC20Setup {

// Revert

function testSenderNotMinterReverts() public {
function test_SenderNotMinter_Reverts() public {
vm.expectRevert(abi.encodeWithSelector(FactoryBurnMintERC20.SenderNotMinter.selector, OWNER));
s_burnMintERC20.mint(STRANGER, 1e18);
}

function testMaxSupplyExceededReverts() public {
function test_MaxSupplyExceeded_Reverts() public {
changePrank(s_mockPool);

// Mint max supply
Expand All @@ -130,7 +130,7 @@ contract FactoryBurnMintERC20mint is BurnMintERC20Setup {
}

contract FactoryBurnMintERC20burn is BurnMintERC20Setup {
function testBasicBurnSuccess() public {
function test_BasicBurn_Success() public {
s_burnMintERC20.grantBurnRole(OWNER);
deal(address(s_burnMintERC20), OWNER, s_amount);

Expand All @@ -144,21 +144,21 @@ contract FactoryBurnMintERC20burn is BurnMintERC20Setup {

// Revert

function testSenderNotBurnerReverts() public {
function test_SenderNotBurner_Reverts() public {
vm.expectRevert(abi.encodeWithSelector(FactoryBurnMintERC20.SenderNotBurner.selector, OWNER));

s_burnMintERC20.burnFrom(STRANGER, s_amount);
}

function testExceedsBalanceReverts() public {
function test_ExceedsBalance_Reverts() public {
changePrank(s_mockPool);

vm.expectRevert("ERC20: burn amount exceeds balance");

s_burnMintERC20.burn(s_amount * 2);
}

function testBurnFromZeroAddressReverts() public {
function test_BurnFromZeroAddress_Reverts() public {
s_burnMintERC20.grantBurnRole(address(0));
changePrank(address(0));

Expand All @@ -173,7 +173,7 @@ contract FactoryBurnMintERC20burnFromAlias is BurnMintERC20Setup {
BurnMintERC20Setup.setUp();
}

function testBurnFromSuccess() public {
function test_BurnFrom_Success() public {
s_burnMintERC20.approve(s_mockPool, s_amount);

changePrank(s_mockPool);
Expand All @@ -185,21 +185,21 @@ contract FactoryBurnMintERC20burnFromAlias is BurnMintERC20Setup {

// Reverts

function testSenderNotBurnerReverts() public {
function test_SenderNotBurner_Reverts() public {
vm.expectRevert(abi.encodeWithSelector(FactoryBurnMintERC20.SenderNotBurner.selector, OWNER));

s_burnMintERC20.burn(OWNER, s_amount);
}

function testInsufficientAllowanceReverts() public {
function test_InsufficientAllowance_Reverts() public {
changePrank(s_mockPool);

vm.expectRevert("ERC20: insufficient allowance");

s_burnMintERC20.burn(OWNER, s_amount);
}

function testExceedsBalanceReverts() public {
function test_ExceedsBalance_Reverts() public {
s_burnMintERC20.approve(s_mockPool, s_amount * 2);

changePrank(s_mockPool);
Expand All @@ -215,7 +215,7 @@ contract FactoryBurnMintERC20burnFrom is BurnMintERC20Setup {
BurnMintERC20Setup.setUp();
}

function testBurnFromSuccess() public {
function test_BurnFrom_Success() public {
s_burnMintERC20.approve(s_mockPool, s_amount);

changePrank(s_mockPool);
Expand All @@ -227,21 +227,21 @@ contract FactoryBurnMintERC20burnFrom is BurnMintERC20Setup {

// Reverts

function testSenderNotBurnerReverts() public {
function test_SenderNotBurner_Reverts() public {
vm.expectRevert(abi.encodeWithSelector(FactoryBurnMintERC20.SenderNotBurner.selector, OWNER));

s_burnMintERC20.burnFrom(OWNER, s_amount);
}

function testInsufficientAllowanceReverts() public {
function test_InsufficientAllowance_Reverts() public {
changePrank(s_mockPool);

vm.expectRevert("ERC20: insufficient allowance");

s_burnMintERC20.burnFrom(OWNER, s_amount);
}

function testExceedsBalanceReverts() public {
function test_ExceedsBalance_Reverts() public {
s_burnMintERC20.approve(s_mockPool, s_amount * 2);

changePrank(s_mockPool);
Expand All @@ -253,7 +253,7 @@ contract FactoryBurnMintERC20burnFrom is BurnMintERC20Setup {
}

contract FactoryBurnMintERC20grantRole is BurnMintERC20Setup {
function testGrantMintAccessSuccess() public {
function test_GrantMintAccess_Success() public {
assertFalse(s_burnMintERC20.isMinter(STRANGER));

vm.expectEmit();
Expand All @@ -271,7 +271,7 @@ contract FactoryBurnMintERC20grantRole is BurnMintERC20Setup {
assertFalse(s_burnMintERC20.isMinter(STRANGER));
}

function testGrantBurnAccessSuccess() public {
function test_GrantBurnAccess_Success() public {
assertFalse(s_burnMintERC20.isBurner(STRANGER));

vm.expectEmit();
Expand All @@ -289,7 +289,7 @@ contract FactoryBurnMintERC20grantRole is BurnMintERC20Setup {
assertFalse(s_burnMintERC20.isBurner(STRANGER));
}

function testGrantManySuccess() public {
function test_GrantMany_Success() public {
// Since alice was already granted mint and burn roles in the setup, we will revoke them
// and then grant them again for the purposes of the test
s_burnMintERC20.revokeMintRole(s_alice);
Expand All @@ -310,7 +310,7 @@ contract FactoryBurnMintERC20grantRole is BurnMintERC20Setup {
}

contract FactoryBurnMintERC20grantMintAndBurnRoles is BurnMintERC20Setup {
function testGrantMintAndBurnRolesSuccess() public {
function test_GrantMintAndBurnRoles_Success() public {
assertFalse(s_burnMintERC20.isMinter(STRANGER));
assertFalse(s_burnMintERC20.isBurner(STRANGER));

Expand All @@ -327,7 +327,7 @@ contract FactoryBurnMintERC20grantMintAndBurnRoles is BurnMintERC20Setup {
}

contract FactoryBurnMintERC20decreaseApproval is BurnMintERC20Setup {
function testDecreaseApprovalSuccess() public {
function test_DecreaseApproval_Success() public {
s_burnMintERC20.approve(s_mockPool, s_amount);
uint256 allowance = s_burnMintERC20.allowance(OWNER, s_mockPool);
assertEq(allowance, s_amount);
Expand All @@ -337,7 +337,7 @@ contract FactoryBurnMintERC20decreaseApproval is BurnMintERC20Setup {
}

contract FactoryBurnMintERC20increaseApproval is BurnMintERC20Setup {
function testIncreaseApprovalSuccess() public {
function test_IncreaseApproval_Success() public {
s_burnMintERC20.approve(s_mockPool, s_amount);
uint256 allowance = s_burnMintERC20.allowance(OWNER, s_mockPool);
assertEq(allowance, s_amount);
Expand All @@ -347,7 +347,7 @@ contract FactoryBurnMintERC20increaseApproval is BurnMintERC20Setup {
}

contract FactoryBurnMintERC20supportsInterface is BurnMintERC20Setup {
function testConstructorSuccess() public view {
function test_SupportsInterface_Success() public view {
assertTrue(s_burnMintERC20.supportsInterface(type(IERC20).interfaceId));
assertTrue(s_burnMintERC20.supportsInterface(type(IBurnMintERC20).interfaceId));
assertTrue(s_burnMintERC20.supportsInterface(type(IERC165).interfaceId));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ contract TokenPoolFactorySetup is TokenAdminRegistrySetup {
bytes internal s_tokenCreationParams;
bytes internal s_tokenInitCode;

uint256 public constant PREMINT_AMOUNT = 1e20; // 100 tokens in 18 decimals
uint256 public constant PREMINT_AMOUNT = 100 ether;

function setUp() public virtual override {
TokenAdminRegistrySetup.setUp();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ contract FactoryBurnMintERC20 is IBurnMintERC20, IGetCCIPAdmin, IERC165, ERC20Bu
event BurnAccessGranted(address indexed burner);
event MintAccessRevoked(address indexed minter);
event BurnAccessRevoked(address indexed burner);

event CCIPAdminTransferred(address indexed previousAdmin, address indexed newAdmin);

/// @dev The number of decimals for the token
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ pragma solidity ^0.8.0;

import {IOptimismMintableERC20Minimal} from "../ERC20/IOptimismMintableERC20.sol";
import {IOptimismMintableERC20} from "../ERC20/IOptimismMintableERC20.sol";
import {IERC165} from "../../../vendor/openzeppelin-solidity/v4.8.3/contracts/utils/introspection/IERC165.sol";

import {BurnMintERC677} from "./BurnMintERC677.sol";

import {IERC165} from "../../../vendor/openzeppelin-solidity/v4.8.3/contracts/utils/introspection/IERC165.sol";

/// @notice A basic ERC677 compatible token contract with burn and minting roles that supports
/// the native L2 bridging requirements of the Optimism Stack.
/// @dev Note: the L2 bridge contract needs to be given burn and mint privileges manually,
Expand Down

0 comments on commit ba9c004

Please sign in to comment.