"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MarketplaceMixin = void 0;
const base_core_sdk_1 = require("./../mixins/base-core-sdk");
const opensea_1 = require("./opensea");
const types_1 = require("./types");
class MarketplaceMixin extends base_core_sdk_1.BaseCoreSDK {
    marketplace(type, handler, feeRecipient) {
        switch (type) {
            case types_1.MarketplaceType.OPENSEA: {
                return new opensea_1.OpenSeaMarketplace(type, handler, this._contracts, feeRecipient, this._web3Lib);
            }
            default:
                throw new Error(`Not Supported Marketplace Type '${type}'`);
        }
    }
}
exports.MarketplaceMixin = MarketplaceMixin;
//# sourceMappingURL=mixin.js.map