ウォレットファクトリー
ウォレットファクトリーは、Factory コントラクトを使って Sequence ウォレットを作成でき、子 MinimalUpgradeableProxy を生成し、これがすべての Sequence ウォレットのベースコードとなります。
Sequence ウォレットは Factory コントラクトを使って作成されます。呼び出すと、子 MinimalUpgradeableProxy コントラクトが作成され、これがすべての Sequence ウォレットの「ブート」コードとなります。
Factory API
deploy
CREATE2 を使って子 MinimalUpgradeableProxy を作成します。プロキシは最初に指定された _mainModule
を指します。
初期化コードは実行されません。
パラメータ:
名前 | 型 | 説明 |
---|---|---|
_mainModule | address | 新しいプロキシコントラクトの初期実装。カウンターファクチュアル初期化に対応した有効な Sequence ウォレット実装を指すことが期待されます。 |
_salt | bytes32 | create2 の salt として使われる任意の値。Sequence の mainModule はこの salt を使ってウォレットの初期設定からハッシュを取得します(ImageHash を参照)。 |
戻り値:
名前 | 型 | 説明 |
---|---|---|
_contract | address | 作成されたプロキシコントラクトのアドレス。 |
未検証の入力
Factory コントラクトは、指定された _mainModule
が有効な Sequence ウォレット実装か、また _salt
が有効な Sequence 設定かを確認しません。
無効なパラメータを使うと、プロキシコントラクトが利用できない場合があり、資金損失につながる可能性があります。
カウンターファクチュアルアドレス
mainModule
とsalt
の値の組み合わせが同じであれば、同じウォレットアドレスになります。
この特性とNanoUniversalDeployerやUniversalDeployerの利用により、Sequenceウォレットは複数のチェーンで同じアドレスを取得できます。
ガス不要のウォレット作成
Sequence ウォレットは100%カウンターファクチュアルです。\r\nしたがって、deploy
関数を呼び出すことなく、安全に資金をウォレットアドレスに送付できます。ウォレットのデプロイは、ウォレットから最初のトランザクションを送信する前にのみ必要です。