Base
StakingPoolBase
receiveTokenWalletAddress
receiveTokenWalletAddress
Store vault's token wallet address. Only root can call with correct params.
Parameters:
wallet
address
Token wallet address
startNewRewardRound
startNewRewardRound
Checks 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.
Parameters:
sendGasTo
address
Address where to send spent gas
spent gas
Events emitted:
NewRewardRound
onAcceptTokensTransfer
onAcceptTokensTransfer
Deposit 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
revertDeposit
Reverts the action of depositing.
Parameters:
_deposit_nonce
uint64
Id of the deposit which should be reverted
Events emitted:
DepositReverted
finishDeposit
finishDeposit
Finishes 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
withdraw
Withdraw action
Parameters:
amount
uint128
Amount to withdraw
sendGasTo
address
Address where to send remaining gas
finishWithdraw
finishWithdraw
Finishes 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
claimReward
Claiming reward for user.
Parameters:
sendGasTo
address
Address where to send remaining gas
finishClaimReward
finishClaimReward
Finishes 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
pendingReward
Synchronizes 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
deployUserData
Deploys 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
castVoteWithReason
Casts user's vote.
Parameters:
proposal_id
uint32
Id of the proposal
support
bool
True if voted for, false if voted against
castVoteWithReason
castVoteWithReason
Casts 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
withdrawTonsUserEmergency
User withdraws tons in case of emergency
withdrawTonsEmergency
withdrawTonsEmergency
Checks 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
withdrawTokensEmergency
Tokens 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
linkRelayAccounts
Gets 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
onEventConfirmed
Confirms transaction from everscale to ethereum.
Parameters:
eventData
IEthereumEvent.EthereumEventInitData
EthereumEvent data
gasBackAddress
address
Address where to send remaining gas
confirmEthAccount
confirmEthAccount
Processes 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
slashRelay
Slashes specified relayer.
Parameters:
relay_staker_addr
address
Address of the relayer which will be slashed
sendGasTo
address
Address where to send remaining gas
_syncUserRewardData
_syncUserRewardData
Calculates 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
confirmSlash
Confirms 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
createOriginRelayRound
Creates 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
processBecomeRelayNextRound
Processes 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
processGetRewardForRelayRound
Processes 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
startElectionOnNewRound
Deploys election for a new round.
endElection
endElection
Based on election's address finishes the current election.
onElectionStarted
onElectionStarted
Sets start time of the election.
Parameters:
round_num
uint32
Round number in which election has started
Events emitted:
ElectionStarted
onElectionEnded
onElectionEnded
Sets 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
_relaysPacksCount
Returns number of relayer packs.
Return value:
uint8
Number of relayers packs
onRelayRoundDeployed
onRelayRoundDeployed
Sends relayers to relayer round.
Parameters:
round_num
uint32
Round number
duplicate
bool
True if yes, false if not
onRelayRoundInitialized
onRelayRoundInitialized
Sets 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
deployElection
Creates new platform for the new election.
Parameters:
round_num
uint32
Round number
Return value:
address
Deployed election address
deployRelayRound
deployRelayRound
Creates 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
installPlatformOnce
Installs updated platform.
Parameters:
code
TvmCell
Platform code encoded to cell
sendGasTo
address
Address where to send remaining gas
installOrUpdateUserDataCode
installOrUpdateUserDataCode
Upgrades user data version.
Parameters:
code
TvmCell
User data code in cell format
sendGasTo
address
Address where to send remaining gas
Events emitted:
UserDataCodeUpgraded
installOrUpdateElectionCode
installOrUpdateElectionCode
Upgrades election version.
Parameters:
code
TvmCell
Election code in cell format
sendGasTo
address
Address where to send remaining gas
Events emitted:
ElectionCodeUpgraded
installOrUpdateRelayRoundCode
installOrUpdateRelayRoundCode
Upgrades 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
forceUpgradeUserData
Upgrades user data.
Parameters:
user
address
User address
sendGasTo
address
Address where to send remaining gas
_upgradeUserData
_upgradeUserData
Upgrades 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
upgradeElection
Upgrades election code and version by request.
Parameters:
round_num
uint32
Round number
sendGasTo
address
Address where to send remaining gas
Events emitted:
RequestedElectionUpgrade
upgradeRelayRound
upgradeRelayRound
Upgrades 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
_buildElectionParams
Returns 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
_buildRelayRoundParams
Returns 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