UNPKG

@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
"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;