UNPKG

client-aftermath-ts-sdk

Version:
227 lines (226 loc) 9.69 kB
"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.partialStakedPositionObjectFromSuiObjectResponse = (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]), })), }; }; FarmsApiCasting.stakingPoolOwnerCapObjectFromSuiObjectResponse = (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.stakingPoolOneTimeAdminCapObjectFromSuiObjectResponse = (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, }; }; // ========================================================================= // Events // ========================================================================= FarmsApiCasting.addedRewardEventFromOnChain = (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.createdVaultEventFromOnChain = (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.depositedPrincipalEventFromOnChain = (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.destroyedStakedPositionEventFromOnChain = (eventOnChain) => { const fields = eventOnChain.parsedJson; return { stakedPositionId: fields.staked_position_id, timestamp: eventOnChain.timestampMs, txnDigest: eventOnChain.id.txDigest, type: eventOnChain.type, }; }; FarmsApiCasting.harvestedRewardsEventFromOnChain = (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.increasedEmissionsEventFromOnChain = (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.initializedRewardEventFromOnChain = (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.joinedEventFromOnChain = (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.lockedEventFromOnChain = (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.splitEventFromOnChain = (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.stakedEventFromOnChain = (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.stakedRelaxedEventFromOnChain = (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.unlockedEventFromOnChain = (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.withdrewPrincipalEventFromOnChain = (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, }; };