# Pengajuan

#### **`queue`**

Terjadi setelah pelaksanaan pengajuan

```
function queue() override public
```

**Acara yang dikeluarkan:**

* Antri

#### **`execute`**

Pelaksanaan pengajuan.

```
function execute() override public
```

**Acara yang dikeluarkan:**

* Dijalankan

#### **`cancel`**

Pembatalan pengajuan.

```
function cancel() override public
```

**Acara yang dikeluarkan:**

* Dibatalkan

#### **`castVote`**

Memproses suara pemilih apakah mendukung atau menentang pengajuan.

```
function castVote(
        uint32 /*proposalId*/,
        address voter,
        uint128 votes,
        bool support,
        string reason
    ) override public onlyStakingAccount(voter)
```

**Parameter:**

| Nama    | Jenis   | Deskripsi                                   |
| ------- | ------- | ------------------------------------------- |
|         | uint32  | Id pengajuan                                |
| voter   | address | Alamat pemilih                              |
| votes   | uint128 | Jumlah suara yang diberikan untuk pengajuan |
| support | bool    | Benar jika mendukung, salah jika menentang  |
| reason  | string  | Alasan suara yang diputuskan                |

**Acara yang dikeluarkan:**

* VoteCast

#### **`onActionsExecuted`**

Panggilan kembali untuk tindakan yang dijalankan.

```
function onActionsExecuted() override public onlyRoot
```

#### **`state`**

Mendapatkan keadaan pengajuan berdasarkan kondisi yang ditentukan.

```
function state() private view returns (ProposalState)
```

**Nilai hasil:**

| Jenis         | Deskripsi                  |
| ------------- | -------------------------- |
| ProposalState | Keadaan pengajuan saat ini |

#### **`unlockCastedVote`**

Membuka suara yang diberikan hanya jika keadaan pengajuan tidak aktif.

```
function unlockCastedVote(address accountOwner) override public view onlyStakingAccount(accountOwner)
```

**Parameter:**

| Nama         | Jenis   | Deskripsi           |
| ------------ | ------- | ------------------- |
| accountOwner | address | Alamat pemilik akun |

#### **`unlockVoteTokens`**

Membuka token suara berdasarkan keadaan pengajuan.

```
function unlockVoteTokens(address accountOwner) override public view onlyStakingAccount(accountOwner)
```

**Parameter:**

| Nama         | Jenis   | Deskripsi           |
| ------------ | ------- | ------------------- |
| accountOwner | address | Alamat pemilik akun |

#### **`_buildAccountInitialData`**

Membangun data awal untuk akun.

```
function _buildAccountInitialData(address accountOwner) private inline pure returns (TvmCell)
```

**Parameter:**

| Nama         | Jenis   | Deskripsi           |
| ------------ | ------- | ------------------- |
| accountOwner | address | Alamat pemilik akun |

**Nilai hasil:**

| Jenis   | Deskripsi                       |
| ------- | ------------------------------- |
| TvmCell | Data awal akun dalam format sel |

#### **`_buildStakingInitData`**

Membangun data awal untuk taruhan.

```
function _buildStakingInitData(uint8 platformType, TvmCell initialData) private inline view returns (TvmCell)
```

**Parameter:**

| Nama         | Jenis   | Deskripsi                                    |
| ------------ | ------- | -------------------------------------------- |
| platformType | uint8   | Jenis platform                               |
| initialData  | TvmCell | Data awal direpresentasikan dalam format sel |

**Nilai hasil:**

| Jenis   | Deskripsi                          |
| ------- | ---------------------------------- |
| TvmCell | Data awal taruhan dalam format sel |

#### **`requestUpgrade`**

Membuat permintaan untuk meningkatkan pengajuan untuk versi berbeda

```
function requestUpgrade(address sendGasTo) override public view
```

**Parameter:**

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

**Acara yang dikeluarkan:**

* CodeUpgradeRequested

#### **`upgrade`**

Meningkatkan kode ke versi baru

```
function upgrade(TvmCell code, uint16 newVersion, address sendGasTo) override public onlyRoot
```

**Parameter:**

| Nama       | Jenis   | Deskripsi                                     |
| ---------- | ------- | --------------------------------------------- |
| code       | TvmCell | Kode untuk diatur untuk versi terbaru         |
| newVersion | uint16  | Versi baru kode                               |
| sendGasTo  | address | Alamat untuk mengirimkan bensin yang terpakai |

**Acara yang dikeluarkan:**

* ProposalCodeUpgraded


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.octusbridge.io/ob-id/integrate/octus-bridge-contracts/everscale/dao-section/proposal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
