# Dasar

### StakingPoolBase

#### **`receiveTokenWalletAddress`**

Menyimpan alamat dompet token.\
Hanya root yang bisa memanggil dengan param yang tepat.

```
function receiveTokenWalletAddress(address wallet) external
```

**Parameter:**

| Nama   | Jenis   | Deskripsi           |
| ------ | ------- | ------------------- |
| wallet | address | Alamat dompet token |

#### **`startNewRewardRound`**

Memeriksa apakah ada putaran jika demikian, mengatur putaran terakhir ke sebelumnya, memperbarui pool tentangnya, menambahkan putaran baru ke daftar dan mentransfer sisa bensin ke alamat dari param.

```
function startNewRewardRound(address send_gas_to) external onlyRewarder
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                                     |
| --------- | ------- | --------------------------------------------- |
| sendGasTo | address | Alamat untuk mengirimkan bensin yang terpakai |
|           |         | bensin yang terpakai                          |

**Acara yang dikeluarkan:**

* NewRewardRound

#### **`onAcceptTokensTransfer`**

Deposito terjadi di sini.

```
function onAcceptTokensTransfer(
        address tokenRoot,
        uint128 amount,
        address sender,
        address senderWallet,
        address remainingGasTo,
        TvmCell payload
    ) external override
```

**Parameter:**

| Nama           | Jenis   | Deskripsi                                  |
| -------------- | ------- | ------------------------------------------ |
| tokenRoot      | address | Alamat root token                          |
| amount         | uint128 | Jumlah token yang ditransfer               |
| sender         | address | Alamat pengirim                            |
| senderWallet   | address | Alamat dompet pengirim                     |
| remainingGasTo | address | Alamat di mana sisa bensin akan ditransfer |
| payload        | TvmCell | Setor data muatan yang dikodekan ke Sel    |

**Acara yang dikeluarkan:**

* RewardDeposit

#### **`revertDeposit`**

Memulihkan tindakan mendeposito.

```
function revertDeposit(uint64 _deposit_nonce) external override
```

**Parameter:**

| Nama             | Jenis  | Deskripsi                         |
| ---------------- | ------ | --------------------------------- |
| \_deposit\_nonce | uint64 | Id deposito yang harus dipulihkan |

**Acara yang dikeluarkan:**

* DepositReverted

#### **`finishDeposit`**

Menyelesaikan penyetoran dengan menambah saldo token untuk jumlah setoran.

```
function finishDeposit(uint64 _deposit_nonce) external override
```

**Parameter:**

| Nama             | Jenis  | Deskripsi                          |
| ---------------- | ------ | ---------------------------------- |
| \_deposit\_nonce | uint64 | Id setoran yang harus diselesaikan |

**Acara yang dikeluarkan:**

* Deposit

#### **`withdraw`**

Tindakan penarikan

```
function withdraw(uint128 amount, address send_gas_to) public onlyActive
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                            |
| --------- | ------- | ------------------------------------ |
| amount    | uint128 | Jumlah untuk ditarik                 |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin |

#### **`finishWithdraw`**

Menyelesaikan penarikan dengan mengurangi saldo token untuk jumlah setoran.

```
function finishWithdraw(
        address user,
        uint128 withdraw_amount,
        address send_gas_to
    ) public override onlyUserData(user)
```

**Parameter:**

| Nama             | Jenis   | Deskripsi                                  |
| ---------------- | ------- | ------------------------------------------ |
| user             | address | Alamat pengguna yang menginisasi penarikan |
| withdraw\_amount | uint128 | Jumlah untuk ditarik                       |
| sendGasTo        | address | Alamat untuk mengirimkan sisa bensin       |

**Acara yang dikeluarkan:**

* Tarik

#### **`claimReward`**

Mengklaim hadiah untuk pengguna.

```
function claimReward(address send_gas_to) external onlyActive
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                            |
| --------- | ------- | ------------------------------------ |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin |

#### **`finishClaimReward`**

Menyelesaikan klaim hadiah dengan menambah hadiah token pengguna dan mengurangi saldo token hadiah

```
function finishClaimReward(address user, uint128[] rewards, address send_gas_to) external override onlyUserData(user)
```

**Parameter:**

| Nama      | Jenis      | Deskripsi                             |
| --------- | ---------- | ------------------------------------- |
| user      | address    | Alamat pengguna yang mengklaim hadiah |
| rewards   | uint128\[] | Daftar hadiah                         |
| sendGasTo | address    | Alamat untuk mengirimkan sisa bensin  |

**Acara yang dikeluarkan:**

* RewardClaimed

#### **`pendingReward`**

Menyinkronkan hadiah, memperbarui info pool jika tidak kosong, mendapatkan hadiah untuk putaran pengguna lama, menyinkronkan putaran pengguna baru, menghitung token hadiah pengguna dan mengembalikannya.

```
function pendingReward(uint256 user_token_balance, IUserData.RewardRoundData[] user_reward_data) external view responsible returns (uint256)
```

**Parameter:**

| Nama                 | Jenis                        | Deskripsi                               |
| -------------------- | ---------------------------- | --------------------------------------- |
| user\_token\_balance | uint256                      | Saldo token pengguna                    |
| user\_reward\_data   | IUserData.RewardRoundData\[] | Daftar semua hadiah pengguna tersinkron |

**Nilai hasil:**

| Jenis   | Deskripsi                            |
| ------- | ------------------------------------ |
| address | Alamat untuk mengirimkan sisa bensin |

updatePoolInfo Memperbarui informasi pool tentang waktu hadiah terakhir dan total hadiah

function updatePoolInfo() internal

#### **`deployUserData`**

Meluncurkan kontrak Platform dengan data pengguna

```
function deployUserData(address user_data_owner) internal returns (address)
```

**Parameter:**

| Nama              | Jenis   | Deskripsi                     |
| ----------------- | ------- | ----------------------------- |
| user\_data\_owner | address | Alamat peluncur data pengguna |

**Nilai hasil:**

| Jenis   | Deskripsi                                    |
| ------- | -------------------------------------------- |
| address | Alamat kontrak DataPengguna yang diluncurkan |

#### **`castVoteWithReason`**

Mengeluarkan suara pengguna.

```
function castVote(uint32 proposal_id, bool support) public view override
```

**Parameter:**

| Nama         | Jenis  | Deskripsi                                  |
| ------------ | ------ | ------------------------------------------ |
| proposal\_id | uint32 | Id pengajuan                               |
| support      | bool   | Benar jika mendukung, salah jika menentang |

#### **`castVoteWithReason`**

Mengeluarkan suara pengguna dengan alasan tertentu

```
function castVoteWithReason(
        uint32 proposal_id,
        bool support,
        string reason
    ) public view override
```

**Parameter:**

| Nama         | Jenis  | Deskripsi                                  |
| ------------ | ------ | ------------------------------------------ |
| proposal\_id | uint32 | Id pengajuan                               |
| support      | bool   | Benar jika mendukung, salah jika menentang |
| reason       | string | Alasan pemungutan suara                    |

#### **`withdrawTonsUserEmergency`**

Pengguna menarik ton dalam kasus darurat

```
function withdrawTonsUserEmergency() external
```

#### **`withdrawTonsEmergency`**

Memeriksa semua persyaratan yang diperlukan mengenai saldo dan jumlah, dan melakukan transfer ke alamat penerima

```
function withdrawTonsEmergency(uint128 amount, address receiver, bool all, address send_gas_to) external onlyRescuer
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                                            |
| --------- | ------- | ---------------------------------------------------- |
| amount    | uint128 | Jumlah ton untuk ditarik                             |
| receiver  | address | Alamat penerima di mana ton akan dikirimkan          |
| all       | bool    | Benar jika semua ton harus ditarik, salah jika tidak |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin                 |

#### **`withdrawTokensEmergency`**

Penarikan token dalam kasus darurat.

