UNPKG

aftermath-ts-sdk

Version:
428 lines (427 loc) 18.3 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.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, }; };