Base
StakingPoolBase
receiveTokenWalletAddress
receiveTokenWalletAddressStore vault's token wallet address. Only root can call with correct params.
function receiveTokenWalletAddress(address wallet) externalParameters:
wallet
address
Token wallet address
startNewRewardRound
startNewRewardRoundChecks whether there are any rounds if so, sets last round to previous, updates pool about it, adds new round to the list and transfers remaining gas to the address from params.
function startNewRewardRound(address send_gas_to) external onlyRewarderParameters:
sendGasTo
address
Address where to send spent gas
spent gas
Events emitted:
NewRewardRound
onAcceptTokensTransfer
onAcceptTokensTransferDeposit occurs here.
Parameters:
tokenRoot
address
Token root address
amount
uint128
Amount of tokens in transfer
sender
address
Address of the sender
senderWallet
address
Wallet address of the sender
remainingGasTo
address
Address where the remaining gas will be transferred
payload
TvmCell
Deposit payload data encoded to Cell
Events emitted:
RewardDeposit
revertDeposit
revertDepositReverts the action of depositing.
Parameters:
_deposit_nonce
uint64
Id of the deposit which should be reverted
Events emitted:
DepositReverted
finishDeposit
finishDepositFinishes the depositing with incrementing token balance for deposit amount.
Parameters:
_deposit_nonce
uint64
Id of the deposit which should be finalized
Events emitted:
Deposit
withdraw
withdrawWithdraw action
Parameters:
amount
uint128
Amount to withdraw
sendGasTo
address
Address where to send remaining gas
finishWithdraw
finishWithdrawFinishes the withdrawal with decrementing token balance for deposit amount.
Parameters:
user
address
User address who initiates withdraw
withdraw_amount
uint128
Amount to withdraw
sendGasTo
address
Address where to send remaining gas
Events emitted:
Withdraw
claimReward
claimRewardClaiming reward for user.
Parameters:
sendGasTo
address
Address where to send remaining gas
finishClaimReward
finishClaimRewardFinishes the reward claiming with incrementing user token reward and decrementing reward token balance
Parameters:
user
address
Address of the user that claims a reward
rewards
uint128[]
List of rewards
sendGasTo
address
Address where to send remaining gas
Events emitted:
RewardClaimed
pendingReward
pendingRewardSynchronizes rewards, updates pool info if not empty, gets rewards for old user rounds, synchronizes new user rounds, calculates user reward tokens and returns them.
Parameters:
user_token_balance
uint256
Balance of userβs tokens
user_reward_data
IUserData.RewardRoundData[]
List of all synced user rewards
Returns value:
address
Address where to send remaining gas
updatePoolInfo Updates pool information about last reward time and total reward
function updatePoolInfo() internal
deployUserData
deployUserDataDeploys Platform contract with the user data
Parameters:
user_data_owner
address
Address of the deployer of user data
Returns value:
address
Address of the deployed UserData contract
castVoteWithReason
castVoteWithReasonCasts user's vote.
Parameters:
proposal_id
uint32
Id of the proposal
support
bool
True if voted for, false if voted against
castVoteWithReason
castVoteWithReasonCasts user's vote with specified reason
Parameters:
proposal_id
uint32
Id of the proposal
support
bool
True if voted for, false if voted against
reason
string
Reason for voting
withdrawTonsUserEmergency
withdrawTonsUserEmergencyUser withdraws tons in case of emergency
withdrawTonsEmergency
withdrawTonsEmergencyChecks all the necessary requirements regarding the balance and amount, and does the transfer to the receiver address
Parameters:
amount
uint128
Amount of tons to withdraw
receiver
address
Receiver address where tons will be sent
all
bool
True if all tons should be withdrawn, false if not
sendGasTo
address
Address where to send remaining gas
withdrawTokensEmergency
withdrawTokensEmergencyTokens withdraw in case of emergency.
Parameters:
amount
uint128
Amount of tokens to withdraw
receiver
address
Receiver address where tokens will be sent
all
bool
True if all tokens should be withdrawn, false if not
sendGasTo
address
Address where to send spent gas
StakingPoolRelay
linkRelayAccounts
linkRelayAccountsGets user data and processes linking of relayer eth and ton accounts.
Parameters:
ton_pubkey
uint256
Public key of the ton account
eth_address
uint160
Address of the ethereum account
onEventConfirmed
onEventConfirmedConfirms transaction from everscale to ethereum.
Parameters:
eventData
IEthereumEvent.EthereumEventInitData
EthereumEvent data
gasBackAddress
address
Address where to send remaining gas
confirmEthAccount
confirmEthAccountProcesses confirmation of ethereum account.
Parameters:
staker_addr
address
Address of the staker
eth_address
uint160
Ethereum account address
sendGasTo
address
Address where to send remaining gas
slashRelay
slashRelaySlashes specified relayer.
Parameters:
relay_staker_addr
address
Address of the relayer which will be slashed
sendGasTo
address
Address where to send remaining gas
_syncUserRewardData
_syncUserRewardDataCalculates user's reward based on params.
Parameters:
user_rewards
uint128[]
List of all user rewards
user_debts
uint128[]
List of all user debts
ban_token_balance
uint128
Used for calculating new user reward that is not already synced
Returns value:
uint128[]
Synced user rewards list
confirmSlash
confirmSlashConfirms slashing by burning gas of slashed user and recalculates round's balance.
function confirmSlash( address user, uint128[] user_rewards, uint128[] user_debts, uint128 ban_token_balance, address send_gas_to ) external override onlyUserData(user)
Parameters:
user
address
Address of the slashed user
user_rewards
uint128[]
Rewards list of the slashed user
user_debts
uint128[]
Debts list of the slashed user
ban_token_balance
uint128
Balance of banned tokens
sendGasTo
address
Address where to send remaining gas
Events emitted:
RelaySlashed
createOriginRelayRound
createOriginRelayRoundCreates and deploys new relayer round and sets relayers for that round.
Parameters:
staker_addrs
address[]
List of stakers in the round
ton_pubkeys
uint256[]
List of ton accountsβ public keys
eth_addrs
uint160[]
List of ethereumβs accounts
staked_tokens
uint128[]
List of staked tokens
ton_deposit
uint128
Amount of tons deposited
sendGasTo
address
Address where to send remaining gas
remaining gas
processBecomeRelayNextRound
processBecomeRelayNextRoundProcesses new relayers for the next relayer round.
Parameters:
user
address
Address of the user that will be processed for a next roundβs relayer
processGetRewardForRelayRound
processGetRewardForRelayRoundProcesses rewards for current relayer round.
Parameters:
user
address
Address of the user that should get a reward
round_num
uint32
Number of the round for which he will be awarded
startElectionOnNewRound
startElectionOnNewRoundDeploys election for a new round.
endElection
endElectionBased on election's address finishes the current election.
onElectionStarted
onElectionStartedSets start time of the election.
Parameters:
round_num
uint32
Round number in which election has started
Events emitted:
ElectionStarted
onElectionEnded
onElectionEndedSets round details and deploys new relayer round.
Parameters:
round_num
uint32
Round number in which election has ended
relay_requests_count
uint32
Number of relayerβs requests (used to check whether there were enough of them for election to be valid)
Events emitted:
ElectionEnded
_relaysPacksCount
_relaysPacksCountReturns number of relayer packs.
Return value:
uint8
Number of relayers packs
onRelayRoundDeployed
onRelayRoundDeployedSends relayers to relayer round.
Parameters:
round_num
uint32
Round number
duplicate
bool
True if yes, false if not
onRelayRoundInitialized
onRelayRoundInitializedSets round details, deploys new event and destroys previous round.
Parameters:
round_num
uint32
Round number
round_start_time
uint32
Time when the round will start
round_end_time
uint32
End of the round
relays_count
uint32
Number of relayers
round_reward
uint128
Reward for the round
reward_round_num
uint32
Number of reward round (index for base_details.rewardRounds array)
(index for base_details.rewardRounds array)
duplicate
bool
True if yes, false if not
eth_keys
uint160[]
List of ethereum accounts
Events emitted:
RelayRoundInitialized
deployElection
deployElectionCreates new platform for the new election.
Parameters:
round_num
uint32
Round number
Return value:
address
Deployed election address
deployRelayRound
deployRelayRoundCreates platform for the new relayer round.
Parameters:
round_num
uint32
Round number
start_time
uint32
Round start time
end_time
uint32
Round end time
duplicate
bool
True if yes, false if not
packs_num
uint8
Number of relayer packs
election_addr
address
Address of the election
prev_relay_round_addr
address
Previous relayer round address
msg_flag
uint16
Flag used for building new RelayRound platform
Return value:
address
Address of deployed relayer round
StakingUpgradable
installPlatformOnce
installPlatformOnceInstalls updated platform.
Parameters:
code
TvmCell
Platform code encoded to cell
sendGasTo
address
Address where to send remaining gas
installOrUpdateUserDataCode
installOrUpdateUserDataCodeUpgrades user data version.
Parameters:
code
TvmCell
User data code in cell format
sendGasTo
address
Address where to send remaining gas
Events emitted:
UserDataCodeUpgraded
installOrUpdateElectionCode
installOrUpdateElectionCodeUpgrades election version.
Parameters:
code
TvmCell
Election code in cell format
sendGasTo
address
Address where to send remaining gas
Events emitted:
ElectionCodeUpgraded
installOrUpdateRelayRoundCode
installOrUpdateRelayRoundCodeUpgrades relayer round version.
Parameters:
code
TvmCell
relayer round code in cell format
sendGasTo
address
Address where to send remaining gas
Events emitted:
RelayRoundCodeUpgraded
upgradeUserData*
upgradeUserData*Upgrades user data.
Parameters:
sendGasTo
address
Address where to send remaining gas
forceUpgradeUserData
forceUpgradeUserDataUpgrades user data.
Parameters:
user
address
User address
sendGasTo
address
Address where to send remaining gas
_upgradeUserData
_upgradeUserDataUpgrades user data code and version by request.
Parameters:
user
address
User address
gas_value
uint128
Gas value spent for upgrade
sendGasTo
address
Address where to send remaining gas
Events emitted:
RequestedUserDataUpgrade
upgradeElection
upgradeElectionUpgrades election code and version by request.
Parameters:
round_num
uint32
Round number
sendGasTo
address
Address where to send remaining gas
Events emitted:
RequestedElectionUpgrade
upgradeRelayRound
upgradeRelayRoundUpgrades relayer round code and version by request.
Parameters:
round_num
uint32
Round number
sendGasTo
address
Address where to send remaining gas
Events emitted:
RequestedRelayRoundUpgrade
_buildElectionParams
_buildElectionParamsReturns election params in cell format based on the round number.
Parameters:
round_num
uint32
Round number
Return value:
TvmCell
Election parameters data encoded to cell
_buildRelayRoundParams
_buildRelayRoundParamsReturns relayer round params in cell format based on the round number.
Parameters:
round_num
uint32
Round number
TvmCell
Relayer round params encoded to cell
Last updated
Was this helpful?