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

Last updated