SecurityTokenPositionManager
Git Source
Inherits: ISecurityTokenPositionManager, ISecurityTokenPositionManagerErrors, ERC721DescribableUpgradeable, ERC721TotalSupplyUpgradeable, SecurityTokenPositionManagerStorage, ERC721RoyaltyUpgradeable, MulticallUpgradeable, AccessManagedUpgradeable
Manages positions for security tokens, allowing minting, burning, and delegation of positions
Implements ERC721 for position tokenization and includes royalty functionality
initializeAuthority
Initializes the authority for the position manager
This function should only be called once, typically during contract deployment
function initializeAuthority(address initialAuthority) external override initializer;
Parameters
The address to be set as the initial authority
Initializes the position manager and its associated ERC721 token
function initialize(string calldata name, string calldata symbol, address descriptor) external reinitializer(2);
Parameters
The name for the ERC721 token representing positions
The symbol for the ERC721 token representing positions
The address of the descriptor contract
updateSecurityToken
Updates the details of a security token
Parameters
The address of the security token to update
The new details for the security token
removeSecurityToken
Removes a security token from the position manager
Parameters
The address of the security token to remove
setDefaultRoyalty
Sets the default royalty for the contract
Parameters
The address to receive royalties
The fee numerator for calculating royalties
setTokenRoyalty
Sets the royalty for a specific token
Parameters
The ID of the token to set royalties for
The address to receive royalties
The fee numerator for calculating royalties
Mints a new position token representing a locked amount of security tokens
Parameters
The address of the security token to be locked in the position
The amount of security tokens to be locked in the position
The address to receive the minted position token
Additional data for the mint operation
Returns
The ID of the newly minted position token
Burns a position and releases the locked security tokens
Parameters
The ID of the position to burn
The address to receive the underlying security tokens
Returns
The TokenData of the burned position
Sets the delegate for a position's voting power
Parameters
The ID of the position token
The address of the new delegate
securityTokenDetails
Retrieves the details of a security token
Parameters
The address of the security token
Returns
The SecurityTokenDetails of the specified security token
supportsInterface
Checks if the contract supports a given interface
Parameters
The interface identifier to check
Returns
bool True if the contract supports the interface, false otherwise
Returns the URI for a given token
Parameters
Returns
string The URI of the token
Retrieves the token data for a position
Parameters
The ID of the position token
Returns
The TokenData of the specified position
Internal function to update token ownership and delegate voting power
Parameters
The address to transfer ownership to
The ID of the token being transferred
The address authorized to make the transfer
Returns
address The previous owner of the token
Internal function to retrieve and encode token and security token data
Parameters
Returns
bytes The ABI-encoded token data and associated security token details