paritytech / paritytech/host-rust-core

Humanity username claiming needs a supported ownership proof

Open
#612 8 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

feature request Humanity R2 blocker
Dominant language
Swift
Stars
10
Forks
3
Avg merge
1d 10h
Merged PRs (30d)
148

Description

Humanity upgrades a lite username by calling Resources.register_person on People Chain

The runtime expects the user's existing lite account to sign the raw 32-byte Resources alias as proof that they control that account

In Humanity we use liteSigner.signBytes() which calls signRawWithLegacyAccount. The host wraps the payload in <Bytes>…</Bytes> before signing so the signature does not pass the runtime check

The wrapping looks intentional since signBytes should not allow a product to sneak in a valid transaction payload. We need a supported way to create this ownership proof without removing that protection

This currently blocks username claiming from the Humanity SPA for R2

What we need

A product should be able to request the ownership proof expected by Resources.register_person without having access to unrestricted raw signing

This could be structured signing or an agreed message format that the runtime verifies but the exact solution should be agreed between Runtime and truAPI

The final API should be exposed through product-sdk and work across the hosts needed for R2

What we tested

We made a small local host patch that skips the wrapping only for one disposable wallet and one exact Resources alias

The username claim then finalized successfully on Preview which confirmed that the wrapped signature was blocking the flow

Related

  • #543 covers using one signing API for product and legacy accounts but does not define how this proof payload should be signed
  • #592 tracks trusted access to another product's context which is also needed by the wider Humanity flow
  • #554 removes the temporary proof helper currently used during Resources alias binding

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.