ERC-1155アカウント契約API

ERC-1155アカウント契約では、次のIDおよびアクセス制御方法を使用できます。

アカウント管理方法

createAccount
このメソッドは、指定されたユーザーのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。アカウントは、残高および保留残高を追跡しますこのメソッドは、Token Adminまたは指定された組織のOrg Adminのみがコールできます。
パラメータ:
  • userId: string – ユーザーのユーザー名または電子メールID。ユーザーIDを空の文字列にすることはできません。
  • orgId: string – 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。組織IDは空の文字列にできません。
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
deleteAccount
このメソッドは、指定されたユーザーのアカウントを削除します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
getAccountStatus
このメソッドは、指定されたユーザーの現在のアカウント・ステータスを取得します。このメソッドは、Token Adminまたはトークン・アカウント所有者がコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
戻り値:
  • AccountStatus enumオブジェクトの値(0、1または2)。
    enum AccountStatus {
    active,
    suspended,
    deleted
    }
getAccountByAddress
このメソッドは、指定されたユーザーのアカウントを取得します。このメソッドは、Token Adminまたはトークン・アカウント所有者がコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
戻り値の例:
{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}
getAllAccounts
このメソッドは、ページ区切り出力を含むすべてのアカウントを取得します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • offset: uint256– アカウント情報の取得を開始する場所を示すオフセット索引。
  • limit: uint256– 戻すアイテムの数。
戻り値:
  • Return (UserAccount[] memory items, uint256 total, uint256 nextOffset)
戻り値の例:
[{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
	"status":0
}]
total: 15
nextoffset: 6
activateAccount
このメソッドは、指定されたユーザーのアカウントをアクティブ化します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
suspendAccount
このメソッドは、指定されたユーザーのアカウントをアクティブ化します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。

管理方法

addTokenAdmin
このメソッドは、Token Adminを追加します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • adminDetails: object– 次の例に示すように、ユーザーID、組織IDおよびウォレット・アドレスを指定するオブジェクト。
    {
        "userId": "tokenAdmin1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeTokenAdmin
このメソッドは、Token Adminを削除します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
getAllTokenAdmins
このメソッドは、すべてのToken Adminユーザーのアカウント情報を取得します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • なし
戻り値の例:
[{
    "userId": "tokenadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAdmin
このメソッドは、指定されたユーザーがToken Adminかどうかをチェックします。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
戻り値:
  • 指定したユーザーがToken Adminかどうかを示すブール値(trueまたはfalse)。

ロール管理メソッド

addRole
このメソッドは、指定されたユーザーにロールを追加します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • role: string– minter、burner、notaryなど、指定したユーザーに対して追加するロールの名前。
  • scopeId: uint256– スコープID。NFTクラスIDまたは代替トークンIDのいずれかです。
removeRole
このメソッドは、指定されたユーザーからロールを削除します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • role: string– 指定したユーザーから削除するロールの名前(minter、burner、notaryなど)。
  • scopeId: uint256– スコープID。NFTクラスIDまたは代替トークンIDのいずれかです。
isInRole
このメソッドは、ユーザーに指定されたロールがあるかどうかをチェックします。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • role: string– 指定したユーザーをチェックするロールの名前。たとえば、minter、burnerまたはnotary。
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • scopeId: uint256– スコープID。NFTクラスIDまたは代替トークンIDのいずれかです。
戻り値:
  • ユーザーが指定したロールを持っているかどうかを示すブール値(trueまたはfalse)。
isInRole
このメソッドは、ユーザーに指定されたロールがあるかどうかをチェックします。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • role: bytes32– 指定したユーザー(minter、burner、notaryなど)をチェックするロールの名前のKeccak-256ハッシュ。
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • scopeId: uint256– スコープID。NFTクラスIDまたは代替トークンIDのいずれかです。
戻り値:
  • ユーザーが指定したロールを持っているかどうかを示すブール値(trueまたはfalse)。
addTokenSysRole
このメソッドは、指定されたユーザーにTOKEN_SYS_VAULT_ROLEロールを追加します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • role: string– 追加するロールの名前。サポートされる値はTOKEN_SYS_VAULT_ROLEのみです。
戻り値:
  • ブール値(trueまたはfalse)。
removeTokenSysRole
このメソッドは、指定されたユーザーからTOKEN_SYS_VAULT_ROLEロールを削除します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • role: string– 削除するロールの名前。サポートされる値はTOKEN_SYS_VAULT_ROLEのみです。
戻り値:
  • ブール値(trueまたはfalse)。
transferTokenSysRole
このメソッドは、指定されたユーザーから受信者にTOKEN_SYS_VAULT_ROLEロールを転送します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • fromAddress: string– 現在TOKEN_SYS_VAULT_ROLEロールを持つユーザーのウォレット・アドレス。
  • toAddress: string– TOKEN_SYS_VAULT_ROLEロールを受け取るユーザーのウォレット・アドレス。
  • role: string– 転送するロールの名前。サポートされる値はTOKEN_SYS_VAULT_ROLEのみです。
戻り値:
  • ブール値(trueまたはfalse)。

コンテキスト管理メソッド

setContext
このメソッドは、アカウント契約のトークン契約住所を設定します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • tokenAddress: address– デプロイされたトークンの契約アドレス。ゼロにできません。
getContext
このメソッドは、アカウント契約のトークン契約住所を取得します。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • なし
返品
  • トークン契約アドレス
setGovernanceContext
この方法では、アカウント契約のガバナンス・ライフ・サイクルの管理に使用するガバナンス契約を設定します。このメソッドは、Token Adminのみがコールできます。
パラメータ:
  • uuid: string– 契約のデプロイメント前にデジタル・アセットToken Adminによって設定された一意のID。
  • governance: address– デプロイされたガバナンス契約の契約アドレス。ゼロにできません。
getGovernanceContext
このメソッドは、政府コンテキストの詳細を取得します。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • なし
返品
  • governanceContextオブジェクト。
戻り値の例:
{
    "governanceUUID": "abc-def",
    "governance": "0x0000000",
	"deploymentActive": "true"
}
isDeploymentActive
このメソッドは、デプロイメントがアクティブかどうかをチェックします。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • なし
戻り値:
  • デプロイメントがアクティブかどうかを示すブール値(trueまたはfalse)。