Programs

エージェントツール

Last updated March 12, 2026

エージェントツールプログラムはエージェントアセットのエグゼクティブ委任を管理し、アセットオーナーがエグゼクティブプロファイルに実行権限を委任できるようにします。

Summary

エージェントツールプログラム(TLREGni9ZEyGC3vnPZtqUh95xQ8oPqJSvNjvB7FGK8S)は実行委任を管理するための2つのインストラクションを提供します:RegisterExecutiveV1はエグゼクティブプロファイルを作成し、DelegateExecutionV1はそのプロファイルにエージェントアセットの代わりに実行する権限を付与します。

  • 2つのインストラクションRegisterExecutiveV1(一回限りのプロファイルセットアップ)とDelegateExecutionV1(アセットごとの委任)
  • ExecutiveProfileV1["executive_profile", <authority>]から派生した40バイトのPDA。ウォレットごとに1つ
  • ExecutionDelegateRecordV1 — エグゼクティブプロファイルと特定のエージェントアセットをリンクする104バイトのPDA
  • オーナーのみの委任 — アセットオーナーのみが委任レコードを作成できます。プログラムはオーナーシップをオンチェーンで検証します

プログラムID

同一のプログラムアドレスがメインネットとデブネットの両方にデプロイされています。

ネットワークアドレス
メインネットTLREGni9ZEyGC3vnPZtqUh95xQ8oPqJSvNjvB7FGK8S
デブネットTLREGni9ZEyGC3vnPZtqUh95xQ8oPqJSvNjvB7FGK8S

概要

ツールプログラムは2つのインストラクションを提供します。

  1. RegisterExecutiveV1 — エージェントアセットの実行者として機能できるエグゼクティブプロファイルを作成します
  2. DelegateExecutionV1 — エグゼクティブプロファイルにエージェントアセットの代わりに実行する権限を付与します

エグゼクティブプロファイルは権限者ごとに一度だけ登録されます。委任はアセットごとに行われます。アセットオーナーがエージェントアセットを特定のエグゼクティブプロファイルにリンクする委任レコードを作成します。

インストラクション:RegisterExecutiveV1

指定された権限者のエグゼクティブプロファイルPDAを作成します。

アカウント

プロファイルPDA、ペイヤー、オプションの権限者、システムプログラムの4つのアカウントが必要です。

アカウント書き込み可能署名者オプション説明
executiveProfileはいいいえいいえ作成されるPDA(権限者から自動派生)
payerはいはいいいえアカウントレンタルと手数料を支払います
authorityいいえはいはいこのエグゼクティブプロファイルの権限者(デフォルトはpayer
systemProgramいいえいいえいいえシステムプログラム

動作内容

  1. シード["executive_profile", <authority>]からPDAを派生します
  2. アカウントが未初期化であることを検証します
  3. 権限者を保存するExecutiveProfileV1アカウント(40バイト)を作成して初期化します

インストラクション:DelegateExecutionV1

エグゼクティブプロファイルにエージェントアセットの実行権限を委任します。

アカウント

エグゼクティブプロファイル、エージェントアセット、そのアイデンティティPDA、作成される委任レコードPDAを含む7つのアカウントが必要です。

アカウント書き込み可能署名者オプション説明
executiveProfileいいえいいえいいえ登録済みのエグゼクティブプロファイル
agentAssetいいえいいえいいえ委任するMPL Coreアセット
agentIdentityいいえいいえいいえアセットのエージェントアイデンティティPDA
executionDelegateRecordはいいいえいいえ作成されるPDA(自動派生)
payerはいはいいいえアカウントレンタルと手数料を支払います
authorityいいえはいはいアセットオーナーである必要があります(デフォルトはpayer
systemProgramいいえいいえいいえシステムプログラム

動作内容

  1. エグゼクティブプロファイルが存在し初期化されていることを検証します
  2. エージェントアセットが有効なMPL Coreアセットであることを検証します
  3. エージェントアイデンティティがアセットに登録されていることを検証します
  4. 署名者がアセットオーナーであることを検証します
  5. シード["execution_delegate_record", <executive_profile>, <agent_asset>]からPDAを派生します
  6. ExecutionDelegateRecordV1アカウント(104バイト)を作成して初期化します

PDA派生

両方のアカウントタイプは決定論的なシードから派生したPDAです。SDKヘルパーを使用して計算してください。

アカウントシードサイズ
ExecutiveProfileV1["executive_profile", <authority>]40バイト
ExecutionDelegateRecordV1["execution_delegate_record", <executive_profile>, <agent_asset>]104バイト
import {
findExecutiveProfileV1Pda,
findExecutionDelegateRecordV1Pda,
} from '@metaplex-foundation/mpl-agent-registry';
const profilePda = findExecutiveProfileV1Pda(umi, {
authority: authorityPublicKey,
});
const delegatePda = findExecutionDelegateRecordV1Pda(umi, {
executiveProfile: profilePda,
agentAsset: assetPublicKey,
});

アカウント:ExecutiveProfileV1

このエグゼクティブプロファイルを所有する権限者を保存します。40バイト、8バイトアライン。

オフセットフィールドサイズ説明
0keyu81アカウントディスクリミネーター(1 = ExecutiveProfileV1)
1_padding[u8; 7]7アライメントパディング
8authorityPubkey32このエグゼクティブプロファイルの権限者

アカウント:ExecutionDelegateRecordV1

エグゼクティブプロファイルとエージェントアセットをリンクし、代わりに実行を許可された者を記録します。104バイト、8バイトアライン。

オフセットフィールドサイズ説明
0keyu81アカウントディスクリミネーター(2 = ExecutionDelegateRecordV1)
1bumpu81PDAバンプシード
2_padding[u8; 6]6アライメントパディング
8executiveProfilePubkey32エグゼクティブプロファイルアドレス
40authorityPubkey32エグゼクティブ権限者
72agentAssetPubkey32エージェントアセットアドレス

エラー

プログラムは登録または委任中の検証失敗時にこれらのエラーを返します。

コード名前説明
0InvalidSystemProgramシステムプログラムのアカウントが正しくありません
1InvalidInstructionDataインストラクションデータが不正です
2InvalidAccountData無効なアカウントデータ
3InvalidMplCoreProgramMPL Coreプログラムのアカウントが正しくありません
4InvalidCoreAssetアセットが有効なMPL Coreアセットではありません
5ExecutiveProfileMustBeUninitializedエグゼクティブプロファイルはすでに存在します
6InvalidExecutionDelegateRecordDerivation委任レコードPDA派生の不一致
7ExecutionDelegateRecordMustBeUninitialized委任レコードはすでに存在します
8InvalidAgentIdentityエージェントアイデンティティアカウントが無効です
9AgentIdentityNotRegisteredアセットに登録済みアイデンティティがありません
10AssetOwnerMustBeTheOneToDelegateExecution実行を委任できるのはアセットオーナーのみです
11InvalidExecutiveProfileDerivationエグゼクティブプロファイルPDA派生の不一致

Metaplexが管理 · 2026年3月最終確認 · GitHubでソースを表示