ウォレット
SequenceEthereumにおけるWallet
は、IWallet
インターフェースで定義されます。このSDKには現在、2つのIWallet
インターフェース実装があります。
1. EOAWallet
EOAWallet
は、EVMチェーン向けの標準的なEOAウォレットです。
EOAWalletは簡単に作成できます。
2. SequenceWalletToEOAWalletAdapter
SequenceWalletToEOAWalletAdapter
は、SequenceWallet
をEOAWallet
と同じIWallet
インターフェースで利用できるようにするアダプターで、SequenceEthereumライブラリ全体でEOAウォレットと同様に扱えます。
SequenceWalletToEOAWalletAdapterは、SequenceWalletがあれば簡単に作成できます。
メソッド一覧
IWallet
インターフェースでは、いくつかのメソッドが利用できます。特に重要なのは以下の通りです。
GetAddress
ウォレットのAddress
を返します。
SendTransaction
指定したEthTransaction
に署名し、指定したクライアント経由で送信します。
SendTransactionAndWaitForReceipt
指定したEthTransaction
に署名し、指定したクライアント経由で送信した後、TransactionReceipt
を待ちます。
SendTransactionBatch
指定したEthTransaction[]
に署名し、指定したクライアント経由でまとめて送信します。
ウォレットがEOAWallet
の場合、各トランザクションは順番に送信され、それぞれ成功または失敗します。ウォレットがSequenceWalletToEOAWalletAdapter
の場合、すべてのトランザクションが1つにまとめられ、一括で送信され、全体として成功または失敗します。
また、EOAWallet
の場合は受け取るstring[]
(トランザクションハッシュ)の長さは送信したEthTransaction[]
と同じですが、SequenceWalletToEOAWalletAdapter
の場合は1つのトランザクションハッシュ(長さ1のstring[]
)のみが返されます。
SendTransactionBatchAndWaitForReceipts
指定された EthTransaction[]
を署名し、指定されたクライアント経由で送信した後、TransactionReceipt[]
を待機します。
ウォレットが EOAWallet
の場合、トランザクションは順番に送信され、それぞれ成功または失敗する可能性があります。ウォレットが SequenceWalletToEOAWalletAdapter
の場合、トランザクションはまとめて一つのトランザクションとして送信され、全体が一度に成功または失敗します。
同様に、ウォレットが EOAWallet
の場合、受け取る TransactionReceipt[]
の長さは送信した EthTransaction[]
と同じになります。一方、ウォレットが SequenceWalletToEOAWalletAdapter
の場合、トランザクションレシートは1件のみ(TransactionReceipt[]
の長さが1)受け取ります。
SignMessage
メッセージとオプションのチェーンIDを指定して、ウォレットでメッセージに署名します。チェーンIDが指定されていない場合は、署名からチェーンIDを省略します。
注意: chainId は16進数形式で指定する必要があります。Chain
オブジェクト(推奨)を使っている場合は、AsString
メソッドでチェーンIDの16進数表記を取得できます。