Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kevin/stack too deep rewards #85

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
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
234 changes: 119 additions & 115 deletions .gas-snapshot
Original file line number Diff line number Diff line change
@@ -1,116 +1,120 @@
ApproveAndSwapTest:testSwap() (gas: 285492)
ApproveAndSwapTest:testSwapFailsIfWeExpectedTooMuch() (gas: 364765)
ApproveAndSwapTest:testSwapFailsWithNoApproval() (gas: 122254)
CCTPBridge:testBridgeToBase() (gas: 146874)
CometClaimRewardsTest:testClaimComp() (gas: 131265)
CometRepayAndWithdrawMultipleAssetsTest:testInvalidInput() (gas: 68180)
CometRepayAndWithdrawMultipleAssetsTest:testRepayAndWithdrawMultipleAssets() (gas: 153860)
CometSupplyMultipleAssetsAndBorrowTest:testInvalidInput() (gas: 68123)
CometSupplyMultipleAssetsAndBorrowTest:testSupplyMultipleAssetsAndBorrow() (gas: 295260)
ConditionalMulticallTest:testConditionalRunEmptyInputIsValid() (gas: 51386)
ConditionalMulticallTest:testConditionalRunInvalidInput() (gas: 68840)
ConditionalMulticallTest:testConditionalRunMulticallError() (gas: 316436)
ConditionalMulticallTest:testConditionalRunOnPeriodicRepay() (gas: 340313)
ConditionalMulticallTest:testConditionalRunPassed() (gas: 284615)
ConditionalMulticallTest:testConditionalRunUnmet() (gas: 103718)
EthcallTest:testEthcallCallReraiseError() (gas: 76316)
EthcallTest:testEthcallCounter() (gas: 69662)
EthcallTest:testEthcallShouldReturnCallResult() (gas: 52545)
EthcallTest:testEthcallSupplyUSDCToComet() (gas: 171965)
EthcallTest:testEthcallWithdrawUSDCFromComet() (gas: 296115)
GetDripTest:testDrip() (gas: 120591)
MorphoActionsTest:testRepayAndWithdrawCollateral() (gas: 130575)
MorphoActionsTest:testRepayMaxAndWithdrawCollateral() (gas: 118293)
MorphoActionsTest:testSupplyCollateralAndBorrow() (gas: 250037)
MorphoRewardsActionsTest:testClaim() (gas: 112124)
MorphoRewardsActionsTest:testClaimAll() (gas: 186069)
MorphoVaultActionsTest:testDeposit() (gas: 762206)
MorphoVaultActionsTest:testWithdraw() (gas: 570979)
MulticallTest:testCallcodeToMulticallSucceedsWhenUninitialized() (gas: 83316)
MulticallTest:testCreateSubWalletAndExecute() (gas: 619226)
MulticallTest:testEmptyInputIsValid() (gas: 50892)
MulticallTest:testExecutorCanMulticallAcrossSubwallets() (gas: 303309)
MulticallTest:testInvalidInput() (gas: 68358)
MulticallTest:testInvokeCounterTwice() (gas: 83470)
MulticallTest:testMulticallError() (gas: 309667)
MulticallTest:testMulticallShouldReturnCallResults() (gas: 86409)
MulticallTest:testRevertsForInvalidCallContext() (gas: 11574)
MulticallTest:testSupplyWETHWithdrawUSDCOnComet() (gas: 259628)
PaycallTest:testInitializeProperlyFromConstructor() (gas: 6430)
PaycallTest:testPaycallForPayWithUSDT() (gas: 125307)
PaycallTest:testPaycallForPayWithWBTC() (gas: 119793)
PaycallTest:testPaycallRevertsWhenCallReverts() (gas: 72350)
PaycallTest:testReturnCallResult() (gas: 92209)
PaycallTest:testRevertWhenCostIsMoreThanMaxPaymentCost() (gas: 119383)
PaycallTest:testRevertsForInvalidCallContext() (gas: 16562)
PaycallTest:testSimpleCounterAndPayWithUSDC() (gas: 148804)
PaycallTest:testSimpleTransferTokenAndPayWithUSDC() (gas: 144444)
PaycallTest:testSupplyWETHWithdrawUSDCOnCometAndPayWithUSDC() (gas: 305017)
PaycallWrapperTest:testSimpleTransferAndWrapForPaycall() (gas: 1342091)
QuotecallTest:testInitializeProperlyFromConstructor() (gas: 7036)
QuotecallTest:testQuotecallForPayWithUSDT() (gas: 125408)
QuotecallTest:testQuotecallForPayWithWBTC() (gas: 119962)
QuotecallTest:testQuotecallRevertsWhenCallReverts() (gas: 108579)
QuotecallTest:testReturnCallResult() (gas: 112319)
QuotecallTest:testRevertsForInvalidCallContext() (gas: 16537)
QuotecallTest:testRevertsWhenQuoteTooHigh() (gas: 155229)
QuotecallTest:testRevertsWhenQuoteTooLow() (gas: 155071)
QuotecallTest:testSimpleCounterAndPayWithUSDC() (gas: 148952)
QuotecallTest:testSimpleTransferTokenAndPayWithUSDC() (gas: 144596)
QuotecallWrapperTest:testSimpleTransferAndWrapForQuotecall() (gas: 1407584)
RecurringSwapTest:testCancelRecurringSwap() (gas: 293567)
RecurringSwapTest:testRecurringSwapCanSwapMultipleTimes() (gas: 425136)
RecurringSwapTest:testRecurringSwapExactInAlternateSwap() (gas: 229791)
RecurringSwapTest:testRecurringSwapExactInSwap() (gas: 237508)
RecurringSwapTest:testRecurringSwapExactOutAlternateSwap() (gas: 233113)
RecurringSwapTest:testRecurringSwapExactOutSwap() (gas: 239457)
RecurringSwapTest:testRecurringSwapWithDifferentCalldata() (gas: 724141)
RecurringSwapTest:testRecurringSwapWithMultiplePriceFeeds() (gas: 254663)
RecurringSwapTest:testRevertsForExpiredQuarkOperation() (gas: 12817)
RecurringSwapTest:testRevertsForInvalidInput() (gas: 143492)
RecurringSwapTest:testRevertsForSwapBeforeNextSwapWindow() (gas: 307929)
ApproveAndSwapTest:testSwap() (gas: 273935)
ApproveAndSwapTest:testSwapFailsIfWeExpectedTooMuch() (gas: 335013)
ApproveAndSwapTest:testSwapFailsWithNoApproval() (gas: 92109)
CCTPBridge:testBridgeToBase() (gas: 128036)
CometClaimRewardsTest:testClaimComp() (gas: 127404)
CometRepayAndWithdrawMultipleAssetsTest:testInvalidInput() (gas: 44602)
CometRepayAndWithdrawMultipleAssetsTest:testRepayAndWithdrawMultipleAssets() (gas: 134584)
CometSupplyMultipleAssetsAndBorrowTest:testInvalidInput() (gas: 44546)
CometSupplyMultipleAssetsAndBorrowTest:testSupplyMultipleAssetsAndBorrow() (gas: 276105)
ConditionalMulticallTest:testConditionalRunEmptyInputIsValid() (gas: 44953)
ConditionalMulticallTest:testConditionalRunInvalidInput() (gas: 45053)
ConditionalMulticallTest:testConditionalRunMulticallError() (gas: 288790)
ConditionalMulticallTest:testConditionalRunOnPeriodicRepay() (gas: 276093)
ConditionalMulticallTest:testConditionalRunPassed() (gas: 266956)
ConditionalMulticallTest:testConditionalRunUnmet() (gas: 76859)
EthcallTest:testEthcallCallReraiseError() (gas: 53333)
EthcallTest:testEthcallCounter() (gas: 65125)
EthcallTest:testEthcallShouldReturnCallResult() (gas: 45940)
EthcallTest:testEthcallSupplyUSDCToComet() (gas: 152864)
EthcallTest:testEthcallWithdrawUSDCFromComet() (gas: 305482)
GetDripTest:testDrip() (gas: 117212)
MorphoActionsTest:testRepayAndWithdrawCollateral() (gas: 124949)
MorphoActionsTest:testRepayMaxAndWithdrawCollateral() (gas: 99344)
MorphoActionsTest:testSupplyCollateralAndBorrow() (gas: 246334)
MorphoInfoTest:testBaseMainnet() (gas: 1622233)
MorphoInfoTest:testBaseSepolia() (gas: 743646)
MorphoInfoTest:testEthMainnet() (gas: 2636638)
MorphoInfoTest:testEthSepolia() (gas: 644206)
MorphoRewardsActionsTest:testClaim() (gas: 107567)
MorphoRewardsActionsTest:testClaimAll() (gas: 179400)
MorphoVaultActionsTest:testDeposit() (gas: 758763)
MorphoVaultActionsTest:testWithdraw() (gas: 567620)
MulticallTest:testCallcodeToMulticallSucceedsWhenUninitialized() (gas: 73035)
MulticallTest:testCreateSubWalletAndExecute() (gas: 602078)
MulticallTest:testEmptyInputIsValid() (gas: 44599)
MulticallTest:testExecutorCanMulticallAcrossSubwallets() (gas: 251487)
MulticallTest:testInvalidInput() (gas: 44813)
MulticallTest:testInvokeCounterTwice() (gas: 73189)
MulticallTest:testMulticallError() (gas: 281688)
MulticallTest:testMulticallShouldReturnCallResults() (gas: 75670)
MulticallTest:testRevertsForInvalidCallContext() (gas: 11543)
MulticallTest:testSupplyWETHWithdrawUSDCOnComet() (gas: 246618)
PaycallTest:testInitializeProperlyFromConstructor() (gas: 6412)
PaycallTest:testPaycallAddress() (gas: 204118)
PaycallTest:testPaycallForPayWithUSDT() (gas: 115625)
PaycallTest:testPaycallForPayWithWBTC() (gas: 108765)
PaycallTest:testPaycallRevertsWhenCallReverts() (gas: 49555)
PaycallTest:testReturnCallResult() (gas: 85461)
PaycallTest:testRevertWhenCostIsMoreThanMaxPaymentCost() (gas: 95221)
PaycallTest:testRevertsForInvalidCallContext() (gas: 15789)
PaycallTest:testSimpleCounterAndPayWithUSDC() (gas: 136629)
PaycallTest:testSimpleTransferTokenAndPayWithUSDC() (gas: 137984)
PaycallTest:testSupplyWETHWithdrawUSDCOnCometAndPayWithUSDC() (gas: 289774)
PaycallWrapperTest:testSimpleTransferAndWrapForPaycall() (gas: 4289135)
QuotecallTest:testInitializeProperlyFromConstructor() (gas: 6996)
QuotecallTest:testQuotecallForPayWithUSDT() (gas: 115729)
QuotecallTest:testQuotecallForPayWithWBTC() (gas: 108950)
QuotecallTest:testQuotecallRevertsWhenCallReverts() (gas: 85838)
QuotecallTest:testReturnCallResult() (gas: 105548)
QuotecallTest:testRevertsForInvalidCallContext() (gas: 15764)
QuotecallTest:testRevertsWhenQuoteTooHigh() (gas: 131301)
QuotecallTest:testRevertsWhenQuoteTooLow() (gas: 131143)
QuotecallTest:testSimpleCounterAndPayWithUSDC() (gas: 136765)
QuotecallTest:testSimpleTransferTokenAndPayWithUSDC() (gas: 138132)
QuotecallWrapperTest:testSimpleTransferAndWrapForQuotecall() (gas: 4347080)
RecurringSwapTest:testCancelRecurringSwap() (gas: 272600)
RecurringSwapTest:testRecurringSwapCanSwapMultipleTimes() (gas: 337021)
RecurringSwapTest:testRecurringSwapExactInAlternateSwap() (gas: 216061)
RecurringSwapTest:testRecurringSwapExactInSwap() (gas: 223781)
RecurringSwapTest:testRecurringSwapExactOutAlternateSwap() (gas: 219405)
RecurringSwapTest:testRecurringSwapExactOutSwap() (gas: 225744)
RecurringSwapTest:testRecurringSwapWithDifferentCalldata() (gas: 570083)
RecurringSwapTest:testRecurringSwapWithMultiplePriceFeeds() (gas: 240880)
RecurringSwapTest:testRevertsForExpiredQuarkOperation() (gas: 9578)
RecurringSwapTest:testRevertsForInvalidInput() (gas: 91043)
RecurringSwapTest:testRevertsForSwapBeforeNextSwapWindow() (gas: 245871)
RecurringSwapTest:testRevertsForSwapBeforeStartTime() (gas: 9223372036854754743)
RecurringSwapTest:testRevertsWhenSlippageParamsConfiguredWrong() (gas: 260596)
RecurringSwapTest:testRevertsWhenSlippageTooHigh() (gas: 260796)
SupplyActionsTest:testInvalidInput() (gas: 67616)
SupplyActionsTest:testRepayBorrow() (gas: 89628)
SupplyActionsTest:testSupply() (gas: 131927)
SupplyActionsTest:testSupplyFrom() (gas: 111824)
SupplyActionsTest:testSupplyMultipleCollateral() (gas: 270579)
SupplyActionsTest:testSupplyTo() (gas: 131476)
TransferActionsTest:testRevertsForTransferERC777ReentrancyAttackWithReentrancyGuard() (gas: 148745)
TransferActionsTest:testRevertsForTransferReentrancyAttackWithReentrancyGuard() (gas: 130322)
TransferActionsTest:testRevertsForTransferReentrancyAttackWithoutCallbackEnabled() (gas: 99351)
TransferActionsTest:testRevertsForTransferReentrantAttackWithStolenSignature() (gas: 110234)
TransferActionsTest:testTransferERC20TokenToEOA() (gas: 70280)
TransferActionsTest:testTransferERC20TokenToQuarkWallet() (gas: 71604)
TransferActionsTest:testTransferERC777SuccessWithEvilReceiverWithoutAttackAttempt() (gas: 106630)
TransferActionsTest:testTransferERC777TokenReentrancyAttackSuccessWithCallbackEnabled() (gas: 144402)
TransferActionsTest:testTransferNativeTokenToEOA() (gas: 79394)
TransferActionsTest:testTransferNativeTokenToQuarkWallet() (gas: 54956)
TransferActionsTest:testTransferReentrancyAttackSuccessWithCallbackEnabled() (gas: 128482)
TransferActionsTest:testTransferSuccessWithEvilReceiverWithoutAttackAttempt() (gas: 87222)
UniswapFlashLoanTest:testFlashLoanForCollateralSwapOnCompound() (gas: 426291)
UniswapFlashLoanTest:testRevertsForInsufficientFundsToRepayFlashLoan() (gas: 192671)
UniswapFlashLoanTest:testRevertsForInvalidCaller() (gas: 70165)
UniswapFlashLoanTest:testRevertsIfCalledDirectly() (gas: 10598)
UniswapFlashLoanTest:testTokensOrderInvariant() (gas: 94563)
UniswapFlashSwapExactOutTest:testInvalidCallerFlashSwap() (gas: 70209)
UniswapFlashSwapExactOutTest:testNotEnoughToPayFlashSwap() (gas: 293339)
UniswapFlashSwapExactOutTest:testRevertsIfCalledDirectly() (gas: 10724)
UniswapFlashSwapExactOutTest:testUniswapFlashSwapExactOutLeverageComet() (gas: 353254)
UniswapSwapActionsTest:testApprovalRefund() (gas: 163410)
UniswapSwapActionsTest:testBuyAssetOneStop() (gas: 250917)
UniswapSwapActionsTest:testBuyAssetTwoStops() (gas: 357575)
UniswapSwapActionsTest:testSellAssetOneStop() (gas: 248255)
UniswapSwapActionsTest:testSellAssetTwoStops() (gas: 361500)
WithdrawActionsTest:testBorrow() (gas: 153735)
WithdrawActionsTest:testInvalidInput() (gas: 67488)
WithdrawActionsTest:testWithdraw() (gas: 83594)
WithdrawActionsTest:testWithdrawFrom() (gas: 83108)
WithdrawActionsTest:testWithdrawMultipleAssets() (gas: 159195)
WithdrawActionsTest:testWithdrawTo() (gas: 83573)
WrapperScriptsTest:testUnwrapWETH() (gas: 57751)
WrapperScriptsTest:testUnwrapWstETH() (gas: 100520)
WrapperScriptsTest:testWrapETH() (gas: 76834)
WrapperScriptsTest:testWrapStETH() (gas: 124640)
RecurringSwapTest:testRevertsWhenSlippageParamsConfiguredWrong() (gas: 227765)
RecurringSwapTest:testRevertsWhenSlippageTooHigh() (gas: 227969)
SupplyActionsTest:testInvalidInput() (gas: 44611)
SupplyActionsTest:testRepayBorrow() (gas: 70904)
SupplyActionsTest:testSupply() (gas: 113213)
SupplyActionsTest:testSupplyFrom() (gas: 93016)
SupplyActionsTest:testSupplyMultipleCollateral() (gas: 251264)
SupplyActionsTest:testSupplyTo() (gas: 112708)
TransferActionsTest:testRevertsForTransferERC777ReentrancyAttackWithReentrancyGuard() (gas: 98027)
TransferActionsTest:testRevertsForTransferReentrancyAttackWithReentrancyGuard() (gas: 78814)
TransferActionsTest:testRevertsForTransferReentrancyAttackWithoutCallbackEnabled() (gas: 73817)
TransferActionsTest:testRevertsForTransferReentrantAttackWithStolenSignature() (gas: 84625)
TransferActionsTest:testTransferERC20TokenToEOA() (gas: 51656)
TransferActionsTest:testTransferERC20TokenToQuarkWallet() (gas: 52976)
TransferActionsTest:testTransferERC777SuccessWithEvilReceiverWithoutAttackAttempt() (gas: 74483)
TransferActionsTest:testTransferERC777TokenReentrancyAttackSuccessWithCallbackEnabled() (gas: 110337)
TransferActionsTest:testTransferNativeTokenToEOA() (gas: 75996)
TransferActionsTest:testTransferNativeTokenToQuarkWallet() (gas: 50662)
TransferActionsTest:testTransferReentrancyAttackSuccessWithCallbackEnabled() (gas: 93738)
TransferActionsTest:testTransferSuccessWithEvilReceiverWithoutAttackAttempt() (gas: 54853)
UniswapFlashLoanTest:testFlashLoanForCollateralSwapOnCompound() (gas: 368458)
UniswapFlashLoanTest:testRevertsForInsufficientFundsToRepayFlashLoan() (gas: 138730)
UniswapFlashLoanTest:testRevertsForInvalidCaller() (gas: 46273)
UniswapFlashLoanTest:testTokensOrderInvariant() (gas: 81719)
UniswapFlashSwapExactOutTest:testInvalidCallerFlashSwap() (gas: 46469)
UniswapFlashSwapExactOutTest:testNotEnoughToPayFlashSwap() (gas: 233929)
UniswapFlashSwapExactOutTest:testRevertsIfCalledDirectly() (gas: 104305)
UniswapFlashSwapExactOutTest:testUniswapFlashSwapExactOutLeverageComet() (gas: 311072)
UniswapSwapActionsTest:testApprovalRefund() (gas: 159188)
UniswapSwapActionsTest:testBuyAssetOneStop() (gas: 250010)
UniswapSwapActionsTest:testBuyAssetTwoStops() (gas: 363122)
UniswapSwapActionsTest:testSellAssetOneStop() (gas: 246694)
UniswapSwapActionsTest:testSellAssetTwoStops() (gas: 368042)
WithdrawActionsTest:testBorrow() (gas: 150239)
WithdrawActionsTest:testInvalidInput() (gas: 44591)
WithdrawActionsTest:testWithdraw() (gas: 64886)
WithdrawActionsTest:testWithdrawFrom() (gas: 64296)
WithdrawActionsTest:testWithdrawMultipleAssets() (gas: 139993)
WithdrawActionsTest:testWithdrawTo() (gas: 64824)
WrapperScriptsTest:testUnwrapWETH() (gas: 39141)
WrapperScriptsTest:testUnwrapWstETH() (gas: 87724)
WrapperScriptsTest:testWrapETH() (gas: 73485)
WrapperScriptsTest:testWrapStETH() (gas: 105947)
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: "nightly-de33b6af53005037b463318d2628b5cfcaf39916"
version: nightly

