# event-configuration-contracts

### **EthereumEventConfiguration**

#### **`buildEventInitData`**

Membangun data awal untuk kontrak acara dengan memperpanjang data suara acara dengan param konfigurasi.

```
function buildEventInitData(
        IEthereumEvent.EthereumEventVoteData eventVoteData
    ) internal view returns(
        IEthereumEvent.EthereumEventInitData eventInitData)
```

**Parameter:**

***

| Nama          | Jenis                 | Deskripsi                                              |
| ------------- | --------------------- | ------------------------------------------------------ |
| eventVoteData | EthereumEventVoteData | Struktur data suara acara, diteruskan oleh penggantier |
| signatures    | bytes\[] memory       | Tanda tangan payload                                   |

#### **`deployEvent`**

Meluncurkan kontrak acara (membuat contoh kontrak EthereumBaseEvent).

```
function deployEvent(
        IEthereumEvent.EthereumEventVoteData eventVoteData
    ) external override reserveMinBalance(MIN_CONTRACT_BALANCE)
```

**Parameter**

| Nama          | Jenis                 | Deskripsi                 |
| ------------- | --------------------- | ------------------------- |
| eventVoteData | EthereumEventVoteData | Struktur data suara acara |

**Acara yang dikeluarkan:**

* NewEventContract

#### **`deriveEventAddress`**

Memperoleh alamat kontrak acara Ethereum dari data initnya.

```
function deriveEventAddress(
        IEthereumEvent.EthereumEventVoteData eventVoteData
    ) override public view responsible
    returns(address eventContract)
```

**Parameter:**

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

### EverscaleEventConfiguration

#### **`buildEventInitData`**

Memperpanjang data suara acara dengan param konfigurasi.

```
function buildEventInitData(
        IEverscaleEvent.EverscaleEventVoteData eventVoteData
    ) internal view returns(
        IEverscaleEvent.EverscaleEventInitData eventInitData)
```

**Parameter:**

| Nama          | Jenis                  | Deskripsi                                            |
| ------------- | ---------------------- | ---------------------------------------------------- |
| eventVoteData | EverscaleEventVoteData | Struktur data suara acara, diteruskan oleh pengganti |

**Nilai hasil:**

| Nama          | Jenis                  | Deskripsi                     |
| ------------- | ---------------------- | ----------------------------- |
| eventInitData | EverscaleEventVoteData | Data awal untuk kontrak acara |

#### **`deployEvent`**

Meluncurkan kontrak acara (membuat contoh baru kontrak EverscaleBaseEvent).

```
function deployEvent(
        IEverscaleEvent.EverscaleEventVoteData eventVoteData
    ) override external reserveMinBalance(MIN_CONTRACT_BALANCE)
```

**Parameter:**

| Nama          | Jenis                  | Deskripsi                 |
| ------------- | ---------------------- | ------------------------- |
| eventVoteData | EverscaleEventVoteData | Struktur data suara acara |

**Acara yang dikeluarkan:**

* NewEventContract

#### **`deriveEventAddress`**

Memperoleh alamat kontrak acara Everscale dari data awalnya.

```
function deriveEventAddress(
        IEverscaleEvent.EverscaleEventVoteData eventVoteData
    ) override public view responsible
    returns (address eventContract)
```

**Parameter:**

| Nama          | Jenis                  | Deskripsi                 |
| ------------- | ---------------------- | ------------------------- |
| eventVoteData | EverscaleEventVoteData | Struktur data suara acara |

**Nilai hasil:**

| Nama          | Jenis   | Deskripsi                                       |
| ------------- | ------- | ----------------------------------------------- |
| eventContract | address | Alamat kontrak acara everscale yang berhubungan |

#### **`onEventConfirmedExtended`**

Menerima panggilan kembali "konfirmasi" dari kontrak acara dan memeriksa ketepatan kontrak acara. Jika benar, maka mengirimkan panggilan kembali ke proxy dengan tanda tangan yang sama.

```
function onEventConfirmedExtended(
        IEthereumEvent.EthereumEventInitData eventInitData,
        TvmCell _meta,
        address gasBackAddress
    ) external override reserveMinBalance(MIN_CONTRACT_BALANCE)
```

**Parameter:**

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