-
Notifications
You must be signed in to change notification settings - Fork 0
Global supervisor rebalancing + auto-register + strict proofs + E2E tests #76
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
Merged
Merged
Changes from 97 commits
Commits
Show all changes
101 commits
Select commit
Hold shift + click to select a range
9d683ae
Scheduled rebalancing: strict proof + logging
kgrgpg 1328184
Global supervisor architecture for production-grade rebalancing
kgrgpg eaf0409
Per-tide perpetual rebalancing: handler auto-reschedules next run + m…
kgrgpg 860d7f1
Auto-register new Tides on creation
kgrgpg 22d76d6
Add auto-register rebalance E2E script (two-terminal)
kgrgpg d833ef6
Cleanup: remove committed logs and .DS_Store; ignore future run_logs/…
kgrgpg ffe84e9
Repo cleanup: remove redundant deployment/testnet scripts and duplica…
kgrgpg 6dd2bc0
tests: increase supervisor wait and polling window for multi-tide E2E
kgrgpg c105c5d
tests: make auto-register E2E robust (sed fee extraction, retry on ti…
kgrgpg 06a510c
scheduler: Supervisor self-reschedules via registry; registry stores …
kgrgpg 0db89c1
tests: auto-register E2E use 10s supervisor recurrence for faster see…
kgrgpg 261a7c8
tests: schedule Supervisor after creating new tide to ensure seeding;…
kgrgpg de080df
tests: auto-register E2E retry supervisor seeding once if child not f…
kgrgpg 3724952
tests: auto-register E2E fallback to manual child schedule if supervi…
kgrgpg 95ab264
tests: auto-register E2E bump drift right before execution to ensure …
kgrgpg 82c48b4
fix(local/setup_emulator): correct EVM address extraction to avoid '0…
kgrgpg 3fbdd1c
tests(single): tolerate nil tide list; robust extraction without set …
kgrgpg cd6ba15
chore: add get_registered_tide_ids script; sync emulator starter; fre…
kgrgpg e1b4bfb
Fix scheduler test deployment and cancellation on scheduled-rebalancing
kgrgpg 1f46409
Merge origin/main into scheduled-rebalancing
kgrgpg 3cf03b1
Harden scheduler access, remove proofs, add supervisor+GC tests
kgrgpg a5e7832
Add recurring rebalancing supervisor test
kgrgpg 7f5fa7f
Tighten recurring supervisor test to require at least one execution
kgrgpg 3449061
Assert next recurring child job is scheduled after execution
kgrgpg 2e1fe1e
Docs: summarize FlowVaults scheduler hardening and tests
kgrgpg 0178794
Revert FlowALP submodule to main branch version
kgrgpg 33a574b
Align FlowVaultsStrategies and test helpers with main + scheduler stack
kgrgpg 2b0bf5e
Simplify .gitignore key patterns (rely on *.pkey/*.pem)
kgrgpg d2d723c
Add dedicated scheduled rebalancing CI workflow
kgrgpg 38218cf
Add comprehensive rebalancing architecture documentation
kgrgpg e62e425
Merge branch 'main' into scheduled-rebalancing
Kay-Zee 29ba554
Move relevant md into docs
Kay-Zee d609ebe
Flow.json fix
Kay-Zee efacc8f
Scheduler hardening: GC, capability reuse, edge case tests, constants…
kgrgpg e07cfd2
Fix scheduling test
Kay-Zee 7ab987e
fix(tests): align childInterval to 5s across supervisor tests
kgrgpg 202874d
fix(tests): increase scheduling offset to prevent CI flakiness
kgrgpg 56479e5
Merge main into scheduled-rebalancing
kgrgpg 566546c
refactor: atomic scheduling, remove wrapper, add supervisor recovery
kgrgpg e26869c
docs: add PR review response document addressing all comments
kgrgpg 9ccf5c4
docs: remove obsolete analysis files
kgrgpg 7a1c0d9
docs: update documentation to match current architecture
kgrgpg 76e5b4b
docs: remove pr_review_responses.md (posted as PR comment)
kgrgpg f8c19cb
fix: restore ERC4626 integration in FlowVaultsStrategies
kgrgpg bba51dc
fix: handle stale scheduled transactions and add test funding
kgrgpg 7c3d2e8
fix: add FlowVaultsScheduler contracts to emulator deployments
kgrgpg 5cb32d3
fix: restore flow.json from main and add scheduler contracts only
kgrgpg 062c0e5
fix: restore flow.json and test_helpers.cdc with scheduler/ERC4626 in…
kgrgpg ec79ef1
fix: remove --skip-alias flag from CI workflows
kgrgpg 06e4a63
fix: restore local scripts to use tidal account from main
kgrgpg 5f5caf9
fix: add missing FlowVaultsStrategies init arguments to flow.json
kgrgpg 820edc9
fix: restore FlowVaultsStrategies 4-arg init signature to match main
kgrgpg 556456a
fix: sync with origin/main and add scheduler contracts
kgrgpg aa34ac2
fix: add tidal account alias for E2E and IncrementFi tests
kgrgpg 75d7c4d
fix: sync setup_emulator.sh from origin/main
kgrgpg 806e9de
fix: remove MOET from emulator deployments
kgrgpg 163e560
fix: sync local scripts and flow.json with origin/main
kgrgpg c9364c7
fix: add 20% fee margin buffer for scheduling
kgrgpg 2479635
Add PR review acknowledgment documenting AI-assisted development lear…
kgrgpg 0ef0683
Implement native AutoBalancer recurring scheduling
kgrgpg 6f8bcde
feat(tests): comprehensive test coverage for native AutoBalancer sche…
kgrgpg 96044e7
feat(tests): comprehensive scheduled rebalancing tests with clear exp…
kgrgpg 433081a
feat(tests): use Test.reset for isolation with strict exact assertions
kgrgpg 9c74470
fix: Update tests for native AutoBalancer scheduling architecture
kgrgpg 02377e2
feat: Update pagination test to use 150 tides (3x MAX_BATCH_SIZE)
kgrgpg 45bee5e
fix: Correct testFailedTideCannotRecoverWithoutSupervisor expectations
kgrgpg 52a6258
feat: Supervisor auto-detects stuck tides (security + architecture im…
kgrgpg a469248
feat: Add stuck tide detection tests and helper scripts
kgrgpg 153816f
Add insufficient funds recovery test
kgrgpg 68f640f
Enhance insufficient funds recovery test
kgrgpg 47453cb
Fix: Seeded tides now resume self-scheduling after recovery
kgrgpg 5096723
Add restartRecurring flag for Supervisor recovery
kgrgpg 4f7cebc
Fix tests: pagination stress now verifies 3 executions per tide, fail…
kgrgpg e0b6f5c
Update FlowALP: Fee margin buffer fix for scheduling
kgrgpg dc54119
docs: Update proposal with FlowActions PR link
kgrgpg 6134b43
refactor: Merge SchedulerManager into Supervisor
kgrgpg 7f978c7
docs: Update proposal to reflect merged SchedulerManager/Supervisor a…
kgrgpg af192d2
docs: Add detailed explanation of isInternallyManaged vs restartRecur…
kgrgpg cf8785c
fix: Tighten access control and reduce MAX_BATCH_SIZE to 5
kgrgpg db8bca1
docs: Update comments to reflect MAX_BATCH_SIZE=5
kgrgpg 5b4e39d
docs: Fix minTotalExecutions comment (519 -> 54)
kgrgpg 6adc499
fix: Restrict ensureSupervisorConfigured to access(account)
kgrgpg b44b2ce
docs: Explain why isInternallyManaged cannot be set to true
kgrgpg 4efa8a7
docs: Explain why Supervisor can't call scheduleNextRebalance directl…
kgrgpg 97325af
docs: Explain why Schedule capability to Supervisor wouldn't work (fe…
kgrgpg c3919cc
docs: Correct explanation - Schedule capability would work, restartRe…
kgrgpg 58b70af
refactor: Use Schedule capability for Supervisor recovery instead of …
kgrgpg e3019f7
docs: Add comprehensive summary of all PR review changes
kgrgpg 64c8bb2
docs: Remove commit history and test results from summary
kgrgpg 72a3e02
docs: Add FlowActions PR link to changes summary
kgrgpg e3c166c
test: Add assertions to verify balance changes after each rebalance
kgrgpg 75efd4c
test: Add comprehensive balance assertions for all rounds in all tests
kgrgpg 6effe91
refactor: Address PR review feedback on tests and init
kgrgpg 59333a5
refactor: Remove deployFlowVaultsSchedulerIfNeeded function
kgrgpg b87c507
fix: Add balance assertions to integration tests
kgrgpg ff399e7
refactor: Remove redundant setup_supervisor.cdc
kgrgpg 7196ac5
remove PR review mds
Kay-Zee 5ce334f
cleanup
Kay-Zee df7d910
Add back MOET config to emulator setup
Kay-Zee e6c63a0
more generic cursorignore
Kay-Zee 0f1e02f
Attempt to re-introduce skip alias
Kay-Zee File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| { | ||
| "setup-worktree": [ | ||
| "npm install" | ||
| ] | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
|
|
||
| keshav-scheduled-testnet.pkey | ||
| demo2.pkey |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| name: Scheduled Rebalance Tests | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| - scheduled-rebalancing | ||
| pull_request: | ||
| branches: | ||
| - main | ||
|
|
||
| jobs: | ||
| scheduled-rebalance-tests: | ||
| name: FlowVaults Scheduled Rebalancing Tests | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| token: ${{ secrets.GH_PAT }} | ||
| submodules: recursive | ||
| - name: Set up Go | ||
| uses: actions/setup-go@v3 | ||
| with: | ||
| go-version: "1.23.x" | ||
| - uses: actions/cache@v4 | ||
| with: | ||
| path: ~/go/pkg/mod | ||
| key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-go- | ||
| - name: Install Flow CLI | ||
| run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" | ||
| - name: Flow CLI Version | ||
| run: flow version | ||
| - name: Update PATH | ||
| run: echo "/root/.local/bin" >> $GITHUB_PATH | ||
| - name: Install dependencies | ||
| run: flow deps install --skip-deployments | ||
| - name: Run scheduled rebalancing tests | ||
| run: | | ||
| flow test \ | ||
| cadence/tests/scheduled_rebalance_integration_test.cdc \ | ||
| cadence/tests/scheduled_rebalance_scenario_test.cdc \ | ||
| cadence/tests/tide_lifecycle_test.cdc \ | ||
| cadence/tests/atomic_registration_gc_test.cdc \ | ||
| cadence/tests/scheduled_supervisor_test.cdc \ | ||
| cadence/tests/scheduler_edge_cases_test.cdc | ||
|
|
||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -20,3 +20,6 @@ solidity/out/ | |
| broadcast | ||
| cache | ||
| db | ||
|
|
||
| # logs | ||
| run_logs/*.log | ||
|
Binary file not shown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why npm? there is no nodejs code here