# 메서드

Wepin PIN Pad Library  초기화 이후 사용할 수 있습니다.

## generateRegistrationPINBlock

```dart
await generateRegistrationPINBlock(BuildContext context)
```

사용자의 지갑 생성 및 회원가입을 위해 필요한 PIN을 입력 받을 수 있는 핀 패드 화면을 띄우고 입력받은 PIN을 처리하여 PIN Block을 생성합니다.

### **Parameters**

* `context` \<BuildContext>\
  **BuildContext** 매개변수는 Flutter에서 매우 중요한 요소로, 위젯 트리 내에서 특정 위젯의 위치를 나타냅니다. 이 컨텍스트는 Flutter가 해당 위젯의 위치를 파악하고, 네비게이션, 테마 데이터 접근 등 다양한 기능을 제공하기 위해 사용됩니다. 예를 들어, **generateRegistrationPINBlock** 함수를 호출할 때 현재의 컨텍스트를 전달하는 이유는 해당 위젯이 UI 계층 구조의 올바른 위치에 표시되도록 보장하기 위함입니다.

### **Return value**

* `Future` \<RegistrationPinBlock>
  * `uvd` \<EncUVD>

    * `b64Data` \<String> \
      b64SKey의  원본키로 암호화된 데이터
    * `b64SKey` \<String> \
      b64Data를 생성할때  사용하는 키
    * `seqNum` \<int> **optional** \
      **P**IN Block 사용 시 순서대로 사용되었는지 확인하기 위한 값

  * `hint` \<EncPinHint>

    * `data` \<String> \
      PIN 힌트를 암호화한 값
    * `length` \<String>\
      PIN 힌트의 길이
    * `version` \<int>&#x20;

    &#x20;      PIN 힌트의 버전

### **Example**

```dart
final res = await wepinPinPad!.generateRegistrationPINBlock(context);
//You need to make a Wepin RESTful API request using the received data.
```

## &#x20;generateAuthPINBlock

```dart
await generateAuthPINBlock(BuildContext context, int? count)
```

사용자 인증에 필요한 PIN을 입력 받을 수 있는 핀 패드 화면을 띄우고 입력받은 PIN을 처리하여 PIN Block을 생성합니다.&#x20;

사용자가 2FA(OTP)를 활성화한 경우에는, OTP 코드를 입력받을 수 있는 화면도 띄우고 처리합니다.

### **Parameters**

* `context` \<BuildContext>\
  **BuildContext** 매개변수는 Flutter에서 매우 중요한 요소로, 위젯 트리 내에서 특정 위젯의 위치를 나타냅니다. 이 컨텍스트는 Flutter가 해당 위젯의 위치를 파악하고, 네비게이션, 테마 데이터 접근 등 다양한 기능을 제공하기 위해 사용됩니다. 예를 들어, **generateAuthPINBlock** 함수를 호출할 때 현재의 컨텍스트를 전달하는 이유는 해당 위젯이 UI 계층 구조의 올바른 위치에 표시되도록 보장하기 위함입니다.
* `count` \<int> **optional**&#x20;

  생성하려는 PIN Block의 개수. 기본값은 `1` 입니다.

### **Return value**

* `Future` \<AuthPinBlock>
  * `uvdList` \<List\<EncUVD>> \
    암호화된 PIN Block의 리스트
    * \<EncUVD>
      * `b64Data` \<String> \
        b64SKey의  원본 키로 암호화된 데이터
      * `b64SKey` \<String> \
        b64Data 를 생성할 때  사용하는 키
      * `seqNum` \<int> **optional** \
        **P**IN Block 사용 시 순서대로 사용되었는지 확인하기 위한 값.\
        Multi Tx 요청 시, 반드시 받은 PIN Block의 순서대로 사용해야 합니다.(1,2,3...)
  * `otp` \<String> **optional** \
    사용자가 2FA(OTP) 를 활성화한 경우, 입력받은 OTP 코드

### **Example**

```dart
final res = await wepinPinPad!.generateAuthPINBlock(context, 1);
// You need to make a Wepin RESTful API request using the received data.
```

## generateChangePINBlock

```dart
await generateChangePINBlock(BuildContext context)
```

사용자 PIN 변경을 위해 PIN을 입력 받을 수 있는 핀 패드 화면을 띄우고 입력받은 PIN을 처리하여 PIN Block을 생성합니다.&#x20;

사용자가 2FA(OTP)를 활성화한 경우에는, OTP 코드를 입력받을 수 있는 화면도 띄우고 처리합니다.

### **Parameters**

* `context` \<BuildContext>\
  **BuildContext** 매개변수는 Flutter에서 매우 중요한 요소로, 위젯 트리 내에서 특정 위젯의 위치를 나타냅니다. 이 컨텍스트는 Flutter가 해당 위젯의 위치를 파악하고, 네비게이션, 테마 데이터 접근 등 다양한 기능을 제공하기 위해 사용됩니다. 예를 들어, **generateChangePINBlock** 함수를 호출할 때 현재의 컨텍스트를 전달하는 이유는 해당 위젯이 UI 계층 구조의 올바른 위치에 표시되도록 보장하기 위함입니다.

### **Return Value**

* `Future` \<ChangePinBlock>
  * `uvd` \<EncUVD>
    * `b64Data` \<String> \
      b64SKey의 원본키로 암호화된 데이터
    * `b64SKey` \<String> \
      b64Data 를 생성할때  사용하는 키
    * `seqNum` \<int> **optional** \
      **P**IN Block 사용 시 순서대로 사용되었는지 확인하기 위한 값
  * `newUVD` \<EncUVD>
    * `b64Data` \<String> \
      b64SKey의  원본 키로 암호화된 데이터
    * `b64SKey` \<String> \
      b64Data 를 생성할 때  사용하는 키
    * `seqNum` \<int> **optional** \
      **P**IN Block 사용 시 순서대로 사용되었는지 확인하기 위한 값
  * `hint` \<EncPinHint>
    * `data` \<String> \
      &#x20;PIN 힌트를 암호화한 값
    * `length` \<String>\
      PIN 힌트의 길이
    * `version` \<int> \
      PIN 힌트의 버전
  * `otp` \<String> **optional** \
    사용자가 2FA(OTP) 를 활성화한 경우, 입력받은 OTP 코드

### **Example**

```dart
await wepinPinPad.generateChangePINBlock(context);
// You need to make a Wepin RESTful API request using the received data.
```

## generateAuthOTP

```dart
await generateAuthOTP(BuildContext context)
```

사용자로부터 OTP 코드를  입력받을 수 있는 화면을 띄우고 처리합니다.

### **Parameters**

* `context` \<BuildContext>\
  **BuildContext** 매개변수는 Flutter에서 매우 중요한 요소로, 위젯 트리 내에서 특정 위젯의 위치를 나타냅니다. 이 컨텍스트는 Flutter가 해당 위젯의 위치를 파악하고, 네비게이션, 테마 데이터 접근 등 다양한 기능을 제공하기 위해 사용됩니다. 예를 들어, **generateAuthOTP** 함수를 호출할 때 현재의 컨텍스트를 전달하는 이유는 해당 위젯이 UI 계층 구조의 올바른 위치에 표시되도록 보장하기 위함입니다.

### **Return Value**

* `Future`\<AuthOTP>
  * `code` \<String>\
    입력받은 OTP 코드

### **Example**

```dart
await wepinPinPad.generateAuthOTP(context);
// You need to make a Wepin RESTful API request using the received data.
```

## finalize

```dart
await wepinPinPad.finalize()
```

Wepin PIN Pad Library 사용을 종료합니다.

### **Parameters**

* \<void>

### **Return Value**

* `Future`\<void>

### **Example**

```dart
await wepinPinPad.finalize();
```
