createExplicitSession
これはSmart Sessionを構築する際に主に使う関数です。1つのオプションオブジェクトを受け取り、ウォレットが必要とする最終形式にまとめます。
例
パラメータ
chainId
セッションの権限が有効となるSequence対応チェーンのチェーンID。
対応チェーン一覧をご覧ください。
nativeTokenSpending
このオブジェクトは、ユーザーのネイティブ通貨へのセッションのアクセス権を制御します。
valueLimit
: セッション中にすべてのコントラクト呼び出しや手数料で消費できるネイティブ通貨の累積最大額(wei単位)。allowedRecipients
: これらのアドレスへの直接的なネイティブ送金を許可します。
expiresIn
セッションの有効期限を定義するオブジェクトです。
days
: セッションが有効な日数。hours
: セッションが有効な時間(時単位)。minutes
: セッションが有効な時間(分単位)。
permissions
権限オブジェクトの配列です。
target
: 操作対象となるコントラクトのアドレス。rules
:target
アドレスに対するルールの配列。
target
スマートコントラクトにはルールセットを持たせることができます。
cumulative
: ルールが累積的かどうか。operation
:value
に対して実行する操作。value
: 比較に使う期待値(bytes32形式で保存)。offset
: コールデータから32バイトのパラメータを抽出する際のバイトオフセット。mask
: 抽出したデータに適用するビットマスク。これにより、より大きなデータ構造内に埋め込まれている場合でも、関連するビットだけを検証できます。
戻り値の型
ExplicitParams
オブジェクトを返します。
createContractPermission
このヘルパー関数は、スマートコントラクト関数への権限を作成するために使います。
例
パラメータ
address
対象コントラクトのアドレス。
functionSignature
人間が読める関数シグネチャ。
rules
関数の引数に適用するルールの配列。
onlyOnce
trueの場合、この関数はセッション中に1回だけ成功させることができます。
戻り値の型
Permissionを返します。createContractPermissions
createContractPermission
と同様ですが、同じコントラクトに対して複数の権限を作成します。
例
パラメータ
CreateContractPermissionと非常に似ていますが、functions
の配列を使います。
戻り値の型
Permission[]
を返します。