@fractional-company/common
Version:
Tessera constants
70 lines (69 loc) • 2.46 kB
JavaScript
;
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;