- name: Install dependencies
run: forge install
Expand Down
4 changes: 2 additions & 2 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
src = "src"
out = "out"
test = "test"
solc = "0.8.23"
evm_version = "paris"
solc = "0.8.27"
evm_version = "cancun"
bytecode_hash = "none"
cbor_metadata = false

Expand Down
2 changes: 1 addition & 1 deletion lib/quark
Submodule quark updated 101 files
7 changes: 1 addition & 6 deletions script/DeployQuarkScripts.s.sol
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

import "forge-std/Script.sol";
import "forge-std/console.sol";

import {CodeJar} from "codejar/src/CodeJar.sol";

import {QuarkWallet} from "quark-core/src/QuarkWallet.sol";
import {QuarkStateManager} from "quark-core/src/QuarkStateManager.sol";

import {Ethcall} from "quark-core-scripts/src/Ethcall.sol";
import {Multicall} from "quark-core-scripts/src/Multicall.sol";

import {QuarkWalletProxyFactory} from "quark-proxy/src/QuarkWalletProxyFactory.sol";

import {
CometSupplyActions,
CometWithdrawActions,
Expand Down
2 changes: 1 addition & 1 deletion src/BridgeScripts.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol";
import {ITokenMessenger} from "./interfaces/ITokenMessenger.sol";
Expand Down
41 changes: 41 additions & 0 deletions src/Cancel.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.27;

import {IQuarkWallet} from "quark-core/src/QuarkWallet.sol";
import {QuarkNonceManager} from "quark-core/src/QuarkNonceManager.sol";

/**
* @title Cancel Core Script
* @notice Core transaction script that can be used to cancel quark operations.
* @author Legend Labs, Inc.
*/
contract Cancel {
/**
* @notice May cancel a script by being run as a no-op (no operation).
*/
function nop() external pure {}

/**
* @notice Cancels a script by calling into nonce manager to cancel the script's nonce.
* @param nonce The nonce of the quark operation to cancel (exhaust)
*/
function cancel(bytes32 nonce) external {
nonceManager().cancel(nonce);
}

/**
* @notice Cancels many scripts by calling into nonce manager to cancel each script's nonce.
* @param nonces A list of nonces of the quark operations to cancel (exhaust)
*/
function cancelMany(bytes32[] calldata nonces) external {
QuarkNonceManager manager = nonceManager();
for (uint256 i = 0; i < nonces.length; ++i) {
bytes32 nonce = nonces[i];
manager.cancel(nonce);
}
}

function nonceManager() internal view returns (QuarkNonceManager) {
return QuarkNonceManager(IQuarkWallet(address(this)).nonceManager());
}
}
2 changes: 1 addition & 1 deletion src/ConditionalMulticall.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

import "./lib/ConditionalChecker.sol";

Expand Down
2 changes: 1 addition & 1 deletion src/DeFiScripts.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol";
import {SafeERC20} from "openzeppelin/token/ERC20/utils/SafeERC20.sol";
Expand Down
2 changes: 1 addition & 1 deletion src/Ethcall.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

/**
* @title Ethcall Core Script
Expand Down
2 changes: 1 addition & 1 deletion src/GetDrip.sol
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pragma solidity 0.8.23;
pragma solidity 0.8.27;

// To handle loading up new accounts on stage and dev
interface Fauceteer {
Expand Down
2 changes: 1 addition & 1 deletion src/MorphoScripts.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol";
import {SafeERC20} from "openzeppelin/token/ERC20/utils/SafeERC20.sol";
Expand Down
2 changes: 1 addition & 1 deletion src/Multicall.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

/**
* @title Multicall Core Script
Expand Down
2 changes: 1 addition & 1 deletion src/Paycall.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

import "./vendor/chainlink/AggregatorV3Interface.sol";
import "openzeppelin/token/ERC20/utils/SafeERC20.sol";
Expand Down
2 changes: 1 addition & 1 deletion src/Quotecall.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity 0.8.23;
pragma solidity 0.8.27;

import "./vendor/chainlink/AggregatorV3Interface.sol";
import "openzeppelin/token/ERC20/utils/SafeERC20.sol";
Expand Down
Loading