sphinx-kotlin icon indicating copy to clipboard operation
sphinx-kotlin copied to clipboard

Adding new Contact

Open tomsmith8 opened this issue 1 year ago • 0 comments

Task

Parent Ticket for Account Creation.

Adding new contact:

  • [ ] Generate new child pub key for the new contact: rust: pubkeyFromSeed (will be store on contact record childPubKey)
  • [ ] Subscribe to the topics for this contact ${child_pubkey}/${index}/res/#
  • [ ] Publish to register child pub key with LSP ${child_pubkey}/${index}/req/register
  • [ ] Get identity back: lspPubkey, scid
  • [ ] Form to set alias, pubkey and routeHint (contact ok pubkey and contact ok key route hint)
  • [ ] Generate contact record with: alias, pubkey, routeHint, index, scid, childPubKey.
  • [ ] Send key_exchange msg (use relay as reference). Fields to send on key_exchange:
    1. okKey: your own okKey
    2. routeHint: routeHint of your ok key
    3. contactKey: childPubKey generated for that contact
    4. contactRouteHint: build on this way -> lspPubKey_scid (lspPubKey from server record, scid from contact record)
  • [ ] Update contact with contactKey and contactRouteHint coming on exchange_key_confirmation messsage
  • [ ] On key_exchange message received: do same process described above and send back key_exchange_confirmation message with:
    1. okKey
    2. routeHint
    3. contactKey
    4. contactRouteHint

tomsmith8 avatar Nov 29 '23 10:11 tomsmith8