```
function withdrawTokensEmergency(uint128 amount, address receiver, bool all, address send_gas_to) external onlyRescuer
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                                              |
| --------- | ------- | ------------------------------------------------------ |
| amount    | uint128 | Jumlah token untuk ditarik                             |
| receiver  | address | Alamat penerima di mana token akan dikirimkan          |
| all       | bool    | Benar jika semua token harus ditarik, salah jika tidak |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin                   |

### StakingPoolRelay

#### **`linkRelayAccounts`**

Mendapatkan data pengguna dan memproses penautan akun pengganti eth dan ton.

```
function linkRelayAccounts(uint256 ton_pubkey, uint160 eth_address) external view onlyActive
```

**Parameter:**

| Nama         | Jenis   | Deskripsi            |
| ------------ | ------- | -------------------- |
| ton\_pubkey  | uint256 | Kunci umum akun ton  |
| eth\_address | uint160 | Alamat akun ethereum |

#### **`onEventConfirmed`**

Mengonfirmasi transaksi dari everscale ke ethereum.

```
function onEventConfirmed(
        IEthereumEvent.EthereumEventInitData eventData,
        address gasBackAddress
    ) external override onlyEthTonConfig
```

**Parameter:**

| Nama           | Jenis                                | Deskripsi                            |
| -------------- | ------------------------------------ | ------------------------------------ |
| eventData      | IEthereumEvent.EthereumEventInitData | Data EthereumEvent                   |
| gasBackAddress | address                              | Alamat untuk mengirimkan sisa bensin |

#### **`confirmEthAccount`**

Memproses konfirmasi akun ethereum.

```
function confirmEthAccount(address staker_addr, uint160 eth_address, address send_gas_to) internal
```

**Parameter:**

| Nama         | Jenis   | Deskripsi                            |
| ------------ | ------- | ------------------------------------ |
| staker\_addr | address | Alamat penaruh                       |
| eth\_address | uint160 | Alamat akun Ethereum                 |
| sendGasTo    | address | Alamat untuk mengirimkan sisa bensin |

#### **`slashRelay`**

Memotong pengganti tertentu.

```
function slashRelay(address relay_staker_addr, address send_gas_to) external onlyDaoRoot
```

**Parameter:**

| Nama                | Jenis   | Deskripsi                              |
| ------------------- | ------- | -------------------------------------- |
| relay\_staker\_addr | address | Alamat di mana pengganti akan dipotong |
| sendGasTo           | address | Alamat untuk mengirimkan sisa bensin   |

#### **`_syncUserRewardData`**

Menghitung hadiah pengguna berdasarkan param.

```
function _syncUserRewardData(
        uint128[] user_rewards,
        uint128[] user_debts,
        uint128 ban_token_balance
    ) private view returns (uint128[])
```

**Parameter:**

| Nama                | Jenis      | Deskripsi                                                                |
| ------------------- | ---------- | ------------------------------------------------------------------------ |
| user\_rewards       | uint128\[] | Daftar semua hadiah pengguna                                             |
| user\_debts         | uint128\[] | Daftar semua hutang pengguna                                             |
| ban\_token\_balance | uint128    | Digunakan untuk mengkalkulasi hadiah pengguna baru yang belum tersinkron |

**Nilai hasil:**

| Jenis      | Deskripsi                              |
| ---------- | -------------------------------------- |
| uint128\[] | Daftar hadiah pengguna yang tersinkron |

#### **`confirmSlash`**

Mengonfirmasi pemotongan dengan pembakaran bensin pengguna yang terpotong dan menghitung ulang saldo putaran.

function confirmSlash( address user, uint128\[] user\_rewards, uint128\[] user\_debts, uint128 ban\_token\_balance, address send\_gas\_to ) external override onlyUserData(user)

**Parameter:**

| Nama                | Jenis      | Deskripsi                             |
| ------------------- | ---------- | ------------------------------------- |
| user                | address    | Alamat pengguna yang terpotong        |
| user\_rewards       | uint128\[] | Daftar hadiah pengguna yang terpotong |
| user\_debts         | uint128\[] | Daftar hutang pengguna yang terpotong |
| ban\_token\_balance | uint128    | Saldo token yang terblokir            |
| sendGasTo           | address    | Alamat untuk mengirimkan sisa bensin  |

**Acara yang dikeluarkan:**

* RelaySlashed

#### **`createOriginRelayRound`**

Membuat dan meluncurkan putaran pengganti baru dan mengatur pengganti untuk putaran itu.

```
function createOriginRelayRound(
        address[] staker_addrs,
        uint256[] ton_pubkeys,
        uint160[] eth_addrs,
        uint128[] staked_tokens,
        uint128 ton_deposit,
        address send_gas_to
    ) external onlyAdmin
