Skip to content

ci/docs: add Foundry+Flutter pipeline, branching strategy, and PR checklist#3

Merged
hooftly merged 10 commits intomainfrom
dev
Sep 1, 2025
Merged

ci/docs: add Foundry+Flutter pipeline, branching strategy, and PR checklist#3
hooftly merged 10 commits intomainfrom
dev

Conversation

@hooftly
Copy link
Member

@hooftly hooftly commented Sep 1, 2025

Summary

Introduces a CI pipeline for both contracts and mobile, fixes ABI/signature handling in the Flutter client, and extends contributor documentation with branching strategy and a PR checklist.

Changes

  • CI
    • Added .github/workflows/ci.yml:
      • Contracts job: setup Foundry, forge build, forge test -vv
      • Mobile job: setup Flutter, flutter analyze, flutter test
  • Mobile
    • mnemonic.dart: fixed BIP32 seed handling using Uint8List.fromList.
    • main.dart:
      • Switched to typed ABI encoding for execute(address,uint256,bytes).
      • Parsed ETH via EtherAmount.fromBase10String.
      • Constructed MsgSignature from signToUint8List.
      • Used typed ABI (TupleType) for getUserOpHash.
      • UI and status text formatting updates.
    • userop_signer.dart:
      • Left-padded r/s to 32 bytes in signature packing.
      • Adopted w3.MsgSignature; added hkdfIndex helper.
    • theme.dart: formatting and input border tweaks.
  • Documentation
    • Added docs/dev/branching.md:
      • Defines Git Flow model (main, develop, feature/*, release/*).
      • Establishes Semantic Versioning with initial release v0.1.0.
      • Notes tagging strategy for releases.
    • Updated .github/PULL_REQUEST_TEMPLATE.md:
      • Added checklist for tests, docs, and lint checks.

Motivation

  • Provide automated CI coverage for contracts and mobile codebases.
  • Fix brittle signature/ABI logic in the mobile app for reliable AA flows.
  • Establish consistent branching/release strategy and enforce quality standards with a contributor checklist.

Testing

  • CI: Verified both workflows pass locally with equivalent commands:
    • forge build && forge test -vv
    • flutter analyze && flutter test
  • Mobile: Confirmed test UserOp executes through bundler with correct encoding and signature.
  • Docs: Verified new PR template renders correctly, and docs/dev/branching.md is included in the repo structure.

- Added `docs/dev/branching.md` documenting Git Flow workflow and versioning
- Updated `.github/PULL_REQUEST_TEMPLATE.md` with a contributor checklist:
  - tests added/updated
  - docs updated
  - lint checks pass
- Added `.github/workflows/ci.yml` to run:
  - smart-contracts: setup Foundry, `forge build`, `forge test -vv`
  - mobile: setup Flutter, `flutter analyze`, `flutter test`
- mobile/crypto/mnemonic.dart:
  - Use `Uint8List.fromList(seed)` for BIP32
  - Remove unused u8 helper; tidy imports
- mobile/main.dart:
  - Use `ContractFunction` ABI encoding for `execute(...)`
  - Parse ETH amounts via `EtherAmount.fromBase10String`
  - Build `MsgSignature` from `signToUint8List(...)`
  - Encode `getUserOpHash` with typed ABI (TupleType) instead of manual bytes
  - Minor UI formatting & status messaging
- mobile/userop/userop_signer.dart:
  - Pack ECDSA r/s with 32-byte left-pad; use `w3.MsgSignature`
  - Add `hkdfIndex` helper; small keccak/hex utils cleanup
- mobile/theme/theme.dart:
  - Minor theming/layout formatting and border config
@hooftly hooftly changed the title docs: add branching strategy and contributor checklist ci/docs: add Foundry+Flutter pipeline, branching strategy, and PR checklist Sep 1, 2025
@hooftly hooftly merged commit 117001c into main Sep 1, 2025
2 checks passed
@hooftly hooftly deleted the dev branch September 1, 2025 03:55
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