UNPKG

@fractional-company/common

Version:
70 lines (69 loc) 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RaeEventBuilder = exports.RAES_PURCHASED = exports.RAES_BURNED = exports.RAES_MINTED = void 0; const cloneObject_1 = require("../../utils/cloneObject"); const vault_events_1 = require("./vault.events"); const lpda_events_1 = require("./lpda.events"); const optimistic_bid_events_1 = require("./optimistic-bid.events"); const InternalEventBuilder_1 = require("./InternalEventBuilder"); const feature = "rae"; exports.RAES_MINTED = `${feature}.minted`; exports.RAES_BURNED = `${feature}.burned`; exports.RAES_PURCHASED = `${feature}.purchased`; class RaeEventBuilder extends InternalEventBuilder_1.InternalEventBuilder { constructor() { super(...arguments); this.vault = null; this.distribution = null; this.reconstitution = null; } setVault(vault) { this.vault = vault; return this; } setDistribution(distribution) { this.distribution = distribution; return this; } setReconstitution(reconstitution) { this.reconstitution = reconstitution; return this; } setDetails(details) { this.details = details; return this; } getDefaultBody() { this.validate(["vault"], true); return { vault: (0, cloneObject_1.cloneObject)(this.vault, vault_events_1.vaultParams), context: this.getContext(), }; } getRaePurchasedBody() { this.validate(["details"], true); return { ...this.getDefaultBody(), details: (0, cloneObject_1.cloneObject)(this.details, [ "tokenAddress", "tokenId", "walletAddress", "priceWei", "amount", "priceUsd", "source", ]), distribution: (0, cloneObject_1.cloneObject)(this.distribution, lpda_events_1.distributionParams), reconstruction: (0, cloneObject_1.cloneObject)(this.reconstitution, optimistic_bid_events_1.reconstitutionParams), }; } getEventBody(eventName) { switch (eventName) { case exports.RAES_PURCHASED: return this.getRaePurchasedBody(); default: return {}; } } } exports.RaeEventBuilder = RaeEventBuilder;