```

**Parameter:**

| Nama           | Jenis      | Deskripsi                            |
| -------------- | ---------- | ------------------------------------ |
| staker\_addrs  | address\[] | Daftar penaruh di putaran            |
| ton\_pubkeys   | uint256\[] | Daftar kunci umum akun ton           |
| eth\_addrs     | uint160\[] | Daftar akun ethereum                 |
| staked\_tokens | uint128\[] | Daftar token yang dipertaruhkan      |
| ton\_deposit   | uint128    | Jumlah ton yang didepositokan        |
| sendGasTo      | address    | Alamat untuk mengirimkan sisa bensin |
|                |            | sisa bensin                          |

#### **`processBecomeRelayNextRound`**

Memproses pengganti baru untuk putaran pengganti berikutnya.

```
function processBecomeRelayNextRound(address user) external view override onlyActive onlyUserData(user)
```

**Parameter:**

| Nama | Jenis   | Deskripsi                                                             |
| ---- | ------- | --------------------------------------------------------------------- |
| user | address | Alamat pengguna yang akan diproses untuk pengganti putaran berikutnya |

#### **`processGetRewardForRelayRound`**

Memproses hadiah untuk putaran pengganti saat ini.

```
function processGetRewardForRelayRound(address user, uint32 round_num) external override onlyActive onlyUserData(user)
```

**Parameter:**

| Nama       | Jenis   | Deskripsi                                     |
| ---------- | ------- | --------------------------------------------- |
| user       | address | Alamat pengguna yang harus mendapatkan hadiah |
| round\_num | uint32  | Jumlah putaran yang dia akan diberi hadiah    |

#### **`startElectionOnNewRound`**

Meluncurkan pemilihan untuk putaran baru.

```
function startElectionOnNewRound() external onlyActive
```

#### **`endElection`**

Berdasarkan alamat pemilihan menyelesaikan pemilihan saat ini.

```
function endElection() external onlyActive
```

#### **`onElectionStarted`**

Mengatur waktu mulai pemilihan.

```
function onElectionStarted(uint32 round_num) external override onlyElection(round_num)
```

**Parameter:**

| Nama       | Jenis  | Deskripsi                                     |
| ---------- | ------ | --------------------------------------------- |
| round\_num | uint32 | Angka putaran di mana pemilihan telah dimulai |

**Acara yang dikeluarkan:**

* ElectionStarted

#### **`onElectionEnded`**

Mengatur detil putaran dan meluncurkan putaran pengganti baru.

```
function onElectionEnded(
        uint32 round_num,
        uint32 relay_requests_count
    ) external override onlyElection(round_num)
```

**Parameter:**

| Nama                   | Jenis  | Deskripsi                                                                                              |
| ---------------------- | ------ | ------------------------------------------------------------------------------------------------------ |
| round\_num             | uint32 | Angka putaran di mana pemilihan telah berakhir                                                         |
| relay\_requests\_count | uint32 | Jumlah permintaan pengganti (digunakan untuk memeriksa apakah ada cukup pemilihan untuk menjadi valid) |

**Acara yang dikeluarkan:**

* ElectionEnded

#### **`_relaysPacksCount`**

Mengembalikan jumlah paket pengganti.

```
function _relaysPacksCount() private view returns (uint8)
```

**Nilai hasil:**

| Jenis | Deskripsi              |
| ----- | ---------------------- |
| uint8 | Jumlah paket pengganti |

#### **`onRelayRoundDeployed`**

Mengirimkan pengganti ke putaran pengganti.

```
function onRelayRoundDeployed(
        uint32 round_num,
        bool duplicate
    ) external override onlyRelayRound(round_num)
