UNPKG

aftermath-ts-sdk

Version:
88 lines (87 loc) 4.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StakingApiCasting = void 0; const utils_1 = require("../../../general/utils"); const fixedUtils_1 = require("../../../general/utils/fixedUtils"); class StakingApiCasting { } exports.StakingApiCasting = StakingApiCasting; // ========================================================================= // Objects // ========================================================================= StakingApiCasting.validatorOperationCapObjectFromSuiObjectResponse = (data) => { const objectType = utils_1.Helpers.getObjectType(data); const fields = utils_1.Helpers.getObjectFields(data); return { objectType, objectId: utils_1.Helpers.getObjectId(data), authorizerValidatorAddress: utils_1.Helpers.addLeadingZeroesToType(fields.authorizer_validator_address), }; }; StakingApiCasting.stakedSuiVaultStateObjectFromSuiObjectResponse = (data) => { const objectId = utils_1.Helpers.getObjectId(data); const objectType = utils_1.Helpers.getObjectType(data); const fields = utils_1.Helpers.getObjectFields(data); return { objectId, objectType, atomicUnstakeSuiReservesTargetValue: BigInt(fields.protocol_config.fields .atomic_unstake_sui_reserves_target_value), atomicUnstakeSuiReserves: BigInt(fields.atomic_unstake_sui_reserves), minAtomicUnstakeFee: BigInt(fields.protocol_config.fields.atomic_unstake_protocol_fee.fields .min_fee), maxAtomicUnstakeFee: BigInt(fields.protocol_config.fields.atomic_unstake_protocol_fee.fields .max_fee), totalSuiAmount: BigInt(fields.total_sui_amount), totalRewardsAmount: BigInt(fields.total_rewards_amount), activeEpoch: BigInt(fields.active_epoch), }; }; // ========================================================================= // Events // ========================================================================= StakingApiCasting.stakedEventFromOnChain = (eventOnChain) => { const fields = eventOnChain.parsedJson; return { suiId: utils_1.Helpers.addLeadingZeroesToType(fields.sui_id), stakedSuiId: utils_1.Helpers.addLeadingZeroesToType(fields.staked_sui_id), staker: utils_1.Helpers.addLeadingZeroesToType(fields.staker), validatorAddress: utils_1.Helpers.addLeadingZeroesToType(fields.validator), epoch: BigInt(fields.epoch), suiStakeAmount: BigInt(fields.sui_amount), validatorFee: fixedUtils_1.FixedUtils.directCast(BigInt(fields.validator_fee)), isRestaked: fields.is_restaked, referrer: fields.referrer ? fields.referrer : undefined, afSuiId: utils_1.Helpers.addLeadingZeroesToType(fields.afsui_id), afSuiAmount: BigInt(fields.afsui_amount), timestamp: eventOnChain.timestampMs, txnDigest: eventOnChain.id.txDigest, type: eventOnChain.type, }; }; StakingApiCasting.unstakedEventFromOnChain = (eventOnChain) => { const fields = eventOnChain.parsedJson; return { afSuiId: utils_1.Helpers.addLeadingZeroesToType(fields.afsui_id), suiId: utils_1.Helpers.addLeadingZeroesToType(fields.sui_id), requester: utils_1.Helpers.addLeadingZeroesToType(fields.requester), epoch: BigInt(fields.epoch), providedAfSuiAmount: BigInt(fields.provided_afsui_amount), returnedSuiAmount: BigInt(fields.returned_sui_amount), timestamp: eventOnChain.timestampMs, txnDigest: eventOnChain.id.txDigest, type: eventOnChain.type, }; }; StakingApiCasting.unstakeRequestedEventFromOnChain = (eventOnChain) => { const fields = eventOnChain.parsedJson; return { afSuiId: utils_1.Helpers.addLeadingZeroesToType(fields.afsui_id), providedAfSuiAmount: BigInt(fields.provided_afsui_amount), requester: utils_1.Helpers.addLeadingZeroesToType(fields.requester), epoch: BigInt(fields.epoch), timestamp: eventOnChain.timestampMs, txnDigest: eventOnChain.id.txDigest, type: eventOnChain.type, }; };