Skip to content

[TASK] Tangle Cloud: BLS Approval & Key Lifecycle UXΒ #3123

@vutuanlinh2k2

Description

@vutuanlinh2k2

Goal

Expose BLS-enabled approval paths so operators can provide BLS public keys during service approval when required by aggregation-dependent blueprints.

Status

πŸ”΄ NOT IMPLEMENTED β€” Only approveService and approveServiceWithCommitments are supported. BLS variants are missing.

Must-Have Tasks

# Task Type Contract Function Current State
4.1 Add BLS key input in service approval UX Feature N/A Not implemented
4.2 Support approveServiceWithBls tx path Feature Services.approveServiceWithBls() Not implemented
4.3 Support approveServiceWithCommitmentsAndBls tx path Feature Services.approveServiceWithCommitmentsAndBls() Not implemented
4.4 Auto-route to correct approval variant based on commitments + BLS key Feature N/A Only basic/commitments routing exists
4.5 Show stored BLS pubkey status for operator/service context Feature Operators.getOperatorBlsPubkey() Not implemented
4.6 Client-side BLS key format validation Feature N/A Not implemented

Files

  • apps/tangle-cloud/src/data/services/useServiceApproveTx.ts β€” approval tx hook
  • ../tnt-core/src/interfaces/ITangleServices.sol β€” contract interface
  • ../tnt-core/src/core/ServicesApprovals.sol β€” approval logic
  • ../tnt-core/src/core/JobsAggregation.sol β€” aggregation (uses BLS keys)

Test Criteria

  • Operator can input BLS public key during approval flow
  • approveServiceWithBls is called when BLS key is provided without commitments
  • approveServiceWithCommitmentsAndBls is called when both are provided
  • BLS key format is validated client-side before tx attempt
  • Operator can view their stored BLS pubkey status
  • Correct variant is auto-selected based on provided inputs

Nice-to-Have

  • BLS key generation helper/link
  • Warning when blueprint requires BLS but operator hasn't provided key

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Not Started πŸ•§

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions