aftermath-ts-sdk
Version:
Aftermath TypeScript SDK
88 lines (87 loc) • 4.12 kB
JavaScript
;
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,
};
};