@ledgerhq/coin-multiversx
Version:
Ledger MultiversX Coin integration
53 lines • 1.63 kB
JavaScript
import BigNumber from "bignumber.js";
import { isMultiversXOperationExtraRaw, isMultiversXOperationExtra, } from "./types";
export function toMultiversXResourcesRaw(r) {
const { nonce, delegations, isGuarded } = r;
return {
nonce,
delegations,
isGuarded,
};
}
export function fromMultiversXResourcesRaw(r) {
const { nonce, delegations, isGuarded } = r;
return {
nonce,
delegations,
isGuarded,
};
}
export function assignToAccountRaw(account, accountRaw) {
const multiversxAccount = account;
if (multiversxAccount.multiversxResources) {
accountRaw.multiversxResources = toMultiversXResourcesRaw(multiversxAccount.multiversxResources);
}
}
export function assignFromAccountRaw(accountRaw, account) {
const multiversxResourcesRaw = accountRaw.multiversxResources;
if (multiversxResourcesRaw)
account.multiversxResources =
fromMultiversXResourcesRaw(multiversxResourcesRaw);
}
export function fromOperationExtraRaw(extraRaw) {
const extra = {};
if (!isMultiversXOperationExtraRaw(extraRaw)) {
// All fields might be undefined
return extra;
}
if (extraRaw.amount) {
extra.amount = new BigNumber(extraRaw.amount);
}
return extra;
}
export function toOperationExtraRaw(extra) {
const extraRaw = {};
if (!isMultiversXOperationExtra(extra)) {
// All fields might be undefined
return extraRaw;
}
if (extra.amount) {
extraRaw.amount = extra.amount.toString();
}
return extraRaw;
}
//# sourceMappingURL=serialization.js.map