LRC-2981 NFT Royalties
LRC-2981 NFT Royalties for Lux Network
Abstract
LRC-2981 (mirrors ERC-2981) standardizes NFT royalty information.
Specification
Implements royaltyInfo(tokenId, salePrice) returning receiver and royalty amount.
Motivation
This standard ensures compatibility with the broader EVM ecosystem while enabling Lux-specific optimizations.
Rationale
Mirrors the corresponding Ethereum standard for maximum compatibility.
Backwards Compatibility
Fully compatible with existing ERC implementations.
Reference Implementation
Repository: https://github.com/luxfi/standard
Local Path: /Users/z/work/lux/standard/
Contracts
| Contract | Description |
|---|---|
lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol | NFT royalty standard |
Interfaces
Upgradeable Variants
For proxy-based upgradeable contracts:
| Contract | Description |
|---|---|
ERC721RoyaltyUpgradeable.sol | Upgradeable royalties (721) |
ERC2981Upgradeable.sol | Upgradeable ERC-2981 base |
Usage: Initialize in initialize() instead of constructor. See OpenZeppelin Upgrades.
Build and Test
cd /Users/z/work/lux/standard/
# Build all contracts
forge build
# Run tests
forge test -vvv
# Gas report
forge test --gas-report
Security Considerations
Implementations should follow established security best practices for the corresponding ERC.
Copyright
Copyright and related rights waived via CC0.