Seller
A seller can create offers and participate in exchanges. The seller is a complex role with admin, assistant and treasury. Initially, all roles must be the same Ethereum address; however, the admin can later change them to other addresses.
When a seller is created, a default collection is initialised and all rNFTs belonging to their offers are issued on that collection. If the seller wants to organise offers and issue rNFTs on different collections, the protocol enables them to create as many collections as needed.
The sellers manage royalty recipients on two levels - the admin defines a list of allowed recipients, and the assistant then decides which royalty recipients are added to which offer.
Seller's funds management is described in Deposit and withdraw.
TypeScript SDK
Creates a new seller. The assistant, admin and treasury must be the caller's address.
const sellerAddress = signerWallet.address;
await coreSDK.createSeller({
assistant: sellerAddress,
admin: sellerAddress,
treasury: sellerAddress,
contractUri: "http://contract.uri",
royaltyPercentage: "0",
authTokenId: "0",
authTokenType: 0,
metadataUri: "http://metadata.uri",
});
Solidity
Creates a new seller. The assistant, admin and treasury must be the caller's address.
IBosonProtocol bosonProtocol = IBosonSellerHandler(_bosonProtocolAddress);
BosonTypes.Seller memory seller = BosonTypes.Seller({
id: 0,
assistant: address(this),
admin: address(this),
clerk: address(0),
treasury: payable(address(this)),
active: true,
metadataUri: ""
});
BosonTypes.AuthToken memory authToken;
BosonTypes.VoucherInitValues memory voucherInitValues;
bosonProtocol.createSeller(seller, authToken, voucherInitValues);
Last updated