Skip to content

LH supply implementation and resolve LH tests#108

Merged
yan-man merged 19 commits intodevfrom
feat/lh-supply-refactor
Jan 23, 2025
Merged

LH supply implementation and resolve LH tests#108
yan-man merged 19 commits intodevfrom
feat/lh-supply-refactor

Conversation

@yan-man
Copy link
Copy Markdown
Contributor

@yan-man yan-man commented Jan 23, 2025

forge test --mc LiquidityHubTest to see passing tests

  • resolve some accounting on supply method implementation
  • resolve remaining LH tests to get passing CI
  • next PR: add more tests/assertions on remaining LH draw, restore, withdraw flow using current implementation

closes #79
closes #78

Comment thread src/contracts/AssetLogic.sol Outdated
Comment thread src/contracts/LiquidityHub.sol Outdated
Comment thread tests/Utils.t.sol
Comment thread tests/unit/LiquidityHubTest.t.sol
Comment thread tests/unit/LiquidityHubTest.t.sol Outdated
@yan-man yan-man changed the title Feat/lh supply refactor LH supply implementation and resolve tests Jan 23, 2025
@yan-man yan-man changed the title LH supply implementation and resolve tests LH supply implementation and resolve LH tests Jan 23, 2025
@yan-man yan-man marked this pull request as ready for review January 23, 2025 20:11
Comment thread src/contracts/LiquidityHub.sol
Comment thread src/contracts/LiquidityHub.sol
Comment thread tests/unit/LiquidityHubTest.t.sol
@yan-man yan-man merged commit 542d54e into dev Jan 23, 2025
@yan-man yan-man deleted the feat/lh-supply-refactor branch January 23, 2025 22:05
@yan-man yan-man self-assigned this Jan 25, 2025
DhairyaSethi pushed a commit that referenced this pull request Feb 17, 2025
* test: Assertions on spokeData

* test: Show sharesAmount accounting bug

* test: fix LH supply accounting, post shares conversion

* test: resolve supply tests

* test: test_supply_revertsWith_invalid_amount, update shares error

* test: test_supply_revertsWith_invalid_shares_amount

* test: clarify storage slots

* test: remove loading lib in test

* fix: no need to recast

* feat: update supply inputs to RP rad; fix draw test

* test: resolve remaining tests in LH

* chore: remove unneeded casting, clean up vm utils call

* chore: remove console2

* chore: remove console2

* test: add assertion

* chore: remove skip

* chore: rename LH test
@yan-man yan-man self-assigned this Feb 19, 2025
CheyenneAtapour added a commit that referenced this pull request Mar 9, 2025
* LH Refactor (#92)

* feat: Naive incremental avg calc

* wip: Poc risk premium calc

* feat: Skeleton code for risk premium calc

* feat: Fix lh rp math according to new specs

* fix: Name changes for clarity wrt new design

* feat: Borrow rate

* feat: Split interest accrual and br calcs

* feat: Use spoke drawn shares in LH br calc

* fix: Simplify names

* fix: Remove unused code

* test: Initial borrow rate test

* test: Supplying w same risk premium doesnt affect borrow rate

* feat: LH borrow rate calc

* wip: Adjust math on rp calcs

* wip: Update interest accrual, debugging tests

* fix: No accrual if zero drawn

* fix: Add back remainder of test

* wip: Supply test failing

* wip: Add todos

* fix: Update accrue interest function

* fix: Pass risk premium and weight separately

* wip: 2 spokes drawing fuzz test

* test: Fuzz risk premium with 2 spokes

* test: Add fuzz test rp 3 spokes

* fix: Stack too deep issue

* fix: Rename test

* wip: Final changes before new algo

* Resolve supply token transfer flow (#76)

* fix: Change token transfer flow during supply action

* test: Resolve approvals in tests

* test: Resolve broken tests due to approvals

* test: Resolve broken tests

* test: Add tests for insufficient allowance

* chore: Remove console2 import

* fix: Rename user to supplier; resolve tests with updated realistic setup

* test: Resolve tests

* fix: Resolve supply param

* test: Mint set value to user in tests

* test: Skip over vm.warp

* test: Fix unnecesary casting

* Resolve restore token flow (#77)

* upd: restore token flow based on latest spec

* upd: settler => repayer

* test: Resolve unnecessary casting

---------

Co-authored-by: dhairya <55102840+DhairyaSethi@users.noreply.github.com>

* wip: Refactor liquidity hub

* fix: Update borrow index and rename spoke shares

* wip: Refactor spoke

* wip: Refactoring tests

* fix: asset and supply amounts distinction

* fix: lib usage, use percentageMath abstractions over constants

* chore: clean getTotalAssets

* fix: cleanup asset conversion helpers

* fix: normalise new var usage

* chore: bring soke and interface up to date

* wip tests refactor

* chore: cleanup accrue interest existing impl

* feat: fix weighted avg calc

* test: comment new changes, test refactor needed, project compiles

* test: add `toMigrate` suffix

* chore: use abs imports

* fix: use correct available assets for exchange ratio

* chore: add decimals

* test: configure enviornment

* wip: liquidity hub risk premium test

* feat(weightedAvgLib): add precision before using lib

* feat: fix rp to rad and use in bps, room for more precision

* feat: LiquidityHub.Spoke => SpokeData

* feat: asset logic lib

* feat: spoke data logic lib

* todo: bug in interest rate strat

* test: liquidity hub risk premium base two scenario tests

* fix: use correct virtualUnderlyingBalance

* feat: make asset logic lib external

---------

Co-authored-by: Cheyenne Atapour <cheyenneatapour@gmail.com>
Co-authored-by: YBM <yan@avara.xyz>

* Short term bugfix for DefaultReserveInterestRateStrategy (#99)

* fix: Return values in ray

* chore: Add todo comment

* Fix _addSpoke struct order (#101)

* fix: Resolve _addSpoke struct order

* refactor: Params -> config consistent naming

* feat: radMul optimise interest calc (#106)

* Refactor Borrow Rate Tests (#109)

* fix: Wad math for borrow rate

* fix: Borrow rate test

* fix: Proper math on basic borrow rate tests

* fix: 2 spoke test

* feat: radMul optimise interest calc

* feat: Apply rad math for interest rate

* fix: Change test to exactly equal

* wip: Test 2 spokes diff weights

* wip: Two spokes diff weights test simplify math

* test: Fix everything except 3 spoke fuzz

* chore: Cleanup comments

* fix: Use rp from lh for 3 spoke fuzz test

* fix: Pr nits

* fix: Test naming conventions

* fix: Remove lh prefix in test names

---------

Co-authored-by: DhairyaSethi <55102840+DhairyaSethi@users.noreply.github.com>

* chore: skip pending tests (#113)

* LH `supply` implementation and resolve LH tests (#108)

* test: Assertions on spokeData

* test: Show sharesAmount accounting bug

* test: fix LH supply accounting, post shares conversion

* test: resolve supply tests

* test: test_supply_revertsWith_invalid_amount, update shares error

* test: test_supply_revertsWith_invalid_shares_amount

* test: clarify storage slots

* test: remove loading lib in test

* fix: no need to recast

* feat: update supply inputs to RP rad; fix draw test

* test: resolve remaining tests in LH

* chore: remove unneeded casting, clean up vm utils call

* chore: remove console2

* chore: remove console2

* test: add assertion

* chore: remove skip

* chore: rename LH test

* LH `withdraw` refactor and implementation (#115)

* test: Assertions on spokeData

* test: Show sharesAmount accounting bug

* test: fix LH supply accounting, post shares conversion

* test: resolve supply tests

* test: test_supply_revertsWith_invalid_amount, update shares error

* test: test_supply_revertsWith_invalid_shares_amount

* test: clarify storage slots

* test: remove loading lib in test

* fix: no need to recast

* feat: update supply inputs to RP rad; fix draw test

* test: resolve remaining tests in LH

* chore: remove unneeded casting, clean up vm utils call

* chore: remove console2

* chore: remove console2

* test: add assertion

* fix: resolve spoke shares after withdraw, resolve test

* test: test_withdraw_fuzz_events

* test: clarify assertions, resolve test_fuzz_first_supply

* test: test_supply_fuzz_multi

* test: test_withdraw_revertsWith_supplied_amount_exceeded

* chore: optimize unnecessary recasting, add method to interface

* chore: optimize utils

* chore: remove console2

* chore: todo next

* chore: remove short circuit from test

* chore: refactor according to code conventions

* test: fix bug

* test: revert casting to MockPriceOracle

* chore: bps format convention

* chore: default to vm.skip

* chore: avoid uint cast

* test: cleanup, use vm block timestamp

* chore: use vm timestamp

* test: add randomizer in base test

* chore: remove the internal method convention for tests

* chore: cast oracle in base test

* chore: fix remaining oracles casting in tests

* chore: remove todo comments

* refactor: resolve test_supply, use init env

* refactor: resolve supply tests

* test: resolve withdraw tests

* test: resolve draw tests

* test: resolve test_restore

* test: resolve restore tests

* refactor: finish migration to initEnv

* test: resolve draw tests with base test vars

* test: resolve tests, migration

* test: test_first_draw_same_block

* chore: clarify test names

* chore: clean up tests covered in separate file

* chore: rename tests according to conventions; draw fuzz test

* test: optimize, remove var

* test: test_restore_same_block

* chore: named struct syntax

* chore: named input arg syntax

* feat: return baseBorrowIndex from LH methods, update natspec

* refactor: update test utils to allow RP input; update spoke according to LH outputs

* test: test_supply_with_increased_index

* test: remove console.log; test_supply_with_increased_index with RP

* test: test_supply_with_increased_index_with_premium

* test: assertions on test_supply_with_increased_index

* chore: optimization on calc

* test: test_withdraw_all_with_interest

* test: clean up assertions for test_withdraw_all_with_interest

* test: test_restore_revertsWith_invalid_restore_amount_with_interest

* test: test_restore_fuzz_revertsWith_invalid_restore_amount_with_interest

* test: test_restore_revertsWith_invalid_restore_amount clean up minimal path

* test: test_restore_fuzz_revertsWith_invalid_restore_amount_with_interest_and_premium

* refactor: _setUpIncreasedIndex with rate input

* refactor: named arg syntax for _setUpIncreasedIndex

* test: test_restore_partial_premium; add some todo

* test: test_restore_fuzz_partial_premium

* fix: revert supply return vars

* test: test_restore_partial_premium_and_base; move internal method down

* test: expand bounds; test_restore_fuzz_partial_premium_and_base

* chore: add some comments

* test: consolidate tests into test_supply_fuzz

* test: test_supply_fuzz_multi_asset_multi_spoke

* chore: remove comments

* test: resolve fuzz test condition

* test: clean up and remove some redundancy

* chore: revert withdraw return params; clean up natspec, console log

* chore: remove unneeded vars

* test: optimize, remove unneeded

* refactor: add approvals to basetest setup

* refactor: remove unneeded fuzz input

* test: test_withdraw_fuzz_all_with_interest

* chore: remove some comments

* chore: revert changes to supply return args

* chore: remove unneeded var

* chore: migrate mock users, resolve tests

* chore: resolve test

* chore: resolve test

* chore: resolve test

* chore: resolve test

* chore: resolve test

* chore: resolve tests

* chore: resolve tests

* chore: resolve tests

* chore: resolve tests

* chore: resolve test

* chore: resolve test

* chore: resolve test

* chore: resolve tests, remove deal

* chore: resolve bound granularity

* chore: natspec, move to interface, update utils

* chore: typo

* chore: onBehalfOf -> to

* chore: revert some return sigs

* chore: update natspec

* chore: resolve compilation

* chore: inheritdoc

* chore: revert return sig

* chore: rename internal method

* chore: update error msg

* chore: restoreAmount > 0

* chore: clean up pranks; short circuit on zero accrued

* chore: resolve tests

* chore: resolve tests, cleanup

* chore: set a var to reuse; clean up prank

* refactor: re-arrange method args

* chore: method args

* refactor: naming

* chore: clean up prank

* refactor: load hub data more clearly through each action within test

* Accrue Interest Tests (#129)

* test: Simple base interest accrual

* test: Fuzz borrow amount and time elapsed

* wip: Outstanding rp test

* test: Accrue interest 10 percent rp

* test: Fuzz rp borrow amount and elapsed

* fix: Pr nits

* wip: Debugging accrual test changing rate

* wip: Testing borrow rate accrual when changed

* fix: Changing borrow rate accrual test

* feat: Move deal and approve to base test

* chore: Cleanup unneeded variables

* style: Use utils where appropriate

* test: Import utils relatively

* fix: Remove extraneous arg from utils calls

* style: Revert utils import style

* fix: resolve merged dev changes

* refactor: break out tests into separate file

* refactor: clean up file locations

* refactor: LH config tests separated

* chore: remove unneeded var

* chore: whitespace

* feat: Add new vars, skeleton supply code

* fix: Reorder code skeleton

* feat: Preview next borrow rate for accruing interest

* Resolve LH `draw`/`restore` (#128)

* feat: Implement accrue interest

* feat: Add liquidity premium to assets on hub

* feat: Implement updating single user risk premium

* feat: User specific accrue interest

* feat: Implement weighted avg rp on spoke

* style: Update variable names in update rp

* fix: Calculation of cumulated base debt

* fix: Single user rp calc

* fix: Remove legacy variables

* test: Unskip spoke tests

* test: Migrate existing supply tests

* test: Supply fuzz amounts

* fix: Requested PR changes

* test: Spoke supply insufficient allowance

* test: Move wbtc id to base test

* style: Replace simple helper functions

* feat: Withdraw implementation

* feat: Implement borrow

* feat: Mapping reserveId to assetId

* style: Move assetId to reserve struct

* fix: Remove sorting from user risk premium calc

* style: Change storage layout of users

* fix: Revert removal of helper functions

* feat: Implement repay

* fix: Remove self-referential reserve id

* fix: Usage of storage

* todo: Note where we can use shared logic library

* test: Check reserve supply shares

* chore: Remove todo

* test: No debt accrue interest tests

* fix: Only repay max debt

* fix: Only allow withdraw up to supplied amount

* fix: Allow max uint256 withdrawal

* fix: Only allow restoring up to max debt

* fix: Use assetId, revert hub changes

* fix: Cache supplied amount

* fix: Add back todos

* fix: Revert max withdraw and repay changes

* test: Borrow on spoke

* fix: Remove unused variable

* fix: Remove duplicated base debt adjustment logic

* test: Borrow fuzz amounts

* fix: Check 0 on LH functions

* test: 0 borrow amount

* test: Organize borrow and supply tests

* fix: Remove todos for max uint on hub

* fix: Misc pr fixes

* test: Use test errors library

* fix: Use assetId when converting to shares

* test: Use reserve id on spoke

* test: Invalid amount tests

* test: Different reserve ids vs asset ids

* test: Add extra dai asset in base

* test: Nonzero liquidity premiums

* fix: Inline return reserveId

* test: Create spoke info struct mapping

* test: Add dai2 ir. poc can't add same assetId twice to spoke

* fix: Misc pr changes requested

* fix: Do not add spoke again to lh for same asset

* fix: Minor requested changes on pr

* fix: Reorder params borrow and withdraw

* Add Spoke Logic (#140)

* refactor: resolve test_supply, use init env

* refactor: resolve supply tests

* test: resolve withdraw tests

* test: resolve draw tests

* test: resolve test_restore

* test: resolve restore tests

* refactor: finish migration to initEnv

* test: resolve draw tests with base test vars

* test: resolve tests, migration

* test: test_first_draw_same_block

* chore: clarify test names

* chore: clean up tests covered in separate file

* chore: rename tests according to conventions; draw fuzz test

* test: optimize, remove var

* test: test_restore_same_block

* chore: named struct syntax

* chore: named input arg syntax

* feat: return baseBorrowIndex from LH methods, update natspec

* refactor: update test utils to allow RP input; update spoke according to LH outputs

* test: test_supply_with_increased_index

* test: remove console.log; test_supply_with_increased_index with RP

* test: test_supply_with_increased_index_with_premium

* test: assertions on test_supply_with_increased_index

* chore: optimization on calc

* test: test_withdraw_all_with_interest

* test: clean up assertions for test_withdraw_all_with_interest

* test: test_restore_revertsWith_invalid_restore_amount_with_interest

* test: test_restore_fuzz_revertsWith_invalid_restore_amount_with_interest

* test: test_restore_revertsWith_invalid_restore_amount clean up minimal path

* test: test_restore_fuzz_revertsWith_invalid_restore_amount_with_interest_and_premium

* refactor: _setUpIncreasedIndex with rate input

* refactor: named arg syntax for _setUpIncreasedIndex

* test: test_restore_partial_premium; add some todo

* test: test_restore_fuzz_partial_premium

* fix: revert supply return vars

* test: test_restore_partial_premium_and_base; move internal method down

* test: expand bounds; test_restore_fuzz_partial_premium_and_base

* chore: add some comments

* test: consolidate tests into test_supply_fuzz

* test: test_supply_fuzz_multi_asset_multi_spoke

* chore: remove comments

* test: resolve fuzz test condition

* test: clean up and remove some redundancy

* chore: revert withdraw return params; clean up natspec, console log

* chore: remove unneeded vars

* test: optimize, remove unneeded

* refactor: add approvals to basetest setup

* refactor: remove unneeded fuzz input

* test: test_withdraw_fuzz_all_with_interest

* chore: remove some comments

* chore: revert changes to supply return args

* chore: remove unneeded var

* chore: migrate mock users, resolve tests

* chore: resolve test

* chore: resolve test

* chore: resolve test

* chore: resolve test

* chore: resolve test

* chore: resolve tests

* chore: resolve tests

* chore: resolve tests

* chore: resolve tests

* chore: resolve test

* chore: resolve test

* chore: resolve test

* chore: resolve tests, remove deal

* chore: resolve bound granularity

* chore: natspec, move to interface, update utils

* chore: typo

* chore: onBehalfOf -> to

* chore: revert some return sigs

* chore: update natspec

* chore: resolve compilation

* chore: inheritdoc

* chore: revert return sig

* chore: rename internal method

* chore: update error msg

* chore: restoreAmount > 0

* chore: clean up pranks; short circuit on zero accrued

* chore: resolve tests

* chore: resolve tests, cleanup

* chore: set a var to reuse; clean up prank

* refactor: re-arrange method args

* chore: method args

* refactor: naming

* chore: clean up prank

* refactor: load hub data more clearly through each action within test

* fix: resolve merged dev changes

* refactor: break out tests into separate file

* refactor: clean up file locations

* refactor: LH config tests separated

* chore: remove unneeded var

* chore: whitespace

* feat: Add new vars, skeleton supply code

* fix: Reorder code skeleton

* feat: Preview next borrow rate for accruing interest

* feat: Implement accrue interest

* feat: Add liquidity premium to assets on hub

* feat: Implement updating single user risk premium

* feat: User specific accrue interest

* feat: Implement weighted avg rp on spoke

* style: Update variable names in update rp

* fix: Calculation of cumulated base debt

* fix: Single user rp calc

* fix: Remove legacy variables

* test: Unskip spoke tests

* test: Migrate existing supply tests

* test: Supply fuzz amounts

* fix: Requested PR changes

* Rebuild Liquidity Hub (#103)

* test: Spoke supply insufficient allowance

* test: Move wbtc id to base test

* style: Replace simple helper functions

* feat: Withdraw implementation

* feat: Implement borrow

* feat: Mapping reserveId to assetId

* style: Move assetId to reserve struct

* fix: Remove sorting from user risk premium calc

* style: Change storage layout of users

* fix: Revert removal of helper functions

* feat: Implement repay

* fix: Remove self-referential reserve id

* fix: Usage of storage

* todo: Note where we can use shared logic library

* test: Check reserve supply shares

* chore: Remove todo

* test: No debt accrue interest tests

* fix: Only repay max debt

* fix: Only allow withdraw up to supplied amount

* fix: Allow max uint256 withdrawal

* fix: Only allow restoring up to max debt

* fix: Use assetId, revert hub changes

* fix: Cache supplied amount

* fix: Add back todos

* fix: Revert max withdraw and repay changes

* test: Borrow on spoke

* fix: Remove unused variable

* fix: Remove duplicated base debt adjustment logic

* test: Borrow fuzz amounts

* fix: Check 0 on LH functions

* test: 0 borrow amount

* fix: Remove todos for max uint on hub

* fix: Misc pr fixes

* test: Use test errors library

* fix: Use assetId when converting to shares

* test: Use reserve id on spoke

* test: Invalid amount tests

* test: Different reserve ids vs asset ids

* test: Add extra dai asset in base

* test: Nonzero liquidity premiums

* fix: Inline return reserveId

* test: Create spoke info struct mapping

* test: Add dai2 ir. poc can't add same assetId twice to spoke

* fix: Misc pr changes requested

* fix: Do not add spoke again to lh for same asset

* fix: Minor requested changes on pr

* fix: Reorder params borrow and withdraw

* todo: Supply tests

* fix: Asset id for lh functions

* fix: Remove case of same assetId listed twice on spoke

* fix: Remove unneeded struct

* fix: Reorder event params

* fix: Clarifying comment for dai2 case

---------

Co-authored-by: YBM <yan@avara.xyz>
Co-authored-by: dhairya <55102840+DhairyaSethi@users.noreply.github.com>

* Fix: BaseBorrowIndex (#166)

* wip: works so far

* chore: cleanup

* misc

* poc: suppliers can withdraw 2x and change right after supplying

* poc: invalid rounding leads infinite to 1 wei withdraw

* chore: cleanup fullMath & unnecessary interface

* feat: borrow index fix

* feat: withdraw shares infinite dust fix

* test: scenario tests, LiquidityHubAccrueAssetInterestDynamicTimeTest fixed from #163

* chore: rm hotfix

* feat: fix index issue on spoke

* chore: minor opt

* chore: rm test remenant

* fix: resolve test_addSpoke

* fix: resolve test_supply_multi_supply_minimal_shares

* fix: resolve supply tests

* fix: resolve test_withdraw_all_with_interest

* fix: resolve LiquidityHubWithdrawTest

* fix: resolve test_accrueInterest_OnlySupply

* test: add skip to have passing CI

* fix: syntax with braces

* fix: refactor tests; optimize structure

* Resolve prior tests broken by LH index/timestamp fix (#170)

* fix: passing test

* fix: resolve test_accrueInterest_fuzz_ChangingBorrowRate

* chore: braces

* chore: remove console log; variable bound

* chore: clean up, remove comments

* fix: set assertion to 1 wei difference

* chore: error msg

* fix: forge config for internal calls expect reverts since lib is tested inlined

* ref: split borrow index tests

* test: rm skip

* fix: spoke accrue interest

* chore: filename typo

---------

Co-authored-by: YBM <yan@avara.xyz>

* test: Accrue interest via borrow and wait

* test: Single collateral user rp

* test: User rp fuzz single collateral

* test: User rp 2 assets, weth covering both

* test: 2 assets covering user rp

* test: User risk premium 2 assets equal parts

* test: Two assets fuzzed

* test: Supply more risky asset doesnt impact user rp

* test: Fuzz two assets, fixing borrow amount

* test: Three assets fuzzed diff lps

* test: User risk premium fuzzing 4 assets

* test: Fuzz four assets, then change price of one

* cleanup: Remove old comments

* wip: Add back dynamic sorting

* fix: Use only array size of collateral assets

* fix: One line comparator function

* fix: Do not assume reserves in order of lp on spoke

* test: Fuzz change lp of asset

* chore: make hub, oracle immutable

* wip: Use struct to pack test variables

* fix: Two assets equal part test using struct

* fix: Four assets fuzz supply and borrow using struct

* fix: Tests to use struct to pack variables

* fix: Misc pr fixes

* fix: Use assetId in getInterestRate

* fix: Spoke accrue iterest tests to use getters

* feat: initial spoke fixes

* feat: in memory key, value list

* fix: Proper asset check for addSpoke

* feat: user account data

* chore: cleanup unused method

* wip: Amount normalization in tests

* wip: Fixing user rp tests with normalized amounts

* fix: Rule out dust case

* test: Normalize by amounts

* fix: Remove unnecessary code, fix comment

* fix: Use getters, no trivial supply action

* feat: Helper function to calc user RP

* test: User rp fuzz everything

* test: Apply user risk premium on one borrowed reserve

* wip: Failing user rp test after accrual

* wip: Test 2 reserves 2 users borrowing

* test: Accrue interest two assets, cleanup

* add snapshots

* feat: change max limits in keyValueList

* feat: wadify value in base currency

* test: add wadify to normalise helper

* fix: snapshot

* chore: nits, wadify tests

* wip: Clean up tests

* wip: Failing case of reserve outstanding premium not sum of users

* debug: Show console logs

* chore: Cleanup tests

* fix: Pr comments

* test: Non fuzzed 2 users 2 reserves borrowed

* test: Show rp percolates correctly

* fix: Misc pr comments

* fix: Address pr comments

* refactor: Test structs

* fix: Pr comments, add test descriptions

* fix: Simplify test structs

* fix: Remove unnecessary setups

---------

Co-authored-by: dhairya <55102840+DhairyaSethi@users.noreply.github.com>
Co-authored-by: YBM <yan@avara.xyz>
@yan-man yan-man self-assigned this Jun 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants