Skip to content

Commit

Permalink
Merge pull request #20 from ProjectOpenSea/ryan/update-sips-14-15
Browse files Browse the repository at this point in the history
update SIPs 14 and 15: use updated EIP numbers
  • Loading branch information
ryanio authored Aug 21, 2023
2 parents f1d4b5d + 0f8229e commit a368dc8
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
10 changes: 5 additions & 5 deletions SIPS/sip-14.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sip: 14
title: Redeemable Contract Offerer
description: A Seaport Contract Offerer that uses ERC-7500 Dynamic Traits to enable onchain redemptions
description: A Seaport Contract Offerer that uses ERC-7496 Dynamic Traits to enable onchain redemptions
author: Ryan Ghods (@ryanio), 0age (@0age)
discussions-to: https://github.com/ProjectOpenSea/SIPs/discussions/18
status: Draft
Expand All @@ -13,11 +13,11 @@ requires: 5

## Abstract

This specification proposes a standard for a Seaport Contract Offerer that uses ERC-7500 Dynamic Traits to enable onchain redemptions. This also allows a Seaport zone to use the Dynamic Traits standard to ensure redemptions cannot be frontrun when NFTs are listed to be sold with a guarantee of certain traits.
This specification proposes a standard for a Seaport Contract Offerer that uses ERC-7496 Dynamic Traits to enable onchain redemptions. This also allows a Seaport zone to use the Dynamic Traits standard to ensure redemptions cannot be frontrun when NFTs are listed to be sold with a guarantee of certain traits.

## Motivation

Traits and metadata for non-fungible and semi-fungible tokens are often stored offchain. This makes it difficult to query and mutate these values in contract code. ERC-7500 Dynamic Traits brings certain traits onchain, to enable contracts like this Redeemable Contract Offerer to use them to create onchain token and offchain product redemptions.
Traits and metadata for non-fungible and semi-fungible tokens are often stored offchain. This makes it difficult to query and mutate these values in contract code. ERC-7496 Dynamic Traits brings certain traits onchain, to enable contracts like this Redeemable Contract Offerer to use them to create onchain token and offchain product redemptions.

## Specification

Expand Down Expand Up @@ -89,7 +89,7 @@ Any token may be used in the RedeemableParams `consideration`. This will ensure

### Dynamic traits

The contract offerer MUST include the ERC-7500 Dynamic Traits interface itself in case the campaign is a trait redemption and the specified token does not implement Dynamic Traits itself. According to the Dynamic Traits specification for "registry" functionality, the first 20 bytes of the `traitKey` should be the contract address to associate the proper `tokenId`.
The contract offerer MUST include the ERC-7496 Dynamic Traits interface itself in case the campaign is a trait redemption and the specified token does not implement Dynamic Traits itself. According to the Dynamic Traits specification for "registry" functionality, the first 20 bytes of the `traitKey` should be the contract address to associate the proper `tokenId`.

### Signer

Expand Down Expand Up @@ -259,7 +259,7 @@ The reference implementation for the Redeemable Contract Offerer can be found at

## Security Considerations

Tokens must properly implement EIP-7500 Dynamic Traits and allow the Redeemable Contract Offerer to use the `setTrait` method to enforce the full security of the standard.
Tokens must properly implement EIP-7496 Dynamic Traits and allow the Redeemable Contract Offerer to use the `setTrait` method to enforce the full security of the standard.

For tokens to be minted as part of the params `offer`, the `mintRedemption` function contained as part of `IRedemptionMintable` MUST be permissioned and ONLY allowed to be called by redeemable contract offerers specified by address.

Expand Down
8 changes: 4 additions & 4 deletions SIPS/sip-15.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sip: 15
title: Interface for Dynamic Traits Enforcement
description: A Seaport interface for specifying and enforcing values of ERC-7500 Dynamic Traits.
description: A Seaport interface for specifying and enforcing values of ERC-7496 Dynamic Traits.
author: Ryan Ghods (@ryanio), James Wenzel (emo.eth)
discussions-to: https://github.com/ProjectOpenSea/SIPs/discussions/19
status: Draft
Expand All @@ -13,11 +13,11 @@ requires (*optional): 5, 6

## Abstract

This SIP defines a standard interface for Seaport zones and contract offerers to specify and enforce ERC-7500 Dynamic Traits during order fulfillment.
This SIP defines a standard interface for Seaport zones and contract offerers to specify and enforce ERC-7496 Dynamic Traits during order fulfillment.

## Motivation

Token metadata is typically specified at offchain locations but with ERC-7500 Dynamic Traits certain metadata values can be queried onchain. This can help protect NFTs against frontrunning during purchase where the value of traits changes the expected value of the NFT. With this SIP, zones and contract offerers can enforce the value of certain traits at time of order fulfillment.
Token metadata is typically specified at offchain locations but with ERC-7496 Dynamic Traits certain metadata values can be queried onchain. This can help protect NFTs against frontrunning during purchase where the value of traits changes the expected value of the NFT. With this SIP, zones and contract offerers can enforce the value of certain traits at time of order fulfillment.

## Specification

Expand Down Expand Up @@ -89,7 +89,7 @@ The reference implementation can be found in the [Dynamic Traits repository](htt

## Security Considerations

- For the zone to work as intended tokens must properly implement ERC-7500 Dynamic Traits.
- For the zone to work as intended tokens must properly implement ERC-7496 Dynamic Traits.

## Copyright

Expand Down

0 comments on commit a368dc8

Please sign in to comment.