@ledgerhq/coin-near
Version:
50 lines • 2.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.assignFromAccountRaw = exports.assignToAccountRaw = exports.fromNearResourcesRaw = exports.toNearResourcesRaw = void 0;
const bignumber_js_1 = require("bignumber.js");
function toNearResourcesRaw(r) {
const { stakedBalance, pendingBalance, availableBalance, storageUsageBalance, stakingPositions } = r;
return {
stakedBalance: stakedBalance.toString(),
pendingBalance: pendingBalance.toString(),
availableBalance: availableBalance.toString(),
storageUsageBalance: storageUsageBalance.toString(),
stakingPositions: stakingPositions.map(({ staked, validatorId, available, pending }) => ({
staked: staked.toString(),
available: available.toString(),
pending: pending.toString(),
validatorId,
})),
};
}
exports.toNearResourcesRaw = toNearResourcesRaw;
function fromNearResourcesRaw(r) {
const { stakedBalance, pendingBalance, availableBalance, storageUsageBalance, stakingPositions = [], } = r;
return {
stakedBalance: new bignumber_js_1.BigNumber(stakedBalance),
pendingBalance: new bignumber_js_1.BigNumber(pendingBalance),
availableBalance: new bignumber_js_1.BigNumber(availableBalance),
storageUsageBalance: new bignumber_js_1.BigNumber(storageUsageBalance),
stakingPositions: stakingPositions.map(({ staked, validatorId, available, pending }) => ({
staked: new bignumber_js_1.BigNumber(staked),
available: new bignumber_js_1.BigNumber(available),
pending: new bignumber_js_1.BigNumber(pending),
validatorId,
})),
};
}
exports.fromNearResourcesRaw = fromNearResourcesRaw;
function assignToAccountRaw(account, accountRaw) {
const nearAccount = account;
if (nearAccount.nearResources) {
accountRaw.nearResources = toNearResourcesRaw(nearAccount.nearResources);
}
}
exports.assignToAccountRaw = assignToAccountRaw;
function assignFromAccountRaw(accountRaw, account) {
const nearResourcesRaw = accountRaw.nearResources;
if (nearResourcesRaw)
account.nearResources = fromNearResourcesRaw(nearResourcesRaw);
}
exports.assignFromAccountRaw = assignFromAccountRaw;
//# sourceMappingURL=serialization.js.map