Redemption period

The buyer owns a rNFT, which can be traded or redeemed. The buyer and seller can opt out from the exchange during this period.

Previous state
State
Next state(s)

LISTED

COMMITTED

REDEEMED REVOKED CANCELED

Period actions

Seller
Buyer
Dispute resolver

Revoke rNFT

Cancel rNFT

/

Extend voucher validity

Redeem rNFT

Trade rNFT

Post-period actions

Seller
Buyer
Dispute resolver

Expire rNFT

Expire rNFT

Expire rNFT


TypeScript SDK

Burns rNFT, returns the price to the buyer. The seller's deposit is given to the buyer.

const exchangeId = "1534";

await sellerCoreSDK.revokeVoucher(exchangeId);

Widget

Moves the exchange into the dispute period.

To integrate the Boson Redemption Widget, all a seller needs to do is:

  1. Add the following <script> entry, either in <head> or <body> of their website:

<script async type="text/javascript" src="https://widgets.bosonprotocol.io/scripts/boson-widgets.js"></script>
  1. The Seller then needs to create a button with the fragment identifier id="boson-redeem". When clicked, the redeem modal will popup on the Seller's website.

<button type="button" id="boson-redeem">Show Redeem</button>
Redemption Widget Items View

Using the Boson Redemption Button

As a seller you can also chose to use the Boson branded "Redeem" Button on your website, if you would like to do this, all you need to do is :

  1. Add the below 2 lines of code in HTML <head> section:

 <head>
    ...
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://widgets.bosonprotocol.io/styles.css">
  </head>
  1. Add the below class name to the "boson-redeem" button:

<button type="button" id="boson-redeem" class="bosonButton">Show Redeem</button>
Boson Redeem Button

Redeeming a specific rNFT

The Boson Widget's default behaviour is to show a buyer all of their redeemable vouchers, the widget be configured to direct a buyer to a given rNFT for redemption, this enables different user flows. This the way that the Widget is used on the Boson dApp.

A Seller can specify which exchange is going to be redeemed by the widget, by:

  1. add a data-exchange-id tag to the "boson-redeem" button, specifying the exchangeId of a given exchange:

<button type="button" id="boson-redeem" data-exchange-id="80">Redeem Exchange 80</button>

You can find an example HTML file which embeds the

Solidity

Burns rNFT, returns the price to the buyer. The seller's deposit is given to the buyer.

IBosonExchangeHandler bosonProtocol = IBosonExchangeHandler(_bosonProtocolAddress);
uint256 exchangeId = 1534;

bosonProtocol.revokeVoucher(exchangeId);

External actions

Trade rNFT

rNFT is ERC721 token which can be transferred between wallets and traded on the secondary markets. Although there are no restrictions which marketplaces can be used, the recommended way is to use Boson sequential commit.

Sequential commit

Last updated