# Bridge

#### **`verifySignedEverscaleEvent`**

Memverifikasi tanda tangan dari EverscaleEvent (apa ada cukup tanda tangan, apa putarannya jelek, dll.)

```
function verifySignedEverscaleEvent(bytes memory payload, bytes[] memory signatures) override public view returns (uint32 errorCode)
```

**Parameter:**

| Nama       | Jenis           | Deskripsi                                       |
| ---------- | --------------- | ----------------------------------------------- |
| payload    | bytes memory    | Struktur EverscaleEvent yang dituliskan ke byte |
| signatures | bytes\[] memory | Tanda tangan payload                            |

**Nilai hasil:**

| Nama      | Jenis  | Deskripsi      |
| --------- | ------ | -------------- |
| errorCode | uint32 | Kode kesalahan |

#### **`recoverSignature`**

Mengembalikan penandatangan dari payload dan tanda tangan.

```
function recoverSignature(bytes memory payload, bytes memory signature) public pure returns (address signer)
```

**Parameter:**

| Nama      | Jenis        | Deskripsi                        |
| --------- | ------------ | -------------------------------- |
| payload   | bytes memory | Penandatangan dituliskan ke byte |
| signature | bytes memory | Tanda tangan dalam byte          |

**Nilai hasil:**

| Nama   | Jenis   | Deskripsi                         |
| ------ | ------- | --------------------------------- |
| signer | address | Menerjemahkan alamat tanda tangan |

#### **`forceRoundRelays`**

Memaksa serangkaian pengganti putaran berikutnya. Hanya bisa dipanggil dengan`roundSubmitter`.

```
function forceRoundRelays(uint160[] calldata _relays, uint32 roundEnd) override external
```

**Parameter:**

| Nama     | Jenis               | Deskripsi                    |
| -------- | ------------------- | ---------------------------- |
| \_relays | uint160\[] calldata | Pengganti putaran berikutnya |
| roundEnd | uint32              | Akhir putaran                |

#### **`setRoundSubmitter`**

Mengatur pengumpul putaran. Hanya bisa dipanggil sekali oleh pemilik.

```
function setRoundSubmitter(address _roundSubmitter) override external onlyOwner
```

**Parameter:**

| Nama             | Jenis   | Deskripsi                     |
| ---------------- | ------- | ----------------------------- |
| \_roundSubmitter | address | Alamat pengumpul putaran baru |

**Acara yang dikeluarkan:**

* UpdateRoundSubmitter

#### **`setRoundRelays`**

Memberikan izin pengganti untuk serangkaian alamat di putaran tertentu.

```
function setRoundRelays(bytes calldata payload, bytes[] calldata signatures) override external notCached(payload)
```

**Parameter:**

| Nama       | Jenis             | Deskripsi                                  |
| ---------- | ----------------- | ------------------------------------------ |
| payload    | bytes calldata    | Struktur EverscaleEvent dituliskan ke byte |
| signatures | bytes\[] calldata | Tanda tangan dituliskan ke byte            |

#### **`decodeRoundRelaysEventData`**

Menuliskan data acara payload untuk pengganti putaran.

```
function decodeRoundRelaysEventData(bytes memory payload) public pure returns (uint32 round, uint160[] memory _relays, uint32 roundEnd)
```

**Parameter:**

| Nama    | Jenis        | Deskripsi                                                        |
| ------- | ------------ | ---------------------------------------------------------------- |
| payload | bytes memory | Data acara pengganti putaran (EverscaleEvent) dituliskan ke byte |

**Nilai hasil:**

| Nama     | Jenis             | Deskripsi        |
| -------- | ----------------- | ---------------- |
| round    | uint32            | Id putaran       |
| \_relays | uint160\[] memory | Alamat pengganti |
| roundEnd | uint32            | Akhir putaran    |

#### **`decodeEverscaleEvent`**

Menerjemahkan data payload untuk acara everscale.

```
function decodeEverscaleEvent(bytes memory payload) external pure returns
```

**Parameter:**

| Nama    | Jenis        | Deskripsi                                       |
| ------- | ------------ | ----------------------------------------------- |
| payload | bytes memory | Struktur EverscaleEvent yang dituliskan ke byte |

#### **`banRelays`**

Menempatkan alamat pengganti tertentu ke daftar hitam.

```
function banRelays(address[] calldata _relays) override external onlyOwner
```

**Parameter:**

| Nama     | Jenis               | Deskripsi        |
| -------- | ------------------- | ---------------- |
| \_relays | address\[] calldata | Alamat pengganti |

**Acara yang dikeluarkan:**

* BanRelay

#### **`unbanRelays`**

Mengeluarkan alamat pengganti tertentu dari daftar hitam.

```
function unbanRelays(address[] calldata _relays) override external onlyOwner
```

**Parameter:**

| Nama     | Jenis               | Deskripsi        |
| -------- | ------------------- | ---------------- |
| \_relays | address\[] calldata | Alamat pengganti |

**Acara yang dikeluarkan:**

* BanRelay

#### **`_setRound`**

Membuat putaran baru dan membuat peta termasuk semua putaran dan pengganti.

```
function _setRound(uint32 round, uint160[] memory _relays, uint32 roundEnd) internal
```

**Parameter:**

| Nama     | Jenis             | Deskripsi        |
| -------- | ----------------- | ---------------- |
| round    | uint32            | Id Putaran       |
| \_relays | uint160\[] memory | Alamat pengganti |
| roundEnd | uint32            | Akhir putaran    |

**Acara yang dikeluarkan:**

* NewRound
* RoundRelay

#### **`_countRelaySignatures`**

Menghitung semua tanda tangan pengganti yang sah.

```
function _countRelaySignatures(bytes memory payload, bytes[] memory signatures, uint32 round) internal view returns (uint32)
```

**Parameter:**

| Nama       | Jenis           | Deskripsi                              |
| ---------- | --------------- | -------------------------------------- |
| payload    | bytes memory    | Data EverscaleEvent dituliskan ke byte |
| signatures | bytes\[] memory | Daftar tanda tangan                    |
| round      | uint32          | Id Putaran                             |

**Nilai hasil:**

| Jenis  | Deskripsi                     |
| ------ | ----------------------------- |
| uint32 | Jumlah tanda tangan pengganti |
