import React from "react"; import { TableCardBody } from "components/common/TableCardBody"; import { SolBalance } from "components/common/SolBalance"; import { Account, useFetchAccountInfo } from "providers/accounts"; import { Address } from "components/common/Address"; import { AddressLookupTableAccount } from "@solana/web3.js"; import { Slot } from "components/common/Slot"; import { AddressLookupTableAccountInfo } from "validators/accounts/address-lookup-table"; export function AddressLookupTableAccountSection( params: | { account: Account; data: Uint8Array; } | { account: Account; lookupTableAccount: AddressLookupTableAccountInfo; } ) { const account = params.account; const lookupTableState = React.useMemo(() => { if ("data" in params) { return AddressLookupTableAccount.deserialize(params.data); } else { return params.lookupTableAccount; } }, [params]); const lookupTableAccount = new AddressLookupTableAccount({ key: account.pubkey, state: lookupTableState, }); const refresh = useFetchAccountInfo(); return (

Address Lookup Table Account

Address
Balance (SOL) Activation Status {lookupTableAccount.isActive() ? "Active" : "Deactivated"} Last Extended Slot {lookupTableAccount.state.lastExtendedSlot === 0 ? ( "None (Empty)" ) : ( )} Authority {lookupTableAccount.state.authority === undefined ? ( "None (Frozen)" ) : (
)}
); }