Skip to content

feat: switch to dart workspace#560

Open
ptisserand wants to merge 3 commits intofocustree:mainfrom
ptisserand:feat/dart-workspace
Open

feat: switch to dart workspace#560
ptisserand wants to merge 3 commits intofocustree:mainfrom
ptisserand:feat/dart-workspace

Conversation

@ptisserand
Copy link
Collaborator

@ptisserand ptisserand commented Nov 13, 2025

Switch to dart workspace to ease dependencies management

Summary by CodeRabbit

  • Refactor

    • Expanded data models with public copy/cloning, JSON (de)serialization, and pattern-matching utilities for improved runtime use.
  • Chores

    • Bumped Dart SDK constraint to >=3.6.0 and adopted workspace-managed dependency resolution.
    • Updated version cache ignore entry and added a descriptive header for FVM directory handling.

@docs-page
Copy link

docs-page bot commented Nov 13, 2025

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.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 13, 2025

Walkthrough

Refactors 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

Cohort / File(s) Summary
Config & Ignore
\.gitignore, packages/ark_project/pubspec.yaml, packages/avnu_provider/pubspec.yaml, packages/secure_store/pubspec.yaml, .env.ci
Updated FVM ignore to a directory, bumped Dart SDK constraints to >=3.6.0, added resolution: workspace, moved several dependencies/dev_dependencies to workspace-managed entries, and updated FLUTTER_VERSION in CI env.
ark_project — generated models
packages/ark_project/lib/src/model/.../marketplace_api.g.dart, .../nft_api.g.dart, .../orderbook_api.g.dart, .../starknet.g.dart
Renamed generated JSON (de)serializers and constructors from Impl-suffixed private forms to new names (e.g., _$$XImplFromJson_<X>FromJson / _$XToJson) and adjusted constructor/return types to the renamed classes.
ark_project — Freezed models
packages/ark_project/lib/src/model/orderbook_api.freezed.dart
Replaced private throw stubs with concrete getters, added copyWith, toJson, equality/hashCode/toString, and pattern-matching extensions (when/map/maybeMap/etc.) for OrderBookNFT, TopBid, GetOffersForTokenResponse, Offer.
avnu_provider — Freezed unions
packages/avnu_provider/lib/src/model/*.freezed.dart (account_compatible, account_rewards, build_typed_data, deploy_account, execute, gas_token_prices, sponsor_activity, status, ...)
Converted Impl/private variants into explicit public Result/Error variant classes, added fromJson/toJson, copyWith, equality/hashCode/toString, and pattern-matching extensions across many Avnu unions and data classes.
avnu_provider — generated serializers
packages/avnu_provider/lib/src/model/*.g.dart (account_compatible, account_rewards, build_typed_data, deploy_account, execute, gas_token_prices, sponsor_activity, status, ...)
Renamed FromJson/ToJson helpers from Impl variants to functions targeting the new public variant types (e.g., AvnuXResultFromJson, AvnuXErrorToJson) and updated constructor invocations and runtimeType wiring.
starknet — Argent sessions
packages/starknet/lib/src/argent/sessions.freezed.dart, packages/starknet/lib/src/argent/sessions.g.dart
Exposed copyWith, toJson, equality/hashCode/toString and pattern extensions for AllowedMethod, MetadataTxFee, SessionMetadata, OffChainSession, OnChainSession, SessionToken; renamed generated FromJson/ToJson and internal types to simplified forms.
starknet — compiled contract models
packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart, .../compiled_contract.g.dart
Reworked copyWith mixins, introduced pattern extensions, renamed Impl types, and expanded JSON field mappings (entryPointsByType, contractClassVersion, abi, bytecode, etc.) with updated nullability handling.
starknet — ABI & entry-points
packages/starknet/lib/src/contract/model/contract_abi.g.dart, packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
Renamed many ABI FromJson/ToJson helpers from Impl forms to public-like names, added explicit copyWith/toJson/pattern helpers and full field accessors for entry-points/parameter types.

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

  • Areas to focus:
    • Search-and-replace correctness: ensure all call sites/imports updated to renamed serializers/types.
    • Freezed pattern helpers: verify runtimeType dispatch and pattern extension logic.
    • JSON (de)serialization: confirm added fields and nullability changes align with downstream consumers.
    • Workspace resolution: ensure CI/local builds use the intended workspace-managed dependency versions.

Possibly related PRs

Suggested labels

package:avnu_provider

Poem

🐰 I hopped through Impl names, one by one,
Swapped to public variants — now that's fun.
copyWith and toJson in my paw,
Pattern matches neat — I clap my paw.
Workspace-grown deps, the refactor's done. ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the primary objective of switching to Dart workspace for dependency management, which is the main theme across all pubspec.yaml changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0390b64 and ccc60e8.

📒 Files selected for processing (1)
  • .env.ci (1 hunks)
🧰 Additional context used
🧠 Learnings (10)
📓 Common learnings
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_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/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: 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.
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.
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.
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.
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: 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.
📚 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:

  • .env.ci
📚 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:

  • .env.ci
📚 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:

  • .env.ci
📚 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:

  • .env.ci
📚 Learning: 2024-10-11T14:14:03.217Z
Learnt from: devnet0x
Repo: focustree/starknet.dart PR: 406
File: examples/starknet_counter/ios/Runner.xcodeproj/project.pbxproj:370-370
Timestamp: 2024-10-11T14:14:03.217Z
Learning: For tutorial and example applications in the 'starknet.dart' repository that are not intended for production, it's acceptable to keep the default `com.example.*` `PRODUCT_BUNDLE_IDENTIFIER` in the iOS project files.

Applied to files:

  • .env.ci
📚 Learning: 2024-10-10T21:00:42.414Z
Learnt from: devnet0x
Repo: focustree/starknet.dart PR: 406
File: examples/starknet_counter/macos/Runner.xcodeproj/project.pbxproj:460-460
Timestamp: 2024-10-10T21:00:42.414Z
Learning: The file `examples/starknet_counter/macos/Runner.xcodeproj/project.pbxproj` is auto-generated by Flutter and should not be modified manually.

Applied to files:

  • .env.ci
📚 Learning: 2024-10-10T21:00:42.003Z
Learnt from: devnet0x
Repo: focustree/starknet.dart PR: 406
File: examples/starknet_counter/macos/Runner.xcodeproj/project.pbxproj:636-648
Timestamp: 2024-10-10T21:00:42.003Z
Learning: The file `examples/starknet_counter/macos/Runner.xcodeproj/project.pbxproj` is auto-generated by Flutter and should not be manually edited.

Applied to files:

  • .env.ci
📚 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:

  • .env.ci
📚 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:

  • .env.ci
🔇 Additional comments (1)
.env.ci (1)

1-1: FLUTTER_VERSION 3.35.2 is valid and compatible with the workspace.

Flutter 3.35.2 bundles Dart version 3.9.0, which aligns with the workspace's Dart SDK constraint (>=3.6.0 <4.0.0). The version update is verified and ready to merge.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
packages/secure_store/pubspec.yaml (1)

16-17: Correct typo in workspace note

The comment reads “contrainted”; please fix the spelling so future readers aren’t confused.

-  # versions contrainted by workspace
+  # versions constrained by workspace
packages/avnu_provider/pubspec.yaml (1)

16-18: Fix spelling in workspace comment

Typos here make the workspace guidance harder to scan—please change “contrainted” to “constrained.”

-  # versions contrainted by workspace
+  # versions constrained by workspace
packages/ark_project/pubspec.yaml (1)

15-17: Tidy typo in workspace comment

Please 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

📥 Commits

Reviewing files that changed from the base of the PR and between 9dd90bc and 0390b64.

📒 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:

  • .gitignore
  • packages/ark_project/pubspec.yaml
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/secure_store/pubspec.yaml
  • packages/avnu_provider/lib/src/model/avnu_execute.g.dart
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/ark_project/lib/src/model/orderbook_api.g.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/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:

  • .gitignore
  • packages/ark_project/pubspec.yaml
  • packages/avnu_provider/pubspec.yaml
  • packages/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:

  • .gitignore
  • packages/ark_project/pubspec.yaml
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/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:

  • .gitignore
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/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:

  • .gitignore
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/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:

  • .gitignore
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.g.dart
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/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:

  • .gitignore
  • packages/avnu_provider/lib/src/model/avnu_execute.g.dart
  • packages/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.yaml
  • packages/avnu_provider/pubspec.yaml
  • packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/starknet/lib/src/argent/sessions.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/ark_project/lib/src/model/starknet.g.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/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.yaml
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dart
  • packages/avnu_provider/pubspec.yaml
  • packages/avnu_provider/lib/src/model/avnu_status.g.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.g.dart
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/ark_project/lib/src/model/nft_api.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.g.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.g.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/starknet/lib/src/argent/sessions.g.dart
  • packages/avnu_provider/lib/src/model/avnu_deploy_account.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/ark_project/lib/src/model/starknet.g.dart
  • packages/ark_project/lib/src/model/marketplace_api.g.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.g.dart
  • packages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
  • packages/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.yaml
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dart
  • packages/avnu_provider/pubspec.yaml
  • packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.g.dart
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/ark_project/lib/src/model/orderbook_api.g.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/starknet/lib/src/argent/sessions.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/ark_project/lib/src/model/starknet.g.dart
  • packages/ark_project/lib/src/model/marketplace_api.g.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
  • packages/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.yaml
  • packages/avnu_provider/pubspec.yaml
  • packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/secure_store/pubspec.yaml
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/ark_project/lib/src/model/orderbook_api.g.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/ark_project/lib/src/model/starknet.g.dart
  • packages/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.yaml
  • packages/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.yaml
  • packages/avnu_provider/pubspec.yaml
  • packages/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.yaml
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.g.dart
  • packages/avnu_provider/pubspec.yaml
  • packages/avnu_provider/lib/src/model/avnu_status.g.dart
  • packages/secure_store/pubspec.yaml
  • packages/avnu_provider/lib/src/model/avnu_execute.g.dart
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.g.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.g.dart
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.g.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/starknet/lib/src/argent/sessions.g.dart
  • packages/avnu_provider/lib/src/model/avnu_deploy_account.g.dart
  • packages/ark_project/lib/src/model/starknet.g.dart
  • packages/ark_project/lib/src/model/marketplace_api.g.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.g.dart
  • packages/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.yaml
  • packages/avnu_provider/pubspec.yaml
  • packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/starknet/lib/src/argent/sessions.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/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.yaml
  • packages/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.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/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.dart
  • packages/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.dart
  • packages/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.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.freezed.dart
  • packages/ark_project/lib/src/model/orderbook_api.g.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/starknet/lib/src/argent/sessions.g.dart
  • packages/ark_project/lib/src/model/starknet.g.dart
  • packages/ark_project/lib/src/model/marketplace_api.g.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.g.dart
  • packages/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.yaml
  • packages/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.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/avnu_provider/lib/src/model/avnu_sponsor_activity.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_gas_token_prices.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.g.dart
  • packages/avnu_provider/lib/src/model/avnu_deploy_account.freezed.dart
  • packages/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.dart
  • packages/avnu_provider/lib/src/model/avnu_account_compatible.freezed.dart
  • packages/starknet/lib/src/argent/sessions.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_execute.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_account_rewards.freezed.dart
  • packages/starknet/lib/src/contract/model/entry_points_by_type.freezed.dart
  • packages/ark_project/lib/src/model/orderbook_api.freezed.dart
  • packages/avnu_provider/lib/src/model/avnu_status.freezed.dart
  • packages/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.dart
  • packages/ark_project/lib/src/model/starknet.g.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.g.dart
  • packages/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.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.g.dart
  • packages/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.dart
  • packages/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.dart
  • packages/starknet/lib/src/contract/model/compiled_contract.g.dart
  • packages/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.dart
  • packages/avnu_provider/lib/src/model/avnu_build_typed_data.g.dart
  • packages/ark_project/lib/src/model/orderbook_api.g.dart
  • packages/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.dart
  • packages/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.dart
  • packages/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 private Impl-suffixed variants, while preserving field mappings and runtimeType handling. This aligns with the PR's objective to simplify the public API surface.

Note: Based on learnings, this is an auto-generated .g.dart file. 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.dart file is auto-generated by the json_serializable package and should not be manually modified. The systematic changes removing Impl suffixes 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., _SierraCompiledContract instead 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 of Impl suffixes 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 and copyWith methods. 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 previous Impl-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 reviewed

This 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 reviewed

Autogenerated 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 consistent

Renamed 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 solid

The regenerated Freezed union, copyWith scaffolding, and pattern helpers are coherent with the new public variants; I don’t see any red flags.

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.

1 participant