vultisig / vultisig-android

Vultisig Android App
Apache License 2.0
6 stars 2 forks source link

ADD: FastVault #888

Closed johnnyluo closed 2 weeks ago

johnnyluo commented 4 weeks ago

Is your feature request related to a problem? Please describe. FastVault

Describe the solution you'd like Refer to https://github.com/vultisig/vultisigner for more detail about the APIs supported by vultiserver

IOS/MacOS app need to add UI to allow user to put in their email address , password for vultiserver

When keygen, if user choose fastvault , as soon as user click "next" button , send a POST request to https://api.vultisig.com/vault/create with payload like the following

{
  "name": "My Vault",
  "session_id": "session id for key generation",
  "hex_encryption_key": "hex encoded encryption key",
  "hex_chain_code": "hex encoded chain code",
  "local_party_id": "local party id",
  "encryption_password": "password to encryption the generated vault share",
  "email": "email of the user"
}

When keysign , if user are using a fastvault , send a POST request to vultiserver to request vultiserver to join keysign https://api.vultisig.com/vault/sign , payload

{
  "public_key": "ECDSA public key of the vault",
  "messages": [
    "hex encoded message 1",
    "hex encoded message 2",
    "hex encoded message N"
  ], 
  "session_id": "session id for this key sign", 
  "hex_encryption_key": "hex encoded encryption key",
  "derive_path": "derive path for the key sign",
  "is_ecdsa": "is the key sign ECDSA or not",
  "vault_password": "password to decrypt the vault share"
}
yvebe commented 2 weeks ago

Completed in #932