diff --git a/explorer/src/components/instruction/AssociatedTokenDetailsCard.tsx b/explorer/src/components/instruction/AssociatedTokenDetailsCard.tsx new file mode 100644 index 0000000000..a7cd837156 --- /dev/null +++ b/explorer/src/components/instruction/AssociatedTokenDetailsCard.tsx @@ -0,0 +1,58 @@ +import React from "react"; +import { ParsedInstruction, PublicKey, SignatureResult } from "@solana/web3.js"; +import { InstructionCard } from "./InstructionCard"; +import { Address } from "components/common/Address"; + +export function AssociatedTokenDetailsCard({ + ix, + index, + result, + innerCards, + childIndex, +}: { + ix: ParsedInstruction; + index: number; + result: SignatureResult; + innerCards?: JSX.Element[]; + childIndex?: number; +}) { + const info = ix.parsed.info; + return ( + + + Program + +
+ + + + + Account + +
+ + + + + Mint + +
+ + + + + Wallet + +
+ + + + ); +} diff --git a/explorer/src/components/transaction/InstructionsSection.tsx b/explorer/src/components/transaction/InstructionsSection.tsx index 701ad2e4fd..dc38223fec 100644 --- a/explorer/src/components/transaction/InstructionsSection.tsx +++ b/explorer/src/components/transaction/InstructionsSection.tsx @@ -39,6 +39,7 @@ import { Cluster, useCluster } from "providers/cluster"; import { BpfUpgradeableLoaderDetailsCard } from "components/instruction/bpf-upgradeable-loader/BpfUpgradeableLoaderDetailsCard"; import { VoteDetailsCard } from "components/instruction/vote/VoteDetailsCard"; import { isWormholeInstruction } from "components/instruction/wormhole/types"; +import { AssociatedTokenDetailsCard } from "components/instruction/AssociatedTokenDetailsCard"; export type InstructionDetailsProps = { tx: ParsedTransaction; @@ -183,6 +184,8 @@ function renderInstructionCard({ return ; case "spl-memo": return ; + case "spl-associated-token-account": + return ; case "vote": return ; default: