@ledgerhq/coin-aptos
Version:
Ledger Aptos Coin integration
41 lines • 1.77 kB
JavaScript
import BigNumber from "bignumber.js";
export function toAptosResourcesRaw(r) {
const { activeBalance, pendingInactiveBalance, inactiveBalance, stakingPositions } = r;
return {
activeBalance: activeBalance.toString(),
pendingInactiveBalance: pendingInactiveBalance.toString(),
inactiveBalance: inactiveBalance.toString(),
stakingPositions: stakingPositions.map(({ active, validatorId, inactive, pendingInactive }) => ({
active: active.toString(),
pendingInactive: pendingInactive.toString(),
inactive: inactive.toString(),
validatorId,
})),
};
}
export function fromAptosResourcesRaw(r) {
const { activeBalance, pendingInactiveBalance, inactiveBalance, stakingPositions = [] } = r;
return {
activeBalance: new BigNumber(activeBalance),
pendingInactiveBalance: new BigNumber(pendingInactiveBalance),
inactiveBalance: new BigNumber(inactiveBalance),
stakingPositions: stakingPositions.map(({ active, pendingInactive, inactive, validatorId }) => ({
active: new BigNumber(active),
pendingInactive: new BigNumber(pendingInactive),
inactive: new BigNumber(inactive),
validatorId,
})),
};
}
export function assignToAccountRaw(account, accountRaw) {
const aptosAccount = account;
if (aptosAccount.aptosResources) {
accountRaw.aptosResources = toAptosResourcesRaw(aptosAccount.aptosResources);
}
}
export function assignFromAccountRaw(accountRaw, account) {
const aptosResourcesRaw = accountRaw.aptosResources;
if (aptosResourcesRaw)
account.aptosResources = fromAptosResourcesRaw(aptosResourcesRaw);
}
//# sourceMappingURL=serialization.js.map