# Custody functions

### Create vault

`createVault(_creator, _id)`

| Function parameter | Description                                                                      |
| ------------------ | -------------------------------------------------------------------------------- |
| \_creator          | human readable unique identifier for user such as its email address              |
| \_id               | a messaging token for the user such as a firebase or azure cloud messaging token |

### Define quorum

`defineQuorum(_creator, _id, _minParticipants)`

| Function parameter | Description                                      |
| ------------------ | ------------------------------------------------ |
| \_creator          | unique identifier for user                       |
| \_id               | messaging token for user                         |
| \_minParticipants  | minimum number of co-signatories to reach quorum |

### Add participant

`addParticipant(_creator, _id, _participant)`

| Function parameter | Description                        |
| ------------------ | ---------------------------------- |
| \_creator          | unique identifier for user         |
| \_id               | messaging token for user           |
| \_participant      | unique identifier for co-signatory |

### Confirmation by participant

`confirmParticipant(_creator, _participant, _id)`

| Function parameter | Description                        |
| ------------------ | ---------------------------------- |
| \_creator          | unique identifier for user         |
| \_id               | messaging token for user           |
| \_participant      | unique identifier for co-signatory |

### Prompt co-signatories

`promptSignatures(_creator, _id)`

| Function parameter | Description                                                                      |
| ------------------ | -------------------------------------------------------------------------------- |
| \_creator          | human readable unique identifier for user such as its email address              |
| \_id               | a messaging token for the user such as a firebase or azure cloud messaging token |

### Sign transaction

`signTransaction(_creator, _participant, _id, _tx, _pin)`

| Function parameter | Description                                                                                         |
| ------------------ | --------------------------------------------------------------------------------------------------- |
| \_creator          | unique identifier for user                                                                          |
| \_participant      | unique identifier for co-signatory                                                                  |
| \_id               | messaging token for co-signatory                                                                    |
| \_tx               | unique transaction identifier that co-signatories receive by notification from the Verified Network |
| \_pin              | PIN of co-signatory                                                                                 |

### Check quorum

`checkQuorum(_creator, _id, _participant, _txid)`

| Function parameter | Description                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------ |
| \_creator          | unique identifier for user                                                                 |
| \_id               | messaging token for user                                                                   |
| \_participant      | unique identifier for co-signatory                                                         |
| \_tx               | unique transaction identifier that users receive by notification from the Verified Network |

### Retrieve shards

`getShards(_creator, _id, _txid)`

| Function parameter | Description                                                                        |
| ------------------ | ---------------------------------------------------------------------------------- |
| \_creator          | unique identifier for user                                                         |
| \_id               | messaging token for user                                                           |
| \_txid             | unique identifier for transaction that needs to be signed by assembling key shards |
