@firefly-exchange/library-sui
Version:
Sui library housing helper methods, classes to interact with Bluefin protocol(s) deployed on Sui
54 lines (53 loc) • 1.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DeploymentParser = void 0;
class DeploymentParser {
constructor(_deployment) {
this.deployment = _deployment;
}
/// Adds provided perpetual to deployment file
addPerpetual(perpConfig) {
if (!this.deployment.Perpetuals)
this.deployment.Perpetuals = {};
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
this.deployment.Perpetuals[perpConfig.symbol] = perpConfig;
}
/// Returns provided perpetual object
getPerpetual(perpName) {
return this.deployment.Perpetuals ? this.deployment.Perpetuals[perpName] : {};
}
/// Returns perpetual object for provided address
getPerpetualUsingAddress(perpAddress) {
for (const perpName of Object.keys(this.deployment.Perpetuals)) {
if (this.getPerpetualAddress(perpName) == perpAddress)
return this.getPerpetual(perpName);
}
}
/// Returns provided perpetual's id/address
getPerpetualAddress(perpName) {
return this.getPerpetual(perpName).id;
}
/// Returns the id of internal data store
getInternalDataStore() {
return this.deployment.InternalDataStore;
}
getExternalDataStore() {
return this.deployment.ExternalDataStore;
}
getAsset(assetSymbol) {
return this.deployment.SupportedAssets[assetSymbol];
}
getAdminCap() {
return this.deployment.AdminCap;
}
getPackageId() {
return this.deployment.Package;
}
getTreasuryCap() {
return this.deployment.TreasuryCap;
}
getAssetCoinType(assetSymbol) {
return this.getAsset(assetSymbol).coinType;
}
}
exports.DeploymentParser = DeploymentParser;