Dasar
StakingPoolBase
receiveTokenWalletAddress
receiveTokenWalletAddress
Menyimpan alamat dompet token. Hanya root yang bisa memanggil dengan param yang tepat.
function receiveTokenWalletAddress(address wallet) external
Parameter:
wallet
address
Alamat dompet token
startNewRewardRound
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:
sendGasTo
address
Alamat untuk mengirimkan bensin yang terpakai
bensin yang terpakai
Acara yang dikeluarkan:
NewRewardRound
onAcceptTokensTransfer
onAcceptTokensTransfer
Deposito terjadi di sini.
function onAcceptTokensTransfer(
address tokenRoot,
uint128 amount,
address sender,
address senderWallet,
address remainingGasTo,
TvmCell payload
) external override
Parameter:
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
revertDeposit
Memulihkan tindakan mendeposito.
function revertDeposit(uint64 _deposit_nonce) external override
Parameter:
_deposit_nonce
uint64
Id deposito yang harus dipulihkan
Acara yang dikeluarkan:
DepositReverted
finishDeposit
finishDeposit
Menyelesaikan penyetoran dengan menambah saldo token untuk jumlah setoran.
function finishDeposit(uint64 _deposit_nonce) external override
Parameter:
_deposit_nonce
uint64
Id setoran yang harus diselesaikan
Acara yang dikeluarkan:
Deposit
withdraw
withdraw
Tindakan penarikan
function withdraw(uint128 amount, address send_gas_to) public onlyActive
Parameter:
amount
uint128
Jumlah untuk ditarik
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
finishWithdraw
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:
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
claimReward
Mengklaim hadiah untuk pengguna.
function claimReward(address send_gas_to) external onlyActive
Parameter:
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
finishClaimReward
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:
user
address
Alamat pengguna yang mengklaim hadiah
rewards
uint128[]
Daftar hadiah
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
Acara yang dikeluarkan:
RewardClaimed
pendingReward
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:
user_token_balance
uint256
Saldo token pengguna
user_reward_data
IUserData.RewardRoundData[]
Daftar semua hadiah pengguna tersinkron
Nilai hasil:
address
Alamat untuk mengirimkan sisa bensin
updatePoolInfo Memperbarui informasi pool tentang waktu hadiah terakhir dan total hadiah
function updatePoolInfo() internal
deployUserData
deployUserData
Meluncurkan kontrak Platform dengan data pengguna
function deployUserData(address user_data_owner) internal returns (address)
Parameter:
user_data_owner
address
Alamat peluncur data pengguna
Nilai hasil:
address
Alamat kontrak DataPengguna yang diluncurkan
castVoteWithReason
castVoteWithReason
Mengeluarkan suara pengguna.
function castVote(uint32 proposal_id, bool support) public view override
Parameter:
proposal_id
uint32
Id pengajuan
support
bool
Benar jika mendukung, salah jika menentang
castVoteWithReason
castVoteWithReason
Mengeluarkan suara pengguna dengan alasan tertentu
function castVoteWithReason(
uint32 proposal_id,
bool support,
string reason
) public view override
Parameter:
proposal_id
uint32
Id pengajuan
support
bool
Benar jika mendukung, salah jika menentang
reason
string
Alasan pemungutan suara
withdrawTonsUserEmergency
withdrawTonsUserEmergency
Pengguna menarik ton dalam kasus darurat
function withdrawTonsUserEmergency() external
withdrawTonsEmergency
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:
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
withdrawTokensEmergency
Penarikan token dalam kasus darurat.
function withdrawTokensEmergency(uint128 amount, address receiver, bool all, address send_gas_to) external onlyRescuer
Parameter:
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
linkRelayAccounts
Mendapatkan data pengguna dan memproses penautan akun pengganti eth dan ton.
function linkRelayAccounts(uint256 ton_pubkey, uint160 eth_address) external view onlyActive
Parameter:
ton_pubkey
uint256
Kunci umum akun ton
eth_address
uint160
Alamat akun ethereum
onEventConfirmed
onEventConfirmed
Mengonfirmasi transaksi dari everscale ke ethereum.
function onEventConfirmed(
IEthereumEvent.EthereumEventInitData eventData,
address gasBackAddress
) external override onlyEthTonConfig
Parameter:
eventData
IEthereumEvent.EthereumEventInitData
Data EthereumEvent
gasBackAddress
address
Alamat untuk mengirimkan sisa bensin
confirmEthAccount
confirmEthAccount
Memproses konfirmasi akun ethereum.
function confirmEthAccount(address staker_addr, uint160 eth_address, address send_gas_to) internal
Parameter:
staker_addr
address
Alamat penaruh
eth_address
uint160
Alamat akun Ethereum
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
slashRelay
slashRelay
Memotong pengganti tertentu.
function slashRelay(address relay_staker_addr, address send_gas_to) external onlyDaoRoot
Parameter:
relay_staker_addr
address
Alamat di mana pengganti akan dipotong
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
_syncUserRewardData
_syncUserRewardData
Menghitung hadiah pengguna berdasarkan param.
function _syncUserRewardData(
uint128[] user_rewards,
uint128[] user_debts,
uint128 ban_token_balance
) private view returns (uint128[])
Parameter:
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:
uint128[]
Daftar hadiah pengguna yang tersinkron
confirmSlash
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:
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
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:
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
processBecomeRelayNextRound
Memproses pengganti baru untuk putaran pengganti berikutnya.
function processBecomeRelayNextRound(address user) external view override onlyActive onlyUserData(user)
Parameter:
user
address
Alamat pengguna yang akan diproses untuk pengganti putaran berikutnya
processGetRewardForRelayRound
processGetRewardForRelayRound
Memproses hadiah untuk putaran pengganti saat ini.
function processGetRewardForRelayRound(address user, uint32 round_num) external override onlyActive onlyUserData(user)
Parameter:
user
address
Alamat pengguna yang harus mendapatkan hadiah
round_num
uint32
Jumlah putaran yang dia akan diberi hadiah
startElectionOnNewRound
startElectionOnNewRound
Meluncurkan pemilihan untuk putaran baru.
function startElectionOnNewRound() external onlyActive
endElection
endElection
Berdasarkan alamat pemilihan menyelesaikan pemilihan saat ini.
function endElection() external onlyActive
onElectionStarted
onElectionStarted
Mengatur waktu mulai pemilihan.
function onElectionStarted(uint32 round_num) external override onlyElection(round_num)
Parameter:
round_num
uint32
Angka putaran di mana pemilihan telah dimulai
Acara yang dikeluarkan:
ElectionStarted
onElectionEnded
onElectionEnded
Mengatur detil putaran dan meluncurkan putaran pengganti baru.
function onElectionEnded(
uint32 round_num,
uint32 relay_requests_count
) external override onlyElection(round_num)
Parameter:
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
_relaysPacksCount
Mengembalikan jumlah paket pengganti.
function _relaysPacksCount() private view returns (uint8)
Nilai hasil:
uint8
Jumlah paket pengganti
onRelayRoundDeployed
onRelayRoundDeployed
Mengirimkan pengganti ke putaran pengganti.
function onRelayRoundDeployed(
uint32 round_num,
bool duplicate
) external override onlyRelayRound(round_num)
Parameter:
round_num
uint32
Angka putaran
duplicate
bool
Benar jika iya, salah jika tidak
onRelayRoundInitialized
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:
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
deployElection
Membuat platform baru untuk pemilihan baru.
function deployElection(uint32 round_num) private returns (address)
Parameter:
round_num
uint32
Jumlah putaran
Nilai hasil:
address
Alamat pemilihan yang diluncurkan
deployRelayRound
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:
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:
address
Alamat putaran pengganti yang diluncurkan
StakingUpgradable
installPlatformOnce
installPlatformOnce
Menginstal platform yang diperbarui.
function installPlatformOnce(TvmCell code, address send_gas_to) external onlyAdmin
Parameter:
code
TvmCell
Kode platform yang dituliskan ke sel
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
installOrUpdateUserDataCode
installOrUpdateUserDataCode
Memperbarui versi data pengguna.
function installOrUpdateUserDataCode(TvmCell code, address send_gas_to) external onlyAdmin
Parameter:
code
TvmCell
Kode data pengguna dalam format sel
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
Acara yang dikeluarkan:
UserDataCodeUpgraded
installOrUpdateElectionCode
installOrUpdateElectionCode
Meningkatkan versi pemilihan.
function installOrUpdateElectionCode(TvmCell code, address send_gas_to) external onlyAdmin
Parameter:
code
TvmCell
Kode pemilihan dalam format sel
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
Acara yang dikeluarkan:
ElectionCodeUpgraded
installOrUpdateRelayRoundCode
installOrUpdateRelayRoundCode
Meningkatkan versi putaran pengganti.
function installOrUpdateRelayRoundCode(TvmCell code, address send_gas_to) external onlyAdmin
Parameter:
code
TvmCell
kode putaran pengganti dalam format sel
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
Acara yang dikeluarkan:
RelayRoundCodeUpgraded
upgradeUserData
*
upgradeUserData
*Meningkatkan data pengguna.
function upgradeUserData(address send_gas_to) external view onlyActive
Parameter:
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
forceUpgradeUserData
forceUpgradeUserData
Meningkatkan data pengguna.
function forceUpgradeUserData(
address user,
address send_gas_to
) external view onlyAdmin
Parameter:
user
address
Alamat pengguna
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
_upgradeUserData
_upgradeUserData
Meningkatkan kode data pengguna dan versi berdasarkan permintaan.
function _upgradeUserData(address user, uint128 gas_value, address send_gas_to) internal view
Parameter:
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
upgradeElection
Meningkatkan kode pemilihan dan versi berdasarkan permintaan.
function upgradeElection(
uint32 round_num,
address send_gas_to
) external view onlyAdmin
Parameter:
round_num
uint32
Jumlah putaran
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
Acara yang dikeluarkan:
RequestedElectionUpgrade
upgradeRelayRound
upgradeRelayRound
Meningkatkan kode putaran pengganti dan versi berdasarkan permintaan.
function upgradeRelayRound(
uint32 round_num,
address send_gas_to
) external view onlyAdmin
Parameter:
round_num
uint32
Jumlah putaran
sendGasTo
address
Alamat untuk mengirimkan sisa bensin
Acara yang dikeluarkan:
RequestedRelayRoundUpgrade
_buildElectionParams
_buildElectionParams
Mengembalikan param pemilihan dalam format sel berdasarkan jumlah putaran.
function _buildElectionParams(uint32 round_num) internal inline view returns (TvmCell)
Parameter:
round_num
uint32
Jumlah putaran
Nilai hasil:
TvmCell
Data parameter pemilihan dituliskan ke sel
_buildRelayRoundParams
_buildRelayRoundParams
Mengembalikan param putaran pengganti dalam format sel berdasarkan jumlah putaran.
function _buildRelayRoundParams(uint32 round_num) internal inline view returns (TvmCell)
Parameter:
round_num
uint32
Jumlah putaran
TvmCell
Param putaran pengganti yang dituliskan ke sel
Last updated
Was this helpful?