Conversation
|
To view this pull requests documentation preview, visit the following URL: docs.page/focustree/starknet.dart~560 Documentation is deployed and generated using docs.page. |
WalkthroughRefactors generated code across multiple packages: removes Impl-suffixed generated type names, renames FromJson/ToJson helpers to match new types, exposes Freezed model APIs (copyWith, toJson, pattern extensions), and updates workspace/dependency constraints and .gitignore FVM entry. Changes
Sequence Diagram(s)(Skipped — changes are renames and generated API surface updates; no control-flow feature to diagram.) Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related PRs
Suggested labels
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (10)📓 Common learnings📚 Learning: 2024-10-10T20:59:19.924ZApplied to files:
📚 Learning: 2024-10-10T20:59:50.785ZApplied to files:
📚 Learning: 2024-10-10T21:02:25.814ZApplied to files:
📚 Learning: 2025-08-12T21:27:25.726ZApplied to files:
📚 Learning: 2024-10-11T14:14:03.217ZApplied to files:
📚 Learning: 2024-10-10T21:00:42.414ZApplied to files:
📚 Learning: 2024-10-10T21:00:42.003ZApplied to files:
📚 Learning: 2024-10-11T14:12:29.139ZApplied to files:
📚 Learning: 2025-04-23T08:24:16.502ZApplied to files:
🔇 Additional comments (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (3)
packages/secure_store/pubspec.yaml (1)
16-17: Correct typo in workspace noteThe comment reads “contrainted”; please fix the spelling so future readers aren’t confused.
- # versions contrainted by workspace + # versions constrained by workspacepackages/avnu_provider/pubspec.yaml (1)
16-18: Fix spelling in workspace commentTypos here make the workspace guidance harder to scan—please change “contrainted” to “constrained.”
- # versions contrainted by workspace + # versions constrained by workspacepackages/ark_project/pubspec.yaml (1)
15-17: Tidy typo in workspace commentPlease update the note to spell “constrained” correctly so the intent is clear.
- # versions contrainted by workspace + # versions constrained by workspace
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (30)
.gitignore(1 hunks)packages/ark_project/lib/src/model/marketplace_api.g.dart(8 hunks)packages/ark_project/lib/src/model/nft_api.g.dart(5 hunks)packages/ark_project/lib/src/model/orderbook_api.freezed.dart(19 hunks)packages/ark_project/lib/src/model/orderbook_api.g.dart(6 hunks)packages/ark_project/lib/src/model/starknet.g.dart(12 hunks)packages/ark_project/pubspec.yaml(1 hunks)packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart(5 hunks)packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dart(1 hunks)packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart(11 hunks)packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart(3 hunks)packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart(6 hunks)packages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart(10 hunks)packages/avnu_provider/lib/src/model/avnu_deploy_account.g.dart(3 hunks)packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart(4 hunks)packages/avnu_provider/lib/src/model/avnu_execute.g.dart(1 hunks)packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart(6 hunks)packages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dart(2 hunks)packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart(7 hunks)packages/avnu_provider/lib/src/model/avnu_sponsor_activity.g.dart(3 hunks)packages/avnu_provider/lib/src/model/avnu_status.freezed.dart(5 hunks)packages/avnu_provider/lib/src/model/avnu_status.g.dart(1 hunks)packages/avnu_provider/pubspec.yaml(1 hunks)packages/secure_store/pubspec.yaml(1 hunks)packages/starknet/lib/src/argent/sessions.freezed.dart(23 hunks)packages/starknet/lib/src/argent/sessions.g.dart(5 hunks)packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart(18 hunks)packages/starknet/lib/src/contract/model/compiled_contract.g.dart(6 hunks)packages/starknet/lib/src/contract/model/contract_abi.g.dart(17 hunks)packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart(24 hunks)
🧰 Additional context used
🧠 Learnings (45)
📓 Common learnings
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet_provider/lib/src/model/estimate_fee.freezed.dart:167-167
Timestamp: 2024-10-22T19:36:08.058Z
Learning: Files generated by `Freezed` are autogenerated and should not be modified manually.
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet_provider/lib/src/model/get_block_with_tx_hashes.freezed.dart:177-177
Timestamp: 2024-10-25T21:05:00.246Z
Learning: In this codebase, all *.freezed.dart and *.g.dart files are auto-generated and should not be modified directly.
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/contract_abi.freezed.dart:148-154
Timestamp: 2024-10-25T20:59:28.365Z
Learning: In this project, files with extensions `*.freezed.dart` and `*.g.dart` are auto-generated and should not be modified manually.
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet/lib/src/contract/model/contract_abi.freezed.dart:325-325
Timestamp: 2024-10-22T19:39:29.169Z
Learning: When reviewing code in autogenerated files like `freezed` files, avoid suggesting changes since the files cannot be modified directly.
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet_provider/lib/src/model/invoke_transaction.freezed.dart:26-31
Timestamp: 2024-10-26T15:39:54.600Z
Learning: In the `starknet_provider/lib/src/model/invoke_transaction.freezed.dart` file and other files with the `.freezed.dart` extension, the code is automatically generated by the `freezed` package and should not be manually modified.
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet_provider/lib/src/model/invoke_transaction.freezed.dart:135-139
Timestamp: 2024-10-26T15:38:41.096Z
Learning: Files with the `.freezed.dart` extension are automatically generated by the Freezed package and should not be manually modified.
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/contract_abi.freezed.dart:3790-3796
Timestamp: 2024-10-25T20:59:54.538Z
Learning: In Dart projects, files with extensions `*.freezed.dart` and `*.g.dart` are auto-generated and should not be modified. Avoid making review comments about these files.
📚 Learning: 2024-10-25T20:59:28.365Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/contract_abi.freezed.dart:148-154
Timestamp: 2024-10-25T20:59:28.365Z
Learning: In this project, files with extensions `*.freezed.dart` and `*.g.dart` are auto-generated and should not be modified manually.
Applied to files:
.gitignorepackages/ark_project/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/secure_store/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_execute.g.dartpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/ark_project/lib/src/model/orderbook_api.g.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
📚 Learning: 2024-10-10T21:02:25.814Z
Learnt from: devnet0x
Repo: focustree/starknet.dart PR: 406
File: examples/starknet_counter/pubspec_overrides.yaml:5-7
Timestamp: 2024-10-10T21:02:25.814Z
Learning: The `pubspec_overrides.yaml` file in `examples/starknet_counter` is automatically generated by Flutter and should not be manually modified.
Applied to files:
.gitignorepackages/ark_project/pubspec.yamlpackages/avnu_provider/pubspec.yamlpackages/secure_store/pubspec.yaml
📚 Learning: 2024-10-25T20:59:54.538Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/contract_abi.freezed.dart:3790-3796
Timestamp: 2024-10-25T20:59:54.538Z
Learning: In Dart projects, files with extensions `*.freezed.dart` and `*.g.dart` are auto-generated and should not be modified. Avoid making review comments about these files.
Applied to files:
.gitignorepackages/ark_project/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
📚 Learning: 2024-12-16T15:42:34.054Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 423
File: packages/starknet_provider/lib/src/model/fee_estimate.freezed.dart:24-28
Timestamp: 2024-12-16T15:42:34.054Z
Learning: Files with the extension `.freezed.dart` are generated and should not be modified manually.
Applied to files:
.gitignorepackages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
📚 Learning: 2024-10-26T15:38:41.096Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet_provider/lib/src/model/invoke_transaction.freezed.dart:135-139
Timestamp: 2024-10-26T15:38:41.096Z
Learning: Files with the `.freezed.dart` extension are automatically generated by the Freezed package and should not be manually modified.
Applied to files:
.gitignorepackages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
📚 Learning: 2024-10-22T20:33:58.411Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet_provider/lib/src/model/event.freezed.dart:178-178
Timestamp: 2024-10-22T20:33:58.411Z
Learning: Files generated by Freezed (e.g., `*.freezed.dart`) are autogenerated and cannot be modified. These files should be excluded from the automated review process.
Applied to files:
.gitignore
📚 Learning: 2024-10-25T21:05:00.246Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet_provider/lib/src/model/get_block_with_tx_hashes.freezed.dart:177-177
Timestamp: 2024-10-25T21:05:00.246Z
Learning: In this codebase, all *.freezed.dart and *.g.dart files are auto-generated and should not be modified directly.
Applied to files:
.gitignorepackages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/avnu_provider/lib/src/model/avnu_execute.g.dartpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
📚 Learning: 2024-10-22T20:34:27.770Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet_provider/lib/src/model/declare_transaction.g.dart:54-54
Timestamp: 2024-10-22T20:34:27.770Z
Learning: Files ending with `.g.dart` are autogenerated and should not be manually modified or reviewed for changes.
Applied to files:
.gitignorepackages/avnu_provider/lib/src/model/avnu_execute.g.dartpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
📚 Learning: 2024-11-21T18:01:22.136Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 417
File: packages/starknet_provider/lib/src/model/block_id.freezed.dart:98-100
Timestamp: 2024-11-21T18:01:22.136Z
Learning: In the `starknet.dart` project, modifications to auto-generated files generated by the Freezed package, like `block_id.freezed.dart`, may include documentation comments added via code generation. Do not flag modifications to auto-generated files in this project.
Applied to files:
packages/ark_project/pubspec.yamlpackages/avnu_provider/pubspec.yamlpackages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/starknet/lib/src/argent/sessions.g.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/ark_project/lib/src/model/starknet.g.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
📚 Learning: 2024-11-21T18:01:50.217Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 417
File: packages/starknet_provider/lib/src/model/json_rpc_api_error.freezed.dart:26-31
Timestamp: 2024-11-21T18:01:50.217Z
Learning: The file `packages/starknet_provider/lib/src/model/json_rpc_api_error.freezed.dart` is auto-generated and should not be manually modified. Documentation changes should be made in the source file used to generate this code to ensure they persist upon regeneration.
Applied to files:
packages/ark_project/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/avnu_provider/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_status.g.dartpackages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/avnu_provider/lib/src/model/avnu_execute.g.dartpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/ark_project/lib/src/model/nft_api.g.dartpackages/ark_project/lib/src/model/orderbook_api.g.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/avnu_provider/lib/src/model/avnu_sponsor_activity.g.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/starknet/lib/src/argent/sessions.g.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.g.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/ark_project/lib/src/model/starknet.g.dartpackages/ark_project/lib/src/model/marketplace_api.g.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/starknet/lib/src/contract/model/compiled_contract.g.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2024-10-26T15:39:54.600Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet_provider/lib/src/model/invoke_transaction.freezed.dart:26-31
Timestamp: 2024-10-26T15:39:54.600Z
Learning: In the `starknet_provider/lib/src/model/invoke_transaction.freezed.dart` file and other files with the `.freezed.dart` extension, the code is automatically generated by the `freezed` package and should not be manually modified.
Applied to files:
packages/ark_project/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/avnu_provider/pubspec.yamlpackages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/avnu_provider/lib/src/model/avnu_execute.g.dartpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/ark_project/lib/src/model/orderbook_api.g.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/starknet/lib/src/argent/sessions.g.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/ark_project/lib/src/model/starknet.g.dartpackages/ark_project/lib/src/model/marketplace_api.g.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2024-11-21T18:01:29.801Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 417
File: packages/starknet_provider/lib/src/model/block_number.freezed.dart:73-74
Timestamp: 2024-11-21T18:01:29.801Z
Learning: The file `packages/starknet_provider/lib/src/model/block_number.freezed.dart` is auto-generated and should not be modified directly.
Applied to files:
packages/ark_project/pubspec.yamlpackages/avnu_provider/pubspec.yamlpackages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/secure_store/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/ark_project/lib/src/model/orderbook_api.g.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/ark_project/lib/src/model/starknet.g.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
📚 Learning: 2025-08-12T21:27:25.726Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 558
File: .github/workflows/ci.yaml:11-11
Timestamp: 2025-08-12T21:27:25.726Z
Learning: In the starknet.dart repository, version numbers in contract paths like `contracts/argent/v0.4.0/` refer to contract versions (e.g., Argent contract version), not tool versions like Starkli. These are independent versioning systems.
Applied to files:
packages/ark_project/pubspec.yamlpackages/avnu_provider/pubspec.yaml
📚 Learning: 2024-10-11T14:12:29.139Z
Learnt from: devnet0x
Repo: focustree/starknet.dart PR: 406
File: examples/starknet_counter/pubspec.yaml:24-37
Timestamp: 2024-10-11T14:12:29.139Z
Learning: In `examples/starknet_counter/pubspec.yaml`, for basic tutorial examples not intended for production, it's acceptable to omit version constraints for dependencies.
Applied to files:
packages/ark_project/pubspec.yamlpackages/avnu_provider/pubspec.yamlpackages/secure_store/pubspec.yaml
📚 Learning: 2024-11-21T18:02:58.562Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 417
File: packages/starknet_provider/lib/src/model/invoke_transaction.g.dart:27-27
Timestamp: 2024-11-21T18:02:58.562Z
Learning: In the `packages/starknet_provider` project, it's acceptable to include changes to auto-generated `.g.dart` files like `packages/starknet_provider/lib/src/model/invoke_transaction.g.dart` in commits, as they are necessary for the functionality.
Applied to files:
packages/ark_project/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/avnu_provider/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_status.g.dartpackages/secure_store/pubspec.yamlpackages/avnu_provider/lib/src/model/avnu_execute.g.dartpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/ark_project/lib/src/model/orderbook_api.g.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dartpackages/avnu_provider/lib/src/model/avnu_sponsor_activity.g.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/starknet/lib/src/argent/sessions.g.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.g.dartpackages/ark_project/lib/src/model/starknet.g.dartpackages/ark_project/lib/src/model/marketplace_api.g.dartpackages/starknet/lib/src/contract/model/compiled_contract.g.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2024-11-21T18:01:00.779Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 417
File: packages/starknet_provider/lib/src/model/deployed_contract_item.freezed.dart:26-27
Timestamp: 2024-11-21T18:01:00.779Z
Learning: In the `starknet.dart` project, documentation comments in auto-generated `*.freezed.dart` files generated by the Freezed package are acceptable, and code reviews should not flag documentation changes in these files.
Applied to files:
packages/ark_project/pubspec.yamlpackages/avnu_provider/pubspec.yamlpackages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/starknet/lib/src/argent/sessions.g.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/ark_project/lib/src/model/starknet.g.dart
📚 Learning: 2025-04-23T08:23:55.912Z
Learnt from: ptisserand
Repo: focustree/starknet.dart PR: 505
File: packages/starknet/test/argent/argent_test.dart:0-0
Timestamp: 2025-04-23T08:23:55.912Z
Learning: In the starknet.dart package, account variables like `account0` and `account9` are exported from `static_config.dart` and available when importing 'package:starknet/starknet.dart' without needing explicit imports.
Applied to files:
packages/ark_project/pubspec.yamlpackages/secure_store/pubspec.yaml
📚 Learning: 2025-08-28T07:51:23.242Z
Learnt from: ptisserand
Repo: focustree/starknet.dart PR: 559
File: packages/wallet_kit/lib/services/wallet_service.dart:211-216
Timestamp: 2025-08-28T07:51:23.242Z
Learning: Transaction version 1 (v1) is no longer supported in the starknet.dart codebase. Account instances should explicitly specify supportedTxVersion: s.AccountSupportedTxVersion.v3 to ensure proper transaction handling.
Applied to files:
packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dart
📚 Learning: 2024-12-17T15:14:26.521Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 423
File: packages/starknet_provider/lib/src/model/deploy_account_transaction.dart:64-64
Timestamp: 2024-12-17T15:14:26.521Z
Learning: In `packages/starknet_provider/lib/src/model/deploy_account_transaction.dart`, the `ResourceBounds` class is imported through the `starknet` package, so an explicit import from 'declare_transaction.dart' is not necessary.
Applied to files:
packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.g.dart
📚 Learning: 2024-10-25T17:58:31.306Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet/lib/src/account.dart:396-397
Timestamp: 2024-10-25T17:58:31.306Z
Learning: The `signDeclareTransactionV2` function in `packages/starknet/lib/src/account.dart` is a legacy function and should not be modified.
Applied to files:
packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/ark_project/lib/src/model/starknet.g.dart
📚 Learning: 2024-12-16T16:05:56.413Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 423
File: packages/starknet/lib/src/account.dart:17-19
Timestamp: 2024-12-16T16:05:56.413Z
Learning: In the Dart file `packages/starknet/lib/src/account.dart`, the `AccountSupportedTxVersion` enum should continue to include the `v0` variant, as retaining support for transaction version 0 is required at this time according to the maintainer's preference.
Applied to files:
packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
📚 Learning: 2024-10-26T15:08:10.453Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/compiled_class_hash.dart:184-190
Timestamp: 2024-10-26T15:08:10.453Z
Learning: In the file `packages/starknet/lib/src/contract/model/compiled_class_hash.dart`, the structure and placement of classes, including `_BytecodeSegmentStructureResult`, come from the original source and should not be changed.
Applied to files:
packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dartpackages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/ark_project/lib/src/model/orderbook_api.g.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/starknet/lib/src/argent/sessions.g.dartpackages/ark_project/lib/src/model/starknet.g.dartpackages/ark_project/lib/src/model/marketplace_api.g.dartpackages/starknet/lib/src/contract/model/compiled_contract.g.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2025-02-12T21:45:31.600Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 451
File: packages/avnu_provider/pubspec.yaml:6-7
Timestamp: 2025-02-12T21:45:31.600Z
Learning: The avnu_provider package intentionally maintains a strict SDK version constraint (^3.5.3) as per the maintainer's preference.
Applied to files:
packages/avnu_provider/pubspec.yaml
📚 Learning: 2025-02-06T16:06:00.989Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 451
File: packages/avnu_provider/lib/src/typed_data/hash.dart:5-5
Timestamp: 2025-02-06T16:06:00.989Z
Learning: The poseidon functionality in the starknet package is only available through the internal path 'package:starknet/src/crypto/poseidon.dart' as it's not exposed through the public API.
Applied to files:
packages/avnu_provider/pubspec.yamlpackages/secure_store/pubspec.yaml
📚 Learning: 2024-10-22T19:36:41.735Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet/lib/src/contract/model/contract_abi.freezed.dart:152-154
Timestamp: 2024-10-22T19:36:41.735Z
Learning: The `freezed` files (e.g., `contract_abi.freezed.dart`) are autogenerated and should not be manually modified.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/starknet/lib/src/contract/model/compiled_contract.g.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2024-10-22T19:36:08.058Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet_provider/lib/src/model/estimate_fee.freezed.dart:167-167
Timestamp: 2024-10-22T19:36:08.058Z
Learning: Files generated by `Freezed` are autogenerated and should not be modified manually.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dartpackages/starknet/lib/src/argent/sessions.freezed.dartpackages/avnu_provider/lib/src/model/avnu_execute.freezed.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dartpackages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dartpackages/ark_project/lib/src/model/orderbook_api.freezed.dartpackages/avnu_provider/lib/src/model/avnu_status.freezed.dartpackages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
📚 Learning: 2024-10-22T19:44:12.938Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet/lib/src/contract/model/compiled_class_hash.dart:132-135
Timestamp: 2024-10-22T19:44:12.938Z
Learning: In the file `packages/starknet/lib/src/contract/model/compiled_class_hash.dart`, the formula used in the `_createBytecodeSegmentStructureInner` function comes from an official implementation and should not be changed.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/ark_project/lib/src/model/starknet.g.dartpackages/starknet/lib/src/contract/model/compiled_contract.g.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2024-10-25T18:19:08.454Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet/lib/src/contract/model/compiled_class_hash.dart:0-0
Timestamp: 2024-10-25T18:19:08.454Z
Learning: In the file `packages/starknet/lib/src/contract/model/compiled_class_hash.dart`, the `bytecode` list is validated by the originator, ensuring that `bytecodeOffset` and `segmentEnd` are within bounds in `_createBytecodeSegmentStructureInner`, so range errors during sublist extraction are not a concern.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
📚 Learning: 2024-10-26T15:07:09.798Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/compiled_class_hash.dart:43-51
Timestamp: 2024-10-26T15:07:09.798Z
Learning: In the file `packages/starknet/lib/src/contract/model/compiled_class_hash.dart`, the formula used in the `hash` method of `BytecodeSegmentedNode` comes from an official implementation and should not be changed.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/starknet/lib/src/contract/model/compiled_contract.g.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2024-10-26T15:13:05.892Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/compiled_contract.dart:158-158
Timestamp: 2024-10-26T15:13:05.892Z
Learning: All contracts have `bytecodeSegmentLengths`, so the `bytecodeSegmentLengths` parameter in the `CASMCompiledContract` constructor can be made required.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
📚 Learning: 2024-10-25T17:56:17.827Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet/lib/src/contract/model/compiled_contract.dart:0-0
Timestamp: 2024-10-25T17:56:17.827Z
Learning: In the `CASMCompiledContract.classHash()` method within `packages/starknet/lib/src/contract/model/compiled_contract.dart`, the `compilerVersion` input will always follow the expected format, so additional validation is unnecessary.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/starknet/lib/src/contract/model/compiled_contract.g.dart
📚 Learning: 2024-10-26T15:05:20.368Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/compiled_class_hash.dart:27-28
Timestamp: 2024-10-26T15:05:20.368Z
Learning: In the file `packages/starknet/lib/src/contract/model/compiled_class_hash.dart`, the formula used in the `hash` method of `BytecodeLeaf` comes from the original source and should not be changed.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dartpackages/starknet/lib/src/contract/model/compiled_contract.g.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2024-10-28T19:28:35.416Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/test/account_test.dart:245-429
Timestamp: 2024-10-28T19:28:35.416Z
Learning: In the `starknet.dart` project, for test files like `packages/starknet/test/account_test.dart`, it's acceptable to have duplicated patterns in test code to keep tests straightforward.
Applied to files:
packages/secure_store/pubspec.yaml
📚 Learning: 2024-10-10T20:59:50.785Z
Learnt from: devnet0x
Repo: focustree/starknet.dart PR: 406
File: examples/starknet_counter/android/app/build.gradle:25-61
Timestamp: 2024-10-10T20:59:50.785Z
Learning: In the `starknet_counter` example, the file `examples/starknet_counter/android/app/build.gradle` is auto-generated by Flutter and should not be manually modified.
Applied to files:
packages/secure_store/pubspec.yaml
📚 Learning: 2025-04-23T08:24:16.502Z
Learnt from: ptisserand
Repo: focustree/starknet.dart PR: 505
File: packages/starknet/test/argent/argent_test.dart:0-0
Timestamp: 2025-04-23T08:24:16.502Z
Learning: In the starknet.dart project, test accounts like `account0` and `account9` are exported from the `static_config.dart` file and can be used directly in test files after importing the main starknet package.
Applied to files:
packages/secure_store/pubspec.yaml
📚 Learning: 2024-10-10T20:59:19.924Z
Learnt from: devnet0x
Repo: focustree/starknet.dart PR: 406
File: examples/starknet_counter/android/build.gradle:25-27
Timestamp: 2024-10-10T20:59:19.924Z
Learning: The file `examples/starknet_counter/android/build.gradle` is auto-generated by Flutter and should not be modified manually.
Applied to files:
packages/secure_store/pubspec.yaml
📚 Learning: 2024-10-28T19:00:16.357Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet_provider/lib/src/model/invoke_transaction.g.dart:94-97
Timestamp: 2024-10-28T19:00:16.357Z
Learning: In this project, files with the .g.dart extension are automatically generated and should not be modified manually.
Applied to files:
packages/avnu_provider/lib/src/model/avnu_execute.g.dartpackages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dartpackages/ark_project/lib/src/model/orderbook_api.g.dartpackages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
📚 Learning: 2025-03-28T15:40:02.162Z
Learnt from: ptisserand
Repo: focustree/starknet.dart PR: 488
File: packages/starknet/lib/src/argent/sessions.dart:91-102
Timestamp: 2025-03-28T15:40:02.162Z
Learning: All fields in the SessionMetadata class (projectId, txFees, chainId, revision) are required by the Argent session specification and should not be made optional.
Applied to files:
packages/starknet/lib/src/argent/sessions.freezed.dartpackages/starknet/lib/src/argent/sessions.g.dart
📚 Learning: 2024-10-26T14:59:26.758Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet_provider/lib/src/model/declare_transaction.dart:103-106
Timestamp: 2024-10-26T14:59:26.758Z
Learning: In `packages/starknet_provider/lib/src/model/declare_transaction.dart`, within the `ResourceBounds` class, the fields `maxAmount` and `maxPricePerUnit` must remain as `String` type because they need to be sent as strings to the target host.
Applied to files:
packages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dart
📚 Learning: 2025-03-28T15:41:19.208Z
Learnt from: ptisserand
Repo: focustree/starknet.dart PR: 488
File: packages/starknet/lib/src/argent/sessions.dart:192-234
Timestamp: 2025-03-28T15:41:19.208Z
Learning: The serialization of SessionToken in the Argent session implementation is constrained by the requirements of the Argent account smart contract version 0.4.0, which dictates the specific format that must be followed.
Applied to files:
packages/starknet/lib/src/argent/sessions.g.dart
📚 Learning: 2025-05-09T15:46:52.558Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 516
File: packages/starknet_provider/lib/src/model/wss_subscription_reorg.dart:11-14
Timestamp: 2025-05-09T15:46:52.558Z
Learning: In the Starknet WebSocket API v0.8.0, notification payloads use "subscription" as the JSON field name, requiring `JsonKey(name: 'subscription')` annotation when mapping to differently named Dart properties like "subscription_id".
Applied to files:
packages/ark_project/lib/src/model/starknet.g.dart
📚 Learning: 2024-10-25T17:56:59.390Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 411
File: packages/starknet/lib/src/account.dart:344-344
Timestamp: 2024-10-25T17:56:59.390Z
Learning: In the `declare` method in `packages/starknet/lib/src/account.dart`, `compiledContract` will always be of type `CompiledContract`, so explicit type checks before casting are unnecessary.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.g.dart
📚 Learning: 2024-10-26T15:06:50.596Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/lib/src/contract/model/compiled_class_hash.dart:7-7
Timestamp: 2024-10-26T15:06:50.596Z
Learning: In the file `packages/starknet/lib/src/contract/model/compiled_class_hash.dart`, the `NestedIntList` typedef uses `dynamic` because it is an exact translation from the original source and should not be changed.
Applied to files:
packages/starknet/lib/src/contract/model/compiled_contract.g.dartpackages/starknet/lib/src/contract/model/contract_abi.g.dart
📚 Learning: 2024-10-28T19:21:44.202Z
Learnt from: rukafe0x
Repo: focustree/starknet.dart PR: 412
File: packages/starknet/test/account_test.dart:63-65
Timestamp: 2024-10-28T19:21:44.202Z
Learning: In the test files such as 'packages/starknet/test/account_test.dart', code duplication of contract artifact paths is acceptable, and refactoring suggestions to extract constants or helper methods are not required.
Applied to files:
packages/starknet/lib/src/contract/model/contract_abi.g.dart
🔇 Additional comments (13)
.gitignore (1)
42-43: LGTM!Adding a comment and explicitly ignoring
.fvm/(directory) instead of.fvm(file) follows gitignore best practices and aligns well with the workspace refactoring—FVM is commonly used for version management in Dart/Flutter projects.packages/avnu_provider/lib/src/model/avnu_status.g.dart (1)
9-31: LGTM! Auto-generated code updated correctly.The JSON serialization functions have been systematically updated to use public types (
AvnuStatusResult,AvnuStatusError) instead of privateImpl-suffixed variants, while preserving field mappings andruntimeTypehandling. This aligns with the PR's objective to simplify the public API surface.Note: Based on learnings, this is an auto-generated
.g.dartfile. Any required changes should be made to the source file(s) used to generate this code.packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart (1)
1-2192: Auto-generated file - no manual review required.This file is generated by the Freezed package and should not be manually modified. Any necessary changes should be made to the source file (
entry_points_by_type.dart) and then regenerated. Based on learnings.packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart (1)
1-134: Auto-generated file – no manual review required.Based on learnings, this
.g.dartfile is auto-generated by thejson_serializablepackage and should not be manually modified. The systematic changes removingImplsuffixes are the result of regeneration after source model updates, which is the correct approach for maintaining these files.packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart (1)
1-1719: LGTM! Auto-generated file from Freezed package.This file is auto-generated by the Freezed package and has been regenerated as part of the workspace migration. The changes include updated class naming conventions (e.g.,
_SierraCompiledContractinstead of_$SierraCompiledContractImpl), pattern-matching extensions, and mixin-based copyWith implementations, which are all typical outputs from Freezed code generation.Based on learnings
packages/starknet/lib/src/contract/model/contract_abi.g.dart (1)
1-417: Auto-generated file changes look consistent.This is an auto-generated file (
.g.dart) that has been systematically updated to reflect the removal ofImplsuffixes from type names, which aligns with the PR objectives. The generated JSON serialization code appears correct and consistent throughout.Any issues with this code should be addressed in the source files (e.g.,
contract_abi.dart) that are used to generate this file, not in this file directly.Based on learnings
packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart (1)
1-535: Auto-generated file updated.This file is auto-generated by the Freezed package and should not be manually modified. The changes reflect the refactoring from private
Impl-suffixed types to public types (AvnuSponsorActivityResult,AvnuSponsorActivityError) and the addition of pattern-matching extensions andcopyWithmethods. These changes are generated from updates to the source model definitions.Based on learnings
packages/avnu_provider/lib/src/model/avnu_sponsor_activity.g.dart (1)
1-51: Auto-generated JSON serialization updated.This file is auto-generated by the JsonSerializableGenerator and should not be manually modified. The changes update the JSON serialization functions to work with the public types (
AvnuSponsorActivityResult,AvnuSponsorActivityError) instead of the previousImpl-suffixed variants. These changes are generated from updates to the source model annotations.Based on learnings
packages/starknet/lib/src/argent/sessions.g.dart (1)
9-119: Generated serializer reviewedThis section is regenerated Freezed/JsonSerializable output and matches the expected structure from the source annotations. No manual changes required.
packages/starknet/lib/src/argent/sessions.freezed.dart (1)
2-2392: Generated Freezed model reviewedAutogenerated Freezed surface (copyWith, pattern helpers, JSON wiring) aligns with the annotated source. Nothing to address here.
packages/starknet/lib/src/contract/model/compiled_contract.g.dart (1)
9-95: Serialization refactor looks consistent.
Renamed factories/toJson helpers align with the updated model names, and all key fields (BigInt programs, entry points, optional ABI handling) are serialized/deserialized exactly as before. Nothing to fix here.packages/ark_project/lib/src/model/marketplace_api.g.dart (1)
9-179: Serialization helpers look consistentRenamed factory/toJson helpers line up with the public-facing model types, and the JSON field handling remains unchanged. No issues spotted.
packages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart (1)
12-1179: Generated union updates look solidThe regenerated Freezed union, copyWith scaffolding, and pattern helpers are coherent with the new public variants; I don’t see any red flags.
Switch to dart workspace to ease dependencies management
Summary by CodeRabbit
Refactor
Chores