@ledgerhq/coin-hedera
Version:
Ledger Hedera Coin integration
46 lines • 1.73 kB
JavaScript
import BigNumber from "bignumber.js";
export function toHederaResourcesRaw(resources) {
const { maxAutomaticTokenAssociations, isAutoTokenAssociationEnabled } = resources;
const delegation = resources.delegation
? {
nodeId: resources.delegation.nodeId,
delegated: resources.delegation.delegated.toString(),
pendingReward: resources.delegation.pendingReward.toString(),
}
: null;
return {
maxAutomaticTokenAssociations,
isAutoTokenAssociationEnabled,
delegation,
};
}
export function fromHederaResourcesRaw(rawResources) {
const { maxAutomaticTokenAssociations, isAutoTokenAssociationEnabled } = rawResources;
const delegation = rawResources.delegation
? {
nodeId: rawResources.delegation.nodeId,
delegated: new BigNumber(rawResources.delegation.delegated),
pendingReward: new BigNumber(rawResources.delegation.pendingReward),
}
: null;
return {
maxAutomaticTokenAssociations,
isAutoTokenAssociationEnabled,
delegation,
};
}
export function assignToAccountRaw(account, accountRaw) {
const hederaAccount = account;
const hederaAccountRaw = accountRaw;
if (hederaAccount.hederaResources) {
hederaAccountRaw.hederaResources = toHederaResourcesRaw(hederaAccount.hederaResources);
}
}
export function assignFromAccountRaw(accountRaw, account) {
const hederaAccount = account;
const hederaAccountRaw = accountRaw;
if (hederaAccountRaw.hederaResources) {
hederaAccount.hederaResources = fromHederaResourcesRaw(hederaAccountRaw.hederaResources);
}
}
//# sourceMappingURL=serialization.js.map