@ledgerhq/coin-algorand
Version:
Ledger Algorand Coin integration
70 lines • 2.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toOperationExtraRaw = exports.fromOperationExtraRaw = exports.assignFromAccountRaw = exports.assignToAccountRaw = void 0;
const bignumber_js_1 = require("bignumber.js");
const types_1 = require("./types");
function toResourcesRaw(r) {
const { rewards, nbAssets } = r;
return {
rewards: rewards.toString(),
nbAssets,
};
}
function fromResourcesRaw(r) {
const { rewards, nbAssets } = r;
return {
rewards: new bignumber_js_1.BigNumber(rewards),
nbAssets,
};
}
function assignToAccountRaw(account, accountRaw) {
const algorandAccount = account;
const algorandAccountRaw = accountRaw;
if (algorandAccount.algorandResources) {
algorandAccountRaw.algorandResources = toResourcesRaw(algorandAccount.algorandResources);
}
}
exports.assignToAccountRaw = assignToAccountRaw;
function assignFromAccountRaw(accountRaw, account) {
const algorandResourcesRaw = accountRaw.algorandResources;
const algorandAccount = account;
if (algorandResourcesRaw) {
algorandAccount.algorandResources = fromResourcesRaw(algorandResourcesRaw);
}
}
exports.assignFromAccountRaw = assignFromAccountRaw;
function fromOperationExtraRaw(extraRaw) {
const extra = {};
if (!(0, types_1.isAlgorandOperationExtraRaw)(extraRaw)) {
return extra;
}
if (extraRaw.rewards) {
extra.rewards = new bignumber_js_1.BigNumber(extraRaw.rewards);
}
if (extraRaw.memo) {
extra.memo = extraRaw.memo;
}
if (extraRaw.assetId) {
extra.assetId = extraRaw.assetId;
}
return extra;
}
exports.fromOperationExtraRaw = fromOperationExtraRaw;
function toOperationExtraRaw(extra) {
const extraRaw = {};
if (!(0, types_1.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;
}
exports.toOperationExtraRaw = toOperationExtraRaw;
//# sourceMappingURL=serialization.js.map