Skip to content

feat(sso): complete iOS integration on RFC-0022 - #341

Open
pgherveou wants to merge 31 commits into
mainfrom
worktree-issue-96-mobile-followup
Open

feat(sso): complete iOS integration on RFC-0022#341
pgherveou wants to merge 31 commits into
mainfrom
worktree-issue-96-mobile-followup

Conversation

@pgherveou

Copy link
Copy Markdown
Collaborator

Summary

  • expose and integrate the shared Rust SSO responder lifecycle for the iOS host
  • keep the iOS submodule synchronized with paritytech/polkadot-app-ios-v2#1290
  • enforce the RFC-0022 identity, ring-VRF, allowance, product-account, and ECDH derivations for every host
  • remove the platform-selected legacy iOS crypto profile and its obsolete compatibility vectors
  • document the simulator setup and the build/network pitfalls found during end-to-end validation

Validation

  • cargo test -p truapi-server -p truapi-host-cli -q (541 passed)
  • bun diagnosis and WebSocket tests (14 passed)
  • cargo fmt --all -- --check
  • cargo clippy -p truapi-server -p truapi-host-cli --all-targets --all-features -- -D warnings
  • direct and RFC CLI-to-CLI batteries: 46 supported passed, 19 known unwired
  • iOS 18.3 simulator build and HandshakeProposalTests
  • iOS RFC pairing battery: all 46 supported cases passed; one transient Preimage lookup submission was rerun successfully in isolation

Follow-up to #215. iOS counterpart: paritytech/polkadot-app-ios-v2#1290.

pgherveou and others added 30 commits July 17, 2026 19:07
Use codec-derived runtime payloads and metadata-aware storage projections so field ordering and variant encoding stay aligned with chain types. Derive SSO message labels once and keep normal transcript events at debug.
Native executors need dispatch futures that can move across Tokio worker
threads. Keep concise async signatures while teaching rustdoc codegen to
unwrap async-trait futures.
…ile-followup

# Conflicts:
#	.gitmodules
#	Cargo.lock
#	Makefile
#	deny.toml
#	ios/truapi-host/README.md
#	ios/truapi-host/Sources/TrUAPIHost/TrUAPIHost.swift
#	rust/crates/truapi-codegen/tests/golden/host-callbacks.ts
#	rust/crates/truapi-platform/src/lib.rs
#	rust/crates/truapi-server/README.md
#	rust/crates/truapi-server/src/host_logic/attestation.rs
#	rust/crates/truapi-server/src/host_logic/permissions.rs
#	rust/crates/truapi-server/src/host_logic/product_account.rs
#	rust/crates/truapi-server/src/host_logic/sso/messages.rs
#	rust/crates/truapi-server/src/host_logic/sso/messages/v1.rs
#	rust/crates/truapi-server/src/host_logic/sso/pairing.rs
#	rust/crates/truapi-server/src/host_logic/statement_store.rs
#	rust/crates/truapi-server/src/host_logic/statement_store/statement.rs
#	rust/crates/truapi-server/src/host_logic/transaction.rs
#	rust/crates/truapi-server/src/native.rs
#	rust/crates/truapi-server/src/runtime.rs
#	rust/crates/truapi-server/src/runtime/bulletin_rpc.rs
#	rust/crates/truapi-server/src/runtime/pairing_host/sso_channel.rs
#	rust/crates/truapi-server/src/runtime/signing_host.rs
#	rust/crates/truapi-server/src/runtime/signing_host/local_activation.rs
#	rust/crates/truapi-server/src/runtime/signing_host/ring_vrf.rs
#	rust/crates/truapi-server/src/runtime/signing_host/sso_responder.rs
#	rust/crates/truapi-server/src/runtime/statement_allowance.rs
#	rust/crates/truapi-server/src/runtime/statement_allowance/extension.rs
#	rust/crates/truapi-server/src/runtime/statement_allowance/extrinsic.rs
#	rust/crates/truapi-server/src/runtime/statement_allowance/proof.rs
#	rust/crates/truapi-server/src/runtime/statement_allowance/ring.rs
#	rust/crates/truapi-server/src/runtime/statement_allowance/rpc.rs
#	rust/crates/truapi-server/src/runtime/statement_allowance/slot.rs
#	rust/crates/truapi-server/src/runtime/statement_store.rs
#	rust/crates/truapi-server/src/runtime/statement_store_rpc.rs
#	rust/crates/truapi-server/src/test_support.rs
#	rust/crates/truapi/src/api/chain.rs
#	rust/crates/truapi/src/api/signing.rs
#	rust/crates/truapi/src/lib.rs
@pgherveou
pgherveou requested a review from a team August 4, 2026 21:36
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedcargo/​aes-gcm@​0.10.310010093100100

View full report

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.

2 participants