# identity/odis/phone-number-identifier

## Index

### Interfaces

* [PhoneNumberHashDetails](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)

### Variables

* [ODIS\_MINIMUM\_CELO\_BALANCE](#const-odis_minimum_celo_balance)
* [ODIS\_MINIMUM\_DOLLAR\_BALANCE](#const-odis_minimum_dollar_balance)

### Functions

* [getBlindedPhoneNumber](#getblindedphonenumber)
* [getBlindedPhoneNumberSignature](#getblindedphonenumbersignature)
* [getPepperFromThresholdSignature](#getpepperfromthresholdsignature)
* [getPhoneNumberIdentifier](#getphonenumberidentifier)
* [getPhoneNumberIdentifierFromSignature](#getphonenumberidentifierfromsignature)
* [isBalanceSufficientForSigRetrieval](#isbalancesufficientforsigretrieval)

## Variables

### `Const` ODIS\_MINIMUM\_CELO\_BALANCE

• **ODIS\_MINIMUM\_CELO\_BALANCE**: *0.005* = 0.005

*Defined in* [*packages/contractkit/src/identity/odis/phone-number-identifier.ts:18*](https://github.com/celo-org/celo-monorepo/blob/master/packages/contractkit/src/identity/odis/phone-number-identifier.ts#L18)

### `Const` ODIS\_MINIMUM\_DOLLAR\_BALANCE

• **ODIS\_MINIMUM\_DOLLAR\_BALANCE**: *0.01* = 0.01

*Defined in* [*packages/contractkit/src/identity/odis/phone-number-identifier.ts:16*](https://github.com/celo-org/celo-monorepo/blob/master/packages/contractkit/src/identity/odis/phone-number-identifier.ts#L16)

## Functions

### getBlindedPhoneNumber

▸ **getBlindedPhoneNumber**(`e164Number`: string, `blsBlindingClient`: [BlsBlindingClient](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)): *Promise‹string›*

*Defined in* [*packages/contractkit/src/identity/odis/phone-number-identifier.ts:74*](https://github.com/celo-org/celo-monorepo/blob/master/packages/contractkit/src/identity/odis/phone-number-identifier.ts#L74)

Blinds the phone number in preparation for the ODIS request Caller should use the same blsBlindingClient instance for unblinding

**Parameters:**

| Name                | Type                                                                                                               |
| ------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `e164Number`        | string                                                                                                             |
| `blsBlindingClient` | [BlsBlindingClient](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference) |

**Returns:** *Promise‹string›*

### getBlindedPhoneNumberSignature

▸ **getBlindedPhoneNumberSignature**(`account`: string, `signer`: [AuthSigner](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/_identity_odis_query_#authsigner), `context`: [ServiceContext](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference), `base64BlindedMessage`: string, `selfPhoneHash?`: undefined | string, `clientVersion?`: undefined | string): *Promise‹string›*

*Defined in* [*packages/contractkit/src/identity/odis/phone-number-identifier.ts:88*](https://github.com/celo-org/celo-monorepo/blob/master/packages/contractkit/src/identity/odis/phone-number-identifier.ts#L88)

Query ODIS for the blinded signature Response can be passed into getPhoneNumberIdentifierFromSignature to retrieve the on-chain identifier

**Parameters:**

| Name                   | Type                                                                                                            |
| ---------------------- | --------------------------------------------------------------------------------------------------------------- |
| `account`              | string                                                                                                          |
| `signer`               | [AuthSigner](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/_identity_odis_query_#authsigner)      |
| `context`              | [ServiceContext](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference) |
| `base64BlindedMessage` | string                                                                                                          |
| `selfPhoneHash?`       | undefined \| string                                                                                             |
| `clientVersion?`       | undefined \| string                                                                                             |

**Returns:** *Promise‹string›*

### getPepperFromThresholdSignature

▸ **getPepperFromThresholdSignature**(`sigBuf`: Buffer): *string*

*Defined in* [*packages/contractkit/src/identity/odis/phone-number-identifier.ts:134*](https://github.com/celo-org/celo-monorepo/blob/master/packages/contractkit/src/identity/odis/phone-number-identifier.ts#L134)

**Parameters:**

| Name     | Type   |
| -------- | ------ |
| `sigBuf` | Buffer |

**Returns:** *string*

### getPhoneNumberIdentifier

▸ **getPhoneNumberIdentifier**(`e164Number`: string, `account`: string, `signer`: [AuthSigner](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/_identity_odis_query_#authsigner), `context`: [ServiceContext](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference), `selfPhoneHash?`: undefined | string, `clientVersion?`: undefined | string, `blsBlindingClient?`: [BlsBlindingClient](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)): *Promise‹*[*PhoneNumberHashDetails*](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)*›*

*Defined in* [*packages/contractkit/src/identity/odis/phone-number-identifier.ts:36*](https://github.com/celo-org/celo-monorepo/blob/master/packages/contractkit/src/identity/odis/phone-number-identifier.ts#L36)

Retrieve the on-chain identifier for the provided phone number Performs blinding, querying, and unblinding

**Parameters:**

| Name                 | Type                                                                                                               |
| -------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `e164Number`         | string                                                                                                             |
| `account`            | string                                                                                                             |
| `signer`             | [AuthSigner](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/_identity_odis_query_#authsigner)         |
| `context`            | [ServiceContext](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)    |
| `selfPhoneHash?`     | undefined \| string                                                                                                |
| `clientVersion?`     | undefined \| string                                                                                                |
| `blsBlindingClient?` | [BlsBlindingClient](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference) |

**Returns:** *Promise‹*[*PhoneNumberHashDetails*](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)*›*

### getPhoneNumberIdentifierFromSignature

▸ **getPhoneNumberIdentifierFromSignature**(`e164Number`: string, `base64BlindedSignature`: string, `blsBlindingClient`: [BlsBlindingClient](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)): *Promise‹*[*PhoneNumberHashDetails*](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)*›*

*Defined in* [*packages/contractkit/src/identity/odis/phone-number-identifier.ts:117*](https://github.com/celo-org/celo-monorepo/blob/master/packages/contractkit/src/identity/odis/phone-number-identifier.ts#L117)

Unblind the response and return the on-chain identifier

**Parameters:**

| Name                     | Type                                                                                                               |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `e164Number`             | string                                                                                                             |
| `base64BlindedSignature` | string                                                                                                             |
| `blsBlindingClient`      | [BlsBlindingClient](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference) |

**Returns:** *Promise‹*[*PhoneNumberHashDetails*](https://josh-8.gitbook.io/celo-docs/developer-guide/summary/external-modules/broken-reference)*›*

### isBalanceSufficientForSigRetrieval

▸ **isBalanceSufficientForSigRetrieval**(`dollarBalance`: BigNumber.Value, `celoBalance`: BigNumber.Value): *boolean*

*Defined in* [*packages/contractkit/src/identity/odis/phone-number-identifier.ts:145*](https://github.com/celo-org/celo-monorepo/blob/master/packages/contractkit/src/identity/odis/phone-number-identifier.ts#L145)

Check if balance is sufficient for quota retrieval

**Parameters:**

| Name            | Type            |
| --------------- | --------------- |
| `dollarBalance` | BigNumber.Value |
| `celoBalance`   | BigNumber.Value |

**Returns:** *boolean*
