SDL Pool Secondary
Last updated
Last updated
The SDLPoolSecondary
performs the same functions as the SDLPoolSecondary
with a few restrictions. Performing any state changes on reSDL positions including minting, burning, and updating requires the action to be queued at which point the NFT will be non-transferrable until an update is sent to the primary chain (updates are sent periodically). If there are no queued actions for an reSDL NFT, it can be transferred as normal.
This contract is deployed on all supported chains besides the primary chain.
All standard IERC721 and IERC721Metadata functions are implemented for SDLPoolSecondary
Returns the rewards pool for a token
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Returns a list of supported tokens
Returns true/false to whether a given token is supported
Returns balances of supported tokens within the controller
Returns an account's staked amount for use by reward pools controlled by this contract
Returns the total staked amount for use by reward pools controlled by this contract
Returns a list of withdrawable rewards for an account
Returns the address of the SDL token
Returns the address of the boost controller
Returns the id of the most recently minted lock
Returns the address of the CCIP controller for this contract
Returns the effective stake balance of an account (the effective stake balance includes the actual amount of tokens an account has staked across all locks plus any applicable boost gained by locking)
Returns the sum of effective balances across all accounts
Returns the list of locks that corresponds to _lockIds
Returns a list of lockIds owned by an account
Returns the maximum number of queued new locks an account can have at one time
Returns the index of the current update batch
Returns the current queued reSDL supply change to be sent in the next update
Returns a list of queued new locks for an owner
Returns queued lock updates for a list of lock ids
Returns whether an update should be sent to the primary chain
Returns whether a cross chain update is in progress
Distributes token balances to their respective rewards pools
Distributes a token to its respective rewards pool
Withdraws an account's earned rewards for a list of tokens
Adds a new token
Removes a supported token
Sets the base URI for all tokens
Sets the boost controller
Sets the CCIP controller
ERC677 implementation to stake/lock SDL tokens or distribute rewards
Extends the locking duration of a lock
Initiates the unlock period for a lock
Withdraws unlocked SDL
Executes queued operations for the sender
Handles the outgoing transfer of an reSDL lock to another chain
Handles the incoming transfer of an reSDL lock from another chain
Handles an outgoing update to the primary chain
Handles an incoming update from the primary chain
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
_token
address
address of token
rewardsPool
address
address of rewards pool
tokens
address[]
list of token addresses
_token
address
address of token
isSupported
bool
is token supported
tokens
address[]
list of supported tokens
balances
uint256[]
list of token balances
_account
address
address of account
staked
uint256
account's staked amount
totalStaked
uint256
total staked amount
_account
address
address of account
withdrawableRewards
uint256[]
list of withdrawable reward amounts for each token
sdlToken
address
address of SDL token
boostController
address
address of boost controller
lastLockId
uint256
latest lock id
ccipController
address
address of CCIP controller
_account
address
address of account
effectiveBalance
uint256
effective stake balance
totalEffectiveBalance
uint256
total effective balance
_lockIds
uint256[]
list of lock ids
locks
struct SDLPool.Lock[]
list of locks
_owner
address
address of account
lockIds
uint256[]
list of lockIds
queuedNewLockLimit
uint256
max num of queued new locks
updateBatchIndex
uint128
index of current batch
queuedRESDLSupplyChange
int256
queued reSDL supply change
_owner
address
owner of locks
queuedLocks
Lock[]
list of queued locks
batchIndexes
uint256[]
corresponding batch indexes
_lockIds
uint256[]
list of lock ids
lockUpdates
LockUpdate[][]
list of queued lock updates corresponding to each lock id
shouldUpdate
bool
whether update should be sent
updateInProgress
bool
whether update is in progress
_tokens
address[]
list of token addresses
_token
address
address of token
_tokens
address[]
list of token addresses to withdraw rewards from
_token
address
address of token to add
_rewardsPool
address
address of token rewards pool to add
_token
address
address of token
_baseURI_
string
base URI
_boostController
address
address of boost controller
_ccipController
address
address of CCIP controller
_sender
address
sender of the stake
_value
uint256
value of the token transfer
_calldata
bytes
encoded lockId (uint256) and lockingDuration (uint64)
_lockId
uint256
id of lock
_lockingDuration
uint64
new locking duration to set
_lockId
uint256
id of lock
_lockId
uint256
id of the lock
_amount
uint256
amount to withdraw from the lock
_lockIds
uint256[]
ids of locks to execute updates for
_sender
address
sender of the transfer
_lockId
uint256
id of lock
_sdlReceiver
address
address to receive underlying SDL on this chain
lock
Lock
the lock being transferred
_receiver
address
receiver of the transfer
_lockId
uint256
id of lock
_lock
Lock
lock
numNewLocks
uint256
the number of new locks to mint
resdlSupplyChange
int256
the reSDL supply change since the last update
_mintStartIndex
uint256
start index to use for minting new locks in the lastest batch