Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 47x 47x 183x 47x 123x 77x 220x 29x 48x 47x 7x 7x 7069x 47x 118x 214x 47x 5x 47x 47x 7x 47x 47x 68x 122x 379x | import { Cardano, EpochInfo, EraSummary } from '@cardano-sdk/core';
import { DelegatedStake } from '../types';
import { GroupedAddress, WitnessedTx } from '@cardano-sdk/key-management';
import { sameArrayItems } from '@cardano-sdk/util';
export const tipEquals = (a: Cardano.Tip, b: Cardano.Tip) => a.hash === b.hash;
export const txEquals = (a: Cardano.HydratedTx, b: Cardano.HydratedTx) => a.id === b.id;
export const sameSortedArrayItems = <T>(arrayA: T[], arrayB: T[], itemEquals: (a: T, b: T) => boolean): boolean => {
if (arrayA.length !== arrayB.length) return false;
for (const [i, element] of arrayA.entries()) {
if (!itemEquals(element, arrayB[i])) {
return false;
}
}
return true;
};
export const transactionsEquals = (a: Cardano.HydratedTx[], b: Cardano.HydratedTx[]) => {
Iif (a === b) return true;
return sameSortedArrayItems(a, b, txEquals);
};
export const txInEquals = (a: Cardano.TxIn, b: Cardano.TxIn) => a.txId === b.txId && a.index === b.index;
export const utxoEquals = (a: Cardano.Utxo[], b: Cardano.Utxo[]) => {
if (a === b) return true;
return sameSortedArrayItems(a, b, ([aTxIn], [bTxIn]) => txInEquals(aTxIn, bTxIn));
};
export const eraSummariesEquals = (a: EraSummary[], b: EraSummary[]) =>
sameArrayItems(a, b, (es1, es2) => es1.start.slot === es2.start.slot);
const groupedAddressEquals = (a: GroupedAddress, b: GroupedAddress) => a.address === b.address;
export const groupedAddressesEquals = (a: GroupedAddress[], b: GroupedAddress[]) =>
sameArrayItems(a, b, groupedAddressEquals);
export const epochInfoEquals = (a: EpochInfo, b: EpochInfo) => a.epochNo === b.epochNo;
export const delegatedStakeEquals = (a: DelegatedStake, b: DelegatedStake) =>
a.pool.id === b.pool.id && a.stake === b.stake && a.percentage === b.percentage;
const signedTxEquals = (a: WitnessedTx, b: WitnessedTx) => a.tx.id === b.tx.id;
export const signedTxsEquals = (a: WitnessedTx[], b: WitnessedTx[]) => sameArrayItems(a, b, signedTxEquals);
|