LPsLux Proposals
LRC Standards
LP-5981

LRC-2981 NFT Royalties

Implemented

LRC-2981 NFT Royalties for Lux Network

Category
LRC
Created
2025-01-23

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

ContractDescription
lib/openzeppelin-contracts/contracts/token/common/ERC2981.solNFT royalty standard

Interfaces

Upgradeable Variants

For proxy-based upgradeable contracts:

ContractDescription
ERC721RoyaltyUpgradeable.solUpgradeable royalties (721)
ERC2981Upgradeable.solUpgradeable 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 and related rights waived via CC0.