```

**Parameter:**

| Nama       | Jenis  | Deskripsi                        |
| ---------- | ------ | -------------------------------- |
| round\_num | uint32 | Angka putaran                    |
| duplicate  | bool   | Benar jika iya, salah jika tidak |

#### **`onRelayRoundInitialized`**

Mengatur detil putaran, meluncurkan acara baru dan menghancurkan putaran sebelumnya.

```
function onRelayRoundInitialized(
        uint32 round_num,
        uint32 round_start_time,
        uint32 round_end_time,
        uint32 relays_count,
        uint128 round_reward,
        uint32 reward_round_num,
        bool duplicate,
        uint160[] eth_keys
    ) external override onlyRelayRound(round_num)
```

**Parameter:**

| Nama               | Jenis      | Deskripsi                                                             |
| ------------------ | ---------- | --------------------------------------------------------------------- |
| round\_num         | uint32     | Angka putaran                                                         |
| round\_start\_time | uint32     | Waktu saat putaran akan mulai                                         |
| round\_end\_time   | uint32     | Akhir putaran                                                         |
| relays\_count      | uint32     | Jumlah pengganti                                                      |
| round\_reward      | uint128    | Hadiah putaran                                                        |
| reward\_round\_num | uint32     | Jumlah putaran hadiah (indeks untuk base\_details.rewardRounds array) |
|                    |            | (indeks untuk base\_details.rewardRounds array)                       |
| duplicate          | bool       | Benar jika iya, salah jika tidak                                      |
| eth\_keys          | uint160\[] | Daftar akun ethereum                                                  |

**Acara yang dikeluarkan:**

* RelayRoundInitialized

#### **`deployElection`**

Membuat platform baru untuk pemilihan baru.

```
function deployElection(uint32 round_num) private returns (address)
```

**Parameter:**

| Nama       | Jenis  | Deskripsi      |
| ---------- | ------ | -------------- |
| round\_num | uint32 | Jumlah putaran |

**Nilai hasil:**

| Jenis   | Deskripsi                         |
| ------- | --------------------------------- |
| address | Alamat pemilihan yang diluncurkan |

#### **`deployRelayRound`**

Membuat platform untuk putaran pengganti baru.

```
function deployRelayRound(
        uint32 round_num,
        uint32 start_time,
        uint32 end_time,
        bool duplicate,
        uint8 packs_num,
        address election_addr,
        address prev_relay_round_addr,
        uint16 msg_flag
    ) private returns (address)
```

**Parameter:**

| Nama                     | Jenis   | Deskripsi                                                       |
| ------------------------ | ------- | --------------------------------------------------------------- |
| round\_num               | uint32  | Jumlah putaran                                                  |
| start\_time              | uint32  | Waktu mulai putaran                                             |
| end\_time                | uint32  | Waktu berakhir putaran                                          |
| duplicate                | bool    | Benar jika iya, salah jika tidak                                |
| packs\_num               | uint8   | Jumlah paket pengganti                                          |
| election\_addr           | address | Alamat pemilihan                                                |
| prev\_relay\_round\_addr | address | Alamat putaran pengganti sebelumnya                             |
| msg\_flag                | uint16  | Bendera yang digunakan untuk membangun platform RelayRound baru |

**Nilai hasil:**

| Jenis   | Deskripsi                                 |
| ------- | ----------------------------------------- |
| address | Alamat putaran pengganti yang diluncurkan |

### StakingUpgradable

#### **`installPlatformOnce`**

Menginstal platform yang diperbarui.

```
function installPlatformOnce(TvmCell code, address send_gas_to) external onlyAdmin
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                            |
| --------- | ------- | ------------------------------------ |
| code      | TvmCell | Kode platform yang dituliskan ke sel |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin |

#### **`installOrUpdateUserDataCode`**

Memperbarui versi data pengguna.

```
function installOrUpdateUserDataCode(TvmCell code, address send_gas_to) external onlyAdmin
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                            |
| --------- | ------- | ------------------------------------ |
| code      | TvmCell | Kode data pengguna dalam format sel  |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin |

**Acara yang dikeluarkan:**

* UserDataCodeUpgraded

#### **`installOrUpdateElectionCode`**

Meningkatkan versi pemilihan.

```
function installOrUpdateElectionCode(TvmCell code, address send_gas_to) external onlyAdmin
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                            |
| --------- | ------- | ------------------------------------ |
| code      | TvmCell | Kode pemilihan dalam format sel      |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin |

**Acara yang dikeluarkan:**

* ElectionCodeUpgraded

#### **`installOrUpdateRelayRoundCode`**

Meningkatkan versi putaran pengganti.

```
function installOrUpdateRelayRoundCode(TvmCell code, address send_gas_to) external onlyAdmin
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                               |
| --------- | ------- | --------------------------------------- |
| code      | TvmCell | kode putaran pengganti dalam format sel |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin    |

**Acara yang dikeluarkan:**

* RelayRoundCodeUpgraded

#### *`upgradeUserData`*\*

Meningkatkan data pengguna.

```
function upgradeUserData(address send_gas_to) external view onlyActive
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                            |
| --------- | ------- | ------------------------------------ |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin |

#### **`forceUpgradeUserData`**

Meningkatkan data pengguna.

```
function forceUpgradeUserData(
        address user,
        address send_gas_to
    ) external view onlyAdmin
```

**Parameter:**

| Nama      | Jenis   | Deskripsi                            |
| --------- | ------- | ------------------------------------ |
| user      | address | Alamat pengguna                      |
| sendGasTo | address | Alamat untuk mengirimkan sisa bensin |

#### **`_upgradeUserData`**

Meningkatkan kode data pengguna dan versi berdasarkan permintaan.

```
function _upgradeUserData(address user, uint128 gas_value, address send_gas_to) internal view
```

**Parameter:**

| Nama       | Jenis   | Deskripsi                                       |
| ---------- | ------- | ----------------------------------------------- |
| user       | address | Alamat pengguna                                 |
| gas\_value | uint128 | Nilai bensin yang dikeluarkan untuk peningkatan |
| sendGasTo  | address | Alamat untuk mengirimkan sisa bensin            |

**Acara yang dikeluarkan:**

* RequestedUserDataUpgrade

#### **`upgradeElection`**

Meningkatkan kode pemilihan dan versi berdasarkan permintaan.

```
function upgradeElection(
        uint32 round_num,
        address send_gas_to
    ) external view onlyAdmin
```

**Parameter:**

| Nama       | Jenis   | Deskripsi                            |
| ---------- | ------- | ------------------------------------ |
| round\_num | uint32  | Jumlah putaran                       |
| sendGasTo  | address | Alamat untuk mengirimkan sisa bensin |

**Acara yang dikeluarkan:**

* RequestedElectionUpgrade

#### **`upgradeRelayRound`**

Meningkatkan kode putaran pengganti dan versi berdasarkan permintaan.

```
function upgradeRelayRound(
        uint32 round_num,
        address send_gas_to
    ) external view onlyAdmin
```

**Parameter:**

| Nama       | Jenis   | Deskripsi                            |
| ---------- | ------- | ------------------------------------ |
| round\_num | uint32  | Jumlah putaran                       |
| sendGasTo  | address | Alamat untuk mengirimkan sisa bensin |

**Acara yang dikeluarkan:**

* RequestedRelayRoundUpgrade

#### **`_buildElectionParams`**

Mengembalikan param pemilihan dalam format sel berdasarkan jumlah putaran.

```
function _buildElectionParams(uint32 round_num) internal inline view returns (TvmCell)
```

**Parameter:**

| Nama       | Jenis  | Deskripsi      |
| ---------- | ------ | -------------- |
| round\_num | uint32 | Jumlah putaran |

**Nilai hasil:**

| Jenis   | Deskripsi                                  |
| ------- | ------------------------------------------ |
| TvmCell | Data parameter pemilihan dituliskan ke sel |

#### **`_buildRelayRoundParams`**

Mengembalikan param putaran pengganti dalam format sel berdasarkan jumlah putaran.

```
function _buildRelayRoundParams(uint32 round_num) internal inline view returns (TvmCell)
```

**Parameter:**

| Nama       | Jenis  | Deskripsi      |
| ---------- | ------ | -------------- |
| round\_num | uint32 | Jumlah putaran |

| Jenis   | Deskripsi                                      |
| ------- | ---------------------------------------------- |
| TvmCell | Param putaran pengganti yang dituliskan ke sel |
