@ledgerhq/coin-algorand
Version:
Ledger Algorand Coin integration
63 lines • 1.82 kB
JavaScript
import { BigNumber } from "bignumber.js";
import { isAlgorandOperationExtra, isAlgorandOperationExtraRaw, } from "./types";
function toResourcesRaw(r) {
const { rewards, nbAssets } = r;
return {
rewards: rewards.toString(),
nbAssets,
};
}
function fromResourcesRaw(r) {
const { rewards, nbAssets } = r;
return {
rewards: new BigNumber(rewards),
nbAssets,
};
}
export function assignToAccountRaw(account, accountRaw) {
const algorandAccount = account;
const algorandAccountRaw = accountRaw;
if (algorandAccount.algorandResources) {
algorandAccountRaw.algorandResources = toResourcesRaw(algorandAccount.algorandResources);
}
}
export function assignFromAccountRaw(accountRaw, account) {
const algorandResourcesRaw = accountRaw.algorandResources;
const algorandAccount = account;
if (algorandResourcesRaw) {
algorandAccount.algorandResources = fromResourcesRaw(algorandResourcesRaw);
}
}
export function fromOperationExtraRaw(extraRaw) {
const extra = {};
if (!isAlgorandOperationExtraRaw(extraRaw)) {
return extra;
}
if (extraRaw.rewards) {
extra.rewards = new BigNumber(extraRaw.rewards);
}
if (extraRaw.memo) {
extra.memo = extraRaw.memo;
}
if (extraRaw.assetId) {
extra.assetId = extraRaw.assetId;
}
return extra;
}
export function toOperationExtraRaw(extra) {
const extraRaw = {};
if (!isAlgorandOperationExtra(extra)) {
return extraRaw;
}
if (extra.rewards) {
extraRaw.rewards = extra.rewards.toString();
}
if (extra.memo) {
extraRaw.memo = extra.memo;
}
if (extra.assetId) {
extraRaw.assetId = extra.assetId;
}
return extraRaw;
}
//# sourceMappingURL=serialization.js.map