Files
solana/explorer/src/components/instruction/system/AssignWithSeedDetailsCard.tsx

74 lines
1.7 KiB
TypeScript
Raw Normal View History

import React from "react";
import {
TransactionInstruction,
SystemProgram,
SignatureResult,
2020-06-24 16:07:47 +08:00
SystemInstruction,
} from "@solana/web3.js";
import { InstructionCard } from "../InstructionCard";
import Copyable from "components/Copyable";
import { UnknownDetailsCard } from "../UnknownDetailsCard";
import Address from "components/common/Address";
export function AssignWithSeedDetailsCard(props: {
ix: TransactionInstruction;
index: number;
result: SignatureResult;
}) {
const { ix, index, result } = props;
let params;
try {
params = SystemInstruction.decodeAssignWithSeed(ix);
} catch (err) {
console.error(err);
return <UnknownDetailsCard {...props} />;
}
return (
<InstructionCard
ix={ix}
index={index}
result={result}
title="Assign Account w/ Seed"
>
<tr>
<td>Program</td>
<td className="text-lg-right">
<Address pubkey={SystemProgram.programId} alignRight link />
</td>
</tr>
<tr>
<td>Account Address</td>
<td className="text-lg-right">
<Address pubkey={params.accountPubkey} alignRight link />
</td>
</tr>
<tr>
<td>Base Address</td>
<td className="text-lg-right">
<Address pubkey={params.basePubkey} alignRight link />
</td>
</tr>
<tr>
<td>Seed</td>
<td className="text-lg-right">
<Copyable right text={params.seed}>
<code>{params.seed}</code>
</Copyable>
</td>
</tr>
<tr>
<td>Assigned Owner</td>
<td className="text-lg-right">
<Address pubkey={params.programId} alignRight link />
</td>
</tr>
</InstructionCard>
);
}