MultiVault

deposit

Mentransfer token ke Everscale. Bekerja untuk token asal dan alien. Persetujuan diperlukan hanya untuk deposito token alien.

function deposit(
        EverscaleAddress memory recipient,
        address token,
        uint amount
    ) external override nonReentrant
        tokenNotBlacklisted(token)
        initializeToken(token) onlyEmergencyDisabled

Parameter:

NamaJenisDeskripsi

recipient

EverscaleAddress memory

Penerima Everscale

token

address

Alamat token EVM

amount

uint

Jumlah token untuk ditransfer

Acara yang dikeluarkan:

  • Deposit

saveWithdrawNative

Menyimpan penarikan untuk token asal (melakukan pemeriksaan yang diperlukan mengenai token dan chain, menghitung biaya dan pencetakan.

function saveWithdrawNative(
        bytes memory payload,
        bytes[] memory signatures
    ) external override nonReentrant
        withdrawalNotSeenBefore(payload) onlyEmergencyDisabled

Parameter:

NamaJenisDeskripsi

payload

bytes memory

Menarik payload

signatures

bytes[] memory

Daftar tanda tangan

Acara yang dikeluarkan:

  • Withdraw

saveWithdrawAlien

Menyimpan penarikan untuk token alien (melakukan pemeriksaan yang diperlukan mengenai token dan chain, menghitung biaya dan pencetakan.

function saveWithdrawAlien(
        bytes memory payload,
        bytes[] memory signatures
    )
        external
        override
        nonReentrant
        withdrawalNotSeenBefore(payload)
        onlyEmergencyDisabled

Parameter:

NamaJenisDeskripsi

payload

bytes memory

Menarik payload (kemudian diproses ke EverscaleEvent)

signatures

bytes[] memory

Daftar tanda tangan

Acara yang dikeluarkan:

  • Withdraw

skim

Menyaring (menghapus) biaya multivault untuk token tertentu. Jikaskim_to_everscale adalah benar, maka biaya akan dikirimkan ke Everscale. Jika tidak, token akan ditransfer ke alamatgovernance.

function skim(
        address token,
        bool skim_to_everscale
    ) external override nonReentrant onlyGovernanceOrManagement

Parameter:

NamaJenisDeskripsi

token

address

Alamat token, bisa asal atau alien

skim_to_everscale

bool

Biaya penyaringan bisa dijalankan di Everscale atau tidak

Acara yang dikeluarkan:

  • SkimFee

migrateAlienTokenToVault

Mentransfer token tertentu ke cadangan tertentu.

function migrateAlienTokenToVault(
        address token,
        address vault
    ) external override onlyGovernance

Parameter:

NamaJenisDeskripsi

token

address

Alamat token alien

vault

address

Alamat cadangan untuk memimdahkan token alien

Acara yang dikeluarkan:

  • TokenMigrated

calculateMovementFee

Menghitung biaya untuk deposito atau penarikan.

function calculateMovementFee(
        uint256 amount,
        address _token,
        Fee fee
    ) public view returns (uint256)

Parameter:

NamaJenisDeskripsi

amount

uint256

Jumlah token untuk didepositkan/ditarik

_token

address

Alamat token

fee

Fee

Jenis biaya (Deposito=0, Penarikan=1)

Nilai hasil:

JenisDeskripsi

uint256

Biaya untuk deposito/penarikan

_activateToken

Mengaktifkan token tertentu dengan semua informasi tentangnya.

function _activateToken(
        address token,
        bool isNative
    ) internal

Parameter:

NamaJenisDeskripsi

token

address

Alamat token

isNative

bool

Benar jika asal, salah jika tidak

Acara yang dikeluarkan:

  • TokenActivated

_transferToEverscaleNative

Mengeluarkan acara NativeTransfer untuk menandakan transfer token asal ke jaringan Everscale.

function _transferToEverscaleNative(
        address _token,
        EverscaleAddress memory recipient,
        uint amount
    ) internal

Parameter:

NamaJenisDeskripsi

_token

address

Alamat token asal

recipient

EverscaleAddress memory

Data penerima Everscale

amount

uint

Jumlah token untuk ditransfer

Acara yang dikeluarkan:

  • NativeTransfer

_transferToEverscaleAlien

Mengeluarkan acara AlienTransfer untuk menandakan transfer token alien ke jaringan Everscale.

function _transferToEverscaleAlien(
        address _token,
        EverscaleAddress memory recipient,
        uint amount
    ) internal

Parameter:

NamaJenisDeskripsi

_token

address

Alamat token alien

recipient

EverscaleAddress memory

Data penerima Everscale

amount

uint

Jumlah token untuk ditransfer

Acara yang dikeluarkan:

  • AlienTransfer

_getNativeWithdrawalToken

Mendapatkan token asal berdasarkan parameter yang diberikan, meluncurkan dan mengaktifkannya jika belum aktif.

function _getNativeWithdrawalToken(
        NativeWithdrawalParams memory withdrawal
    ) internal returns (address token)

Parameter:

NamaJenisDeskripsi

withdrawal

NativeWithdrawalParams memory

Data token penarikan asal (termasuk id workchain, alamat…)

_deployTokenForNative

Meluncurkan token sebagai asal.

function _deployTokenForNative(
        EverscaleAddress memory native,
        TokenMeta memory meta
    ) internal returns (address token)

Parameter:

NamaJenisDeskripsi

native

EverscaleAddress memory

Data alamat Everscale

meta

TokenMeta memory

Meta data token untuk diluncurkan

Nilai hasil:

NamaJenisDeskripsi

token

address

Alamat token yang diluncurkan

Acara yang dikeluarkan:

  • TokenCreated

_processWithdrawEvent

Memproses acara penarikan dengan memverifikasi tanda tangan dan menerjemahkan acara dan memeriksa konfigurasi acara.

function _processWithdrawEvent(
        bytes memory payload,
        bytes[] memory signatures,
        EverscaleAddress memory configuration
    ) internal view returns (EverscaleEvent memory)

Parameter:

NamaJenisDeskripsi

payload

bytes memory

Data EverscaleEvent dituliskan ke byte

signatures

bytes[] memory

Daftar tanda tangan

configuration

EverscaleAddress memory

Data alamat Everscale yang diperlukan untuk pemeriksaaan

Nilai hasil:

JenisDeskripsi

EverscaleEvent

Penarikan baru EverscaleEvent

Last updated