aftermath-ts-sdk
Version:
Aftermath TypeScript SDK
428 lines (427 loc) • 18.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FarmsApiCasting = void 0;
const coin_1 = require("../../coin/coin");
const utils_1 = require("../../../general/utils");
class FarmsApiCasting {
}
exports.FarmsApiCasting = FarmsApiCasting;
// =========================================================================
// Objects
// =========================================================================
FarmsApiCasting.partialStakedPositionObjectFromSuiObjectResponseV1 = (data) => {
const objectType = utils_1.Helpers.getObjectType(data);
const fields = utils_1.Helpers.getObjectFields(data);
const stakeCoinType = utils_1.Helpers.addLeadingZeroesToType(coin_1.Coin.getInnerCoinType(objectType));
return {
objectType,
objectId: utils_1.Helpers.getObjectId(data),
stakeCoinType,
stakingPoolObjectId: fields.afterburner_vault_id,
stakedAmount: BigInt(fields.balance),
stakedAmountWithMultiplier: BigInt(fields.multiplier_staked_amount),
lockStartTimestamp: Number(fields.lock_start_timestamp_ms),
lockDurationMs: Number(fields.lock_duration_ms),
lockMultiplier: BigInt(fields.lock_multiplier),
lastHarvestRewardsTimestamp: Number(fields.last_reward_timestamp_ms),
rewardCoins: fields.base_rewards_accumulated.map((baseRewardsAccumulated, index) => ({
baseRewardsAccumulated: BigInt(baseRewardsAccumulated),
baseRewardsDebt: BigInt(fields.base_rewards_debt[index]),
multiplierRewardsAccumulated: BigInt(fields.multiplier_rewards_accumulated[index]),
multiplierRewardsDebt: BigInt(fields.multiplier_rewards_debt[index]),
})),
version: 1,
};
};
FarmsApiCasting.partialStakedPositionObjectFromSuiObjectResponseV2 = (data) => {
const objectType = utils_1.Helpers.getObjectType(data);
const fields = utils_1.Helpers.getObjectFields(data);
const stakeCoinType = utils_1.Helpers.addLeadingZeroesToType(coin_1.Coin.getInnerCoinType(objectType));
return {
objectType,
objectId: utils_1.Helpers.getObjectId(data),
stakeCoinType,
stakingPoolObjectId: fields.vault_id,
stakedAmount: BigInt(fields.balance),
stakedAmountWithMultiplier: BigInt(fields.multiplier_staked_amount),
lockStartTimestamp: Number(fields.lock_start_timestamp_ms),
lockDurationMs: Number(fields.lock_duration_ms),
lockMultiplier: BigInt(fields.lock_multiplier),
lastHarvestRewardsTimestamp: Number(fields.last_reward_timestamp_ms),
rewardCoins: fields.base_rewards_accumulated.map((baseRewardsAccumulated, index) => ({
baseRewardsAccumulated: BigInt(baseRewardsAccumulated),
baseRewardsDebt: BigInt(fields.base_rewards_debt[index]),
multiplierRewardsAccumulated: BigInt(fields.multiplier_rewards_accumulated[index]),
multiplierRewardsDebt: BigInt(fields.multiplier_rewards_debt[index]),
})),
version: 2,
};
};
FarmsApiCasting.stakingPoolOwnerCapObjectFromSuiObjectResponseV1 = (data) => {
const objectType = utils_1.Helpers.getObjectType(data);
const fields = utils_1.Helpers.getObjectFields(data);
return {
objectType,
objectId: utils_1.Helpers.getObjectId(data),
stakingPoolId: fields.afterburner_vault_id,
};
};
FarmsApiCasting.stakingPoolOwnerCapObjectFromSuiObjectResponseV2 = (data) => {
const objectType = utils_1.Helpers.getObjectType(data);
const fields = utils_1.Helpers.getObjectFields(data);
return {
objectType,
objectId: utils_1.Helpers.getObjectId(data),
stakingPoolId: fields.for,
};
};
FarmsApiCasting.stakingPoolOneTimeAdminCapObjectFromSuiObjectResponseV1 = (data) => {
const objectType = utils_1.Helpers.getObjectType(data);
const fields = utils_1.Helpers.getObjectFields(data);
return {
objectType,
objectId: utils_1.Helpers.getObjectId(data),
stakingPoolId: fields.afterburner_vault_id,
};
};
FarmsApiCasting.stakingPoolOneTimeAdminCapObjectFromSuiObjectResponseV2 = (data) => {
const objectType = utils_1.Helpers.getObjectType(data);
const fields = utils_1.Helpers.getObjectFields(data);
// TODO: add reward coin type ?
return {
objectType,
objectId: utils_1.Helpers.getObjectId(data),
stakingPoolId: fields.cap.for,
};
};
// =========================================================================
// Events
// =========================================================================
FarmsApiCasting.addedRewardEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
vaultId: fields.vault_id,
rewardType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.reward_type),
rewardAmount: BigInt(fields.reward_amount),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.addedRewardEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
vaultId: fields.vault_id,
rewardType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.reward_type),
rewardAmount: BigInt(fields.reward_amount),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.createdVaultEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
vaultId: fields.vault_id,
stakeType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.stake_type),
minLockDurationMs: Number(fields.min_lock_duration_ms),
maxLockDurationMs: Number(fields.max_lock_duration_ms),
maxLockMultiplier: BigInt(fields.max_lock_multiplier),
minStakeAmount: BigInt(fields.min_stake_amount),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.createdVaultEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
vaultId: fields.vault_id,
stakeType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.stake_type),
minLockDurationMs: Number(fields.min_lock_duration_ms),
maxLockDurationMs: Number(fields.max_lock_duration_ms),
maxLockMultiplier: BigInt(fields.max_lock_multiplier),
minStakeAmount: BigInt(fields.min_stake_amount),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.depositedPrincipalEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
amount: BigInt(fields.amount),
stakeType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.stake_type),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.depositedPrincipalEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
amount: BigInt(fields.amount),
stakeType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.stake_type),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.destroyedStakedPositionEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.destroyedStakedPositionEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
stakedPositionId: fields.staked_position_id,
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.harvestedRewardsEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
vaultId: fields.afterburner_vault_id,
rewardTypes: fields.reward_types.map((rewardType) => utils_1.Helpers.addLeadingZeroesToType("0x" + rewardType)),
rewardAmounts: fields.reward_amounts.map((amount) => BigInt(amount)),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.harvestedRewardsEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
vaultId: fields.afterburner_vault_id,
rewardTypes: fields.reward_types.map((rewardType) => utils_1.Helpers.addLeadingZeroesToType("0x" + rewardType)),
rewardAmounts: fields.reward_amounts.map((amount) => BigInt(amount)),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.increasedEmissionsEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
vaultId: fields.vault_id,
rewardType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.reward_type),
emissionScheduleMs: Number(fields.emission_schedule_ms),
emissionRate: BigInt(fields.emission_rate),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.updatedEmissionsEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
vaultId: fields.vault_id,
rewardType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.reward_type),
emissionScheduleMs: Number(fields.emission_schedule_ms),
emissionRate: BigInt(fields.emission_rate),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.initializedRewardEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
vaultId: fields.vault_id,
rewardType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.reward_type),
rewardAmount: BigInt(fields.reward_amount),
emissionRate: BigInt(fields.emission_rate),
emissionStartMs: Number(fields.emission_start_ms),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.initializedRewardEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
vaultId: fields.vault_id,
rewardType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.reward_type),
rewardAmount: BigInt(fields.reward_amount),
emissionRate: BigInt(fields.emission_rate),
emissionStartMs: Number(fields.emission_start_ms),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.joinedEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
otherStakedPositionId: fields.other_staked_position_id,
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.joinedEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
stakedPositionId: fields.staked_position_id,
otherStakedPositionId: fields.other_staked_position_id,
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.lockedEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
stakedType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.staked_type),
stakedAmount: BigInt(fields.staked_amount),
lockStartTimestampMs: Number(fields.lock_start_timestamp_ms),
lockDurationMs: Number(fields.lock_duration_ms),
lockMultiplier: BigInt(fields.lock_multiplier),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.lockedEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
stakedType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.staked_type),
stakedAmount: BigInt(fields.staked_amount),
lockStartTimestampMs: Number(fields.lock_start_timestamp_ms),
lockDurationMs: Number(fields.lock_duration_ms),
lockMultiplier: BigInt(fields.lock_multiplier),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.splitEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
splitStakedPositionId: fields.split_staked_position_id,
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.splitEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
stakedPositionId: fields.staked_position_id,
splitStakedPositionId: fields.split_staked_position_id,
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.stakedEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
stakedType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.staked_type),
stakedAmount: BigInt(fields.staked_amount),
multipliedStakedAmount: BigInt(fields.multiplied_staked_amount),
lockStartTimestampMs: Number(fields.lock_start_timestamp_ms),
lockDurationMs: Number(fields.lock_duration_ms),
lockMultiplier: BigInt(fields.lock_multiplier),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.stakedEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
stakedType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.staked_type),
stakedAmount: BigInt(fields.staked_amount),
multipliedStakedAmount: BigInt(fields.multiplier_staked_amount),
lockStartTimestampMs: Number(fields.lock_start_timestamp_ms),
lockDurationMs: Number(fields.lock_duration_ms),
lockMultiplier: BigInt(fields.lock_multiplier),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.stakedRelaxedEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
stakedType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.staked_type),
stakedAmount: BigInt(fields.staked_amount),
lockStartTimestampMs: Number(fields.lock_start_timestamp_ms),
lockEndTimestampMs: Number(fields.lock_end_timestamp_ms),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.unlockedEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
stakedType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.staked_type),
stakedAmount: BigInt(fields.staked_amount),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.unlockedEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
stakedType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.staked_type),
stakedAmount: BigInt(fields.staked_amount),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.withdrewPrincipalEventFromOnChainV1 = (eventOnChain) => {
const fields = eventOnChain.parsedJson;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
amount: BigInt(fields.amount),
stakeType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.stake_type),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};
FarmsApiCasting.withdrewPrincipalEventFromOnChainV2 = (eventOnChain) => {
const fields = eventOnChain.parsedJson.pos0;
return {
stakedPositionId: fields.staked_position_id,
vaultId: fields.vault_id,
amount: BigInt(fields.amount),
stakeType: utils_1.Helpers.addLeadingZeroesToType("0x" + fields.stake_type),
timestamp: eventOnChain.timestampMs,
txnDigest: eventOnChain.id.txDigest,
type: eventOnChain.type,
};
};