client-aftermath-ts-sdk
Version:
Client Aftermath TypeScript SDK
124 lines (123 loc) • 5.95 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Farms = void 0;
const caller_1 = require("../../general/utils/caller");
const farmsStakingPool_1 = require("./farmsStakingPool");
const farmsStakedPosition_1 = require("./farmsStakedPosition");
class Farms extends caller_1.Caller {
// =========================================================================
// Constructor
// =========================================================================
constructor(config, Provider) {
super(config, "farms");
this.Provider = Provider;
// =========================================================================
// Private Helpers
// =========================================================================
this.useProvider = () => {
var _a;
const provider = (_a = this.Provider) === null || _a === void 0 ? void 0 : _a.Farms();
if (!provider)
throw new Error("missing AftermathApi Provider");
return provider;
};
}
// =========================================================================
// Public
// =========================================================================
// =========================================================================
// Class Objects
// =========================================================================
getStakingPool(inputs) {
return __awaiter(this, void 0, void 0, function* () {
const stakingPool = yield this.fetchApi(inputs.objectId);
return new farmsStakingPool_1.FarmsStakingPool(stakingPool, this.config, this.Provider);
});
}
getStakingPools(inputs) {
return __awaiter(this, void 0, void 0, function* () {
const stakingPools = yield this.fetchApi("", {
farmIds: inputs.objectIds,
});
return stakingPools.map((stakingPool) => new farmsStakingPool_1.FarmsStakingPool(stakingPool, this.config, this.Provider));
});
}
getAllStakingPools() {
return __awaiter(this, void 0, void 0, function* () {
const stakingPools = yield this.fetchApi("", {});
return stakingPools.map((pool) => new farmsStakingPool_1.FarmsStakingPool(pool, this.config, this.Provider));
});
}
getOwnedStakedPositions(inputs) {
return __awaiter(this, void 0, void 0, function* () {
const positions = yield this.fetchApi("owned-staked-positions", inputs);
return positions.map((pool) => new farmsStakedPosition_1.FarmsStakedPosition(pool, undefined, this.config, this.Provider));
});
}
getOwnedStakingPoolOwnerCaps(inputs) {
return __awaiter(this, void 0, void 0, function* () {
// TODO: remove endpoint eventually ?
// return this.fetchApi<
// StakingPoolOwnerCapObject[],
// ApiFarmsOwnedStakingPoolOwnerCapsBody
// >("owned-staking-pool-owner-caps", inputs);
return this.useProvider().fetchOwnedStakingPoolOwnerCaps(inputs);
});
}
getOwnedStakingPoolOneTimeAdminCaps(inputs) {
return __awaiter(this, void 0, void 0, function* () {
// TODO: remove endpoint eventually ?
// return this.fetchApi<
// StakingPoolOneTimeAdminCapObject[],
// ApiFarmsOwnedStakingPoolOneTimeAdminCapsBody
// >("owned-staking-pool-one-time-admin-caps", inputs);
return this.useProvider().fetchOwnedStakingPoolOneTimeAdminCaps(inputs);
});
}
// =========================================================================
// Stats
// =========================================================================
getTVL(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.fetchApi("tvl", inputs !== null && inputs !== void 0 ? inputs : {});
});
}
getRewardsTVL(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.fetchApi("rewards-tvl", inputs !== null && inputs !== void 0 ? inputs : {});
});
}
// =========================================================================
// Transactions
// =========================================================================
getCreateStakingPoolTransaction(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.useProvider().fetchBuildCreateStakingPoolTx(inputs);
});
}
// =========================================================================
// Events
// =========================================================================
getInteractionEvents(inputs) {
return __awaiter(this, void 0, void 0, function* () {
return this.fetchApiIndexerEvents("events-by-user", inputs);
});
}
}
exports.Farms = Farms;
// =========================================================================
// Constants
// =========================================================================
Farms.constants = {
minRewardsToClaim: BigInt(10),
maxLockMultiplier: 18,
};