# Pendaftaran

#### **`newVaultRelease`**

Memeriksa id rilis cadangan dan versi api, setelah itu menambahkan cadangan ke semua perilisan cadangan.

```
function newVaultRelease(address vault) external onlyOwner
```

**Parameter:**

| Nama  | Jenis   | Deskripsi                         |
| ----- | ------- | --------------------------------- |
| vault | address | Alamat cadangan baru yang dirilis |

**Acara yang dikeluarkan:**

* NewVaultRelease

#### **`_newProxyVault`**

Memeriksa target rilis cadangan, menerapkan proxy rilis cadangan (dimiliki oleh admin proxy) dan menginisialisasi cadangan.

```
function _newProxyVault(address token, address governance, uint256 targetDecimals, uint256 vault_release_target) internal returns (address)
```

**Parameter:**

| Nama                   | Jenis   | Deskripsi                                      |
| ---------------------- | ------- | ---------------------------------------------- |
| token                  | address | Alamat token dari cadangan baru                |
| governance             | address | Alamat pemerintahan                            |
| targetDecimals         | uint256 | Desimal target untuk cadangan baru             |
| vault\_release\_target | uint256 | Alamat target untuk menggunakan proxy cadangan |

**Nilai hasil:**

| Jenis   | Deskripsi             |
| ------- | --------------------- |
| address | Alamat proxy cadangan |

#### **`_registerVault`**

Memeriksa id cadangan dan versi api, setelah itu menambahkan cadangan baru dan tokennya ke semua cadangan dan mendaftarkan token jika belum terdaftar.

```
function _registerVault(address token, address vault) internal
```

**Parameter:**

| Nama  | Jenis   | Deskripsi             |
| ----- | ------- | --------------------- |
| token | address | Alamat token cadangan |
| vault | address | Alamat cadangan       |

**Acara yang dikeluarkan:**

* NewVault

#### **`newVault`**

Membuat cadangan proxy baru dengan semua data yang diperlukan dan mendaftarkan cadangan baru itu beserta tokennya.

```
function newVault(address token, uint256 targetDecimals, uint256 vaultReleaseDelta) external onlyOwner returns (address)
```

**Parameter:**

| Nama              | Jenis   | Deskripsi                                                   |
| ----------------- | ------- | ----------------------------------------------------------- |
| token             | address | Alamat token dari cadangan baru                             |
| targetDecimals    | uint256 | Nilai desimal target                                        |
| vaultReleaseDelta | uint256 | Nilai yang digunakan untuk menghitung target rilis cadangan |

**Nilai hasil:**

| Jenis   | Deskripsi            |
| ------- | -------------------- |
| address | Alamat cadangan baru |

#### **`newExperimentalVault`**

Membuat cadangan proxy baru dengan semua data yang diperlukan.

```
function newExperimentalVault(address token, address governance, uint256 targetDecimals, uint256 vaultReleaseDelta) external returns (address)
```

**Parameter:**

| Nama              | Jenis   | Deskripsi                                                   |
| ----------------- | ------- | ----------------------------------------------------------- |
| token             | address | Alamat cadangan token                                       |
| governance        | address | Alamat pemerintahan cadangan                                |
| targetDecimals    | uint256 | Nilai desimal target                                        |
| vaultReleaseDelta | uint256 | Nilai yang digunakan untuk menghitung target rilis cadangan |

**Nilai hasil:**

| Jenis   | Deskripsi                  |
| ------- | -------------------------- |
| address | Alamat cadangan proxy baru |

**Acara yang dikeluarkan:**

* NewExperimentalVault

#### **`endorseVault`**

Memeriksa pemerintahan cadangan dan versi api cadangan, setelah itu mendaftarkan cadangan.

```
function endorseVault(address vault, uint256 vaultReleaseDelta) external onlyOwner
```

**Parameter:**

| Nama              | Jenis   | Deskripsi                                                   |
| ----------------- | ------- | ----------------------------------------------------------- |
| vault             | address | Alamat cadangan                                             |
| vaultReleaseDelta | address | Nilai yang digunakan untuk menghitung target rilis cadangan |

#### **`tagVault`**

Menambahkan tag ke cadangan yang ditentukan.

```
function tagVault(address vault, string memory tag) external
```

**Parameter:**

| Nama  | Jenis           | Deskripsi       |
| ----- | --------------- | --------------- |
| vault | address         | Alamat cadangan |
| tag   | "string" memory | Tag vault       |

**Acara yang dikeluarkan:**

* VaultTagged
