import { RawRewardAccount, RewardAccount, StakeAddress } from "./address"; export type Withdrawls = Map; type RawWithdrawal = Map; export class Withdrawal { rewards: Map; constructor(rewards: Map) { this.rewards = rewards; } static fromCborObject(obj: RawWithdrawal): Withdrawal { const newMap = new Map(); obj.forEach((deposit, rewardAccount) => { const parsedRewardAccount = StakeAddress.fromBytes(rewardAccount); newMap.set(parsedRewardAccount, deposit); }); return new Withdrawal(newMap); } } export function parseWithdrawals(rawWithdrawals: RawWithdrawal[]): Withdrawal[] { const withdrawals: Withdrawal[] = []; rawWithdrawals.forEach((rawWithdrawal) => { withdrawals.push(Withdrawal.fromCborObject(rawWithdrawal)); }); return withdrawals; }