From a8264c0714f3bd723802b30ff37a490534acc85a Mon Sep 17 00:00:00 2001 From: crStiv Date: Sun, 27 Jul 2025 18:03:32 +0200 Subject: [PATCH 1/8] Update VestingSchedulerV2.sol --- .../scheduler/contracts/VestingSchedulerV2.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/automation-contracts/scheduler/contracts/VestingSchedulerV2.sol b/packages/automation-contracts/scheduler/contracts/VestingSchedulerV2.sol index 89464102a6..54bba3b547 100644 --- a/packages/automation-contracts/scheduler/contracts/VestingSchedulerV2.sol +++ b/packages/automation-contracts/scheduler/contracts/VestingSchedulerV2.sol @@ -441,7 +441,7 @@ contract VestingSchedulerV2 is IVestingSchedulerV2, SuperAppBase { if (!disableClaimCheck && schedule.claimValidityDate != 0) revert ScheduleNotClaimed(); - // Ensure that the claming date is after the cliff/flow date and before the claim validity date + // Ensure that the claiming date is after the cliff/flow date and before the claim validity date if (schedule.cliffAndFlowDate > block.timestamp || _lteDateToExecuteCliffAndFlow(schedule) < block.timestamp) revert TimeWindowInvalid(); From 0d29e7a07c7ae3495b3e89f20f1b004b1888cefa Mon Sep 17 00:00:00 2001 From: crStiv Date: Sun, 27 Jul 2025 18:04:54 +0200 Subject: [PATCH 2/8] Update VestingSchedulerV3.sol --- .../scheduler/contracts/VestingSchedulerV3.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/automation-contracts/scheduler/contracts/VestingSchedulerV3.sol b/packages/automation-contracts/scheduler/contracts/VestingSchedulerV3.sol index d8445d1478..d726ea4197 100644 --- a/packages/automation-contracts/scheduler/contracts/VestingSchedulerV3.sol +++ b/packages/automation-contracts/scheduler/contracts/VestingSchedulerV3.sol @@ -32,7 +32,7 @@ using SuperTokenV1Library for ISuperToken; * The contract uses ERC-20 allowance and Superfluid ACL flow operator permissions * to automate the vesting on behalf of the sender. * The contract is designed to be used with an off-chain automation to execute the vesting start and end. - * The start and end executions are permisionless. + * The start and end executions are permissionless. * Execution delays are handled with token transfer compensations, but watch out for complete expiries! * @custom:metadata The official addresses and subgraphs can be found from @superfluid-finance/metadata package. */ @@ -760,7 +760,7 @@ contract VestingSchedulerV3 is IVestingSchedulerV3, IRelayRecipient { revert ScheduleNotClaimed(); } - // Ensure that the claming date is after the cliff/flow date and before the claim validity date + // Ensure that the claiming date is after the cliff/flow date and before the claim validity date if (schedule.cliffAndFlowDate > block.timestamp || _lteDateToExecuteCliffAndFlow(schedule) < block.timestamp) { revert TimeWindowInvalid(); } From 1588c53967a2d1ed846203ee785b855d0d2d0a3d Mon Sep 17 00:00:00 2001 From: crStiv Date: Sun, 27 Jul 2025 18:05:08 +0200 Subject: [PATCH 3/8] Update FlowScheduler.t.sol --- .../automation-contracts/scheduler/test/FlowScheduler.t.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/automation-contracts/scheduler/test/FlowScheduler.t.sol b/packages/automation-contracts/scheduler/test/FlowScheduler.t.sol index 7c1bb94efd..fd1183aadb 100644 --- a/packages/automation-contracts/scheduler/test/FlowScheduler.t.sol +++ b/packages/automation-contracts/scheduler/test/FlowScheduler.t.sol @@ -50,7 +50,7 @@ contract FlowSchedulerTest is FoundrySuperfluidTester { bytes userData ); - /// @dev This is required by solidity for using the SupertTokenV1Library in the tester + /// @dev This is required by solidity for using the SuperTokenV1Library in the tester using SuperTokenV1Library for SuperToken; constructor() FoundrySuperfluidTester(3) {} FlowScheduler internal flowScheduler; From 7935a0e8cf2f04bcea04b22c2d837aeef01e9568 Mon Sep 17 00:00:00 2001 From: crStiv Date: Sun, 27 Jul 2025 18:06:09 +0200 Subject: [PATCH 4/8] Update InstantDistributionAgreementV1-Non-Callback.test.ts --- .../InstantDistributionAgreementV1-Non-Callback.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ethereum-contracts/test/contracts/agreements/InstantDistributionAgreementV1-Non-Callback.test.ts b/packages/ethereum-contracts/test/contracts/agreements/InstantDistributionAgreementV1-Non-Callback.test.ts index 273a819d23..e618592595 100644 --- a/packages/ethereum-contracts/test/contracts/agreements/InstantDistributionAgreementV1-Non-Callback.test.ts +++ b/packages/ethereum-contracts/test/contracts/agreements/InstantDistributionAgreementV1-Non-Callback.test.ts @@ -117,7 +117,7 @@ describe("IDAv1 | Non-Callback Tests", function () { ); }); - it("#1.1.3 publisher should fail to query non-existant index", async () => { + it("#1.1.3 publisher should fail to query non-existent index", async () => { const idata = await t.contracts.ida.getIndex( superToken.address, alice, From 027a2030c78bc8c0644a60856746e8e5690fd421 Mon Sep 17 00:00:00 2001 From: crStiv Date: Sun, 27 Jul 2025 18:06:29 +0200 Subject: [PATCH 5/8] Update FlowSchedulerResolver.t.sol --- .../scheduler/test/FlowSchedulerResolver.t.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/automation-contracts/scheduler/test/FlowSchedulerResolver.t.sol b/packages/automation-contracts/scheduler/test/FlowSchedulerResolver.t.sol index 573ef10a31..a51dac07a8 100644 --- a/packages/automation-contracts/scheduler/test/FlowSchedulerResolver.t.sol +++ b/packages/automation-contracts/scheduler/test/FlowSchedulerResolver.t.sol @@ -350,7 +350,7 @@ contract FlowSchedulerResolverTest is FoundrySuperfluidTester { expectUnexecutable(); } - function testDeleteNonExistantStreamAfterEndDate() public { + function testDeleteNonExistentStreamAfterEndDate() public { vm.startPrank(alice); uint32 defaultEndDate = defaultStartDate + uint32(3600); From 2ab51c9fe6ff41c62124dc9c89c9fdc8dd5aec52 Mon Sep 17 00:00:00 2001 From: crStiv Date: Sun, 27 Jul 2025 18:06:56 +0200 Subject: [PATCH 6/8] Update VestingSchedulerV2.t.sol --- .../scheduler/test/VestingSchedulerV2.t.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/automation-contracts/scheduler/test/VestingSchedulerV2.t.sol b/packages/automation-contracts/scheduler/test/VestingSchedulerV2.t.sol index 2ad00c07b6..0d2718928a 100644 --- a/packages/automation-contracts/scheduler/test/VestingSchedulerV2.t.sol +++ b/packages/automation-contracts/scheduler/test/VestingSchedulerV2.t.sol @@ -2418,7 +2418,7 @@ contract VestingSchedulerV2Tests is FoundrySuperfluidTester { uint32 newEndDate = type(uint32).max - 1234; - // Setting up a batch call. Superfluid Protocol will replace the emtpy context with data about the sender. That's where the sender is retrieved from. + // Setting up a batch call. Superfluid Protocol will replace the empty context with data about the sender. That's where the sender is retrieved from. ISuperfluid.Operation[] memory ops = new ISuperfluid.Operation[](1); ops[0] = ISuperfluid.Operation({ operationType: BatchOperation.OPERATION_TYPE_SUPERFLUID_CALL_APP_ACTION, From ce3c48a428d28dc27e338fba8fbdf9e65a294aca Mon Sep 17 00:00:00 2001 From: "Miao, ZhiCheng" Date: Wed, 6 Aug 2025 14:43:59 +0300 Subject: [PATCH 7/8] forge-std: v1.9.1 -> v1.10.0 --- lib/forge-std | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/forge-std b/lib/forge-std index 07263d193d..8bbcf6e3f8 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit 07263d193d621c4b2b0ce8b4d54af58f6957d97d +Subproject commit 8bbcf6e3f8f62f419e5429a0bd89331c85c37824 From 71918b431d454ab734897c569c3f9a3f9c801992 Mon Sep 17 00:00:00 2001 From: "Miao, ZhiCheng" Date: Wed, 6 Aug 2025 15:03:27 +0300 Subject: [PATCH 8/8] fix automation contracts --- packages/automation-contracts/autowrap/test/Manager.t.sol | 2 +- .../automation-contracts/autowrap/test/WrapStrategy.t.sol | 4 ++-- .../automation-contracts/scheduler/test/FlowScheduler.t.sol | 2 +- .../scheduler/test/VestingSchedulerV2.t.sol | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/automation-contracts/autowrap/test/Manager.t.sol b/packages/automation-contracts/autowrap/test/Manager.t.sol index ee81cfff0b..1441948c5c 100644 --- a/packages/automation-contracts/autowrap/test/Manager.t.sol +++ b/packages/automation-contracts/autowrap/test/Manager.t.sol @@ -89,7 +89,7 @@ contract ManagerTests is FoundrySuperfluidTester { new Manager(address(sf.cfa), 2, 1); } - function testDeploymentCheckData() public { + function testDeploymentCheckData() public view { assertEq(address(manager.cfaV1()), address(sf.cfa), "manager.cfaV1 not equal"); assertEq(manager.owner(), admin, "manager.owner not equal"); assertEq(manager.minLower(), MIN_LOWER, "manager.minLower not equal"); diff --git a/packages/automation-contracts/autowrap/test/WrapStrategy.t.sol b/packages/automation-contracts/autowrap/test/WrapStrategy.t.sol index 327c8fca24..9d56150faf 100644 --- a/packages/automation-contracts/autowrap/test/WrapStrategy.t.sol +++ b/packages/automation-contracts/autowrap/test/WrapStrategy.t.sol @@ -93,14 +93,14 @@ contract WrapStrategyTests is FoundrySuperfluidTester { // SuperToken - function testSupportedSuperToken() public { + function testSupportedSuperToken() public view { assertTrue( wrapStrategy.isSupportedSuperToken(superToken), "SuperToken should be supported" ); } - function testCannotNonSupportedSuperToken() public { + function testCannotNonSupportedSuperToken() public view { assertTrue( !wrapStrategy.isSupportedSuperToken(nativeSuperToken), "Native SuperToken shouldn't be supported" diff --git a/packages/automation-contracts/scheduler/test/FlowScheduler.t.sol b/packages/automation-contracts/scheduler/test/FlowScheduler.t.sol index fd1183aadb..2d9d49b1dd 100644 --- a/packages/automation-contracts/scheduler/test/FlowScheduler.t.sol +++ b/packages/automation-contracts/scheduler/test/FlowScheduler.t.sol @@ -232,7 +232,7 @@ contract FlowSchedulerTest is FoundrySuperfluidTester { superToken, alice, defaultStartDate, uint32(1000), int96(1000), defaultStartAmount, defaultStartDate + uint32(3600), "", "" ); - vm.expectRevert(0xa3eab6ac); // error CFA_ACL_OPERATOR_NO_CREATE_PERMISSIONS() -> 0xa3eab6ac + vm.expectRevert(bytes4(0xa3eab6ac)); // error CFA_ACL_OPERATOR_NO_CREATE_PERMISSIONS() -> 0xa3eab6ac vm.warp(defaultStartDate + 1000); vm.prank(admin); flowScheduler.executeCreateFlow(superToken, bob,alice,""); diff --git a/packages/automation-contracts/scheduler/test/VestingSchedulerV2.t.sol b/packages/automation-contracts/scheduler/test/VestingSchedulerV2.t.sol index 0d2718928a..73c42cb5d6 100644 --- a/packages/automation-contracts/scheduler/test/VestingSchedulerV2.t.sol +++ b/packages/automation-contracts/scheduler/test/VestingSchedulerV2.t.sol @@ -200,7 +200,7 @@ contract VestingSchedulerV2Tests is FoundrySuperfluidTester { address superToken, address sender, address receiver - ) public { + ) public view { VestingSchedulerV2.VestingSchedule memory schedule = vestingScheduler.getVestingSchedule(superToken, sender, receiver); VestingSchedulerV2.VestingSchedule memory deletedSchedule;