ERC-20アカウント契約API

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

アカウント管理方法

createAccount
このメソッドは、指定されたユーザーのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。アカウントは、残高および保留残高を追跡しますこのメソッドは、Token Adminまたは指定した組織のOrg Adminのみがコールできます。
パラメータ:
  • userId: string – ユーザーのユーザー名または電子メールID。ユーザーIDを空の文字列にすることはできません。
  • orgId: string – 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。組織IDは空の文字列にできません。
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • maxDailyAmount: int256– トランザクションで毎日使用できるトークンの最大量。値が-1の場合、制限はありません。
  • maxDailyTransactions: int256– 毎日完了できるトランザクションの最大数。値が-1の場合、制限はありません。
  • applicationGroups: string[]– ユーザーが属するアプリケーション・グループのリスト。
deleteAccount
このメソッドは、指定されたユーザーのアカウントを削除します。このメソッドは、Token Adminまたは指定された組織のOrg Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
getAccountStatus
このメソッドは、指定されたユーザーの現在のアカウント・ステータスを取得します。このメソッドは、Token Admin、Token Auditor、指定された組織のOrg Adminまたはトークン・アカウント所有者がコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
戻り値:
  • AccountStatus enumオブジェクトの値(0、1または2)。
    enum AccountStatus {
    active,
    suspended,
    deleted
    }
getAccountByAddress
このメソッドは、指定されたユーザーのアカウントを取得します。このメソッドは、Token Admin、Token Auditor、指定された組織のOrg Adminまたはトークン・アカウント所有者がコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
戻り値の例:
{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
          "applicationGroups":[]                
    },
	"status":0
}
getAllAccounts
このメソッドは、ページ区切り出力を含むすべてのアカウントを取得します。このメソッドは、Token AdminまたはToken Auditorのみがコールできます。
パラメータ:
  • offset: uint256– アカウント情報の取得を開始する場所を示すオフセット索引。
  • limit: uint256– 戻すアイテムの数。
戻り値:
  • Return (UserAccount[] memory items, uint256 total, uint256 nextOffset)
戻り値の例:
[{
    "userId": "userA",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a",
    "dailyLimits": {
          "isMaxDailyTxnEnabled": true,
    	  "isMaxDailyAmtEnabled": true, 
		  "dailyAmount": 100,
    	  "dailyTransactions": 5,
		  "maxDailyAmount": 100000,
    	  "maxDailyTransactions": 50,
		  "applicationGroups":[]           
	},
	"status":0
}]
total: 15
nextoffset: 6
activateAccount
このメソッドは、指定されたユーザーのアカウントをアクティブ化します。このメソッドは、Token Adminまたは指定された組織のOrg Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
suspendAccount
このメソッドは、指定されたユーザーのアカウントをアクティブ化します。このメソッドは、Token Adminまたは指定した組織のOrg Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
setMaxDailyAmount
このメソッドは、指定されたユーザーが毎日トランザクションで使用できるトークンの最大量を設定します。このメソッドは、Token Adminまたは指定された組織のOrg Adminのみがコールできます。
パラメータ:
  • value: int256– トランザクションで毎日使用できるトークンの最大量。
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
setMaxDailyTransactionCount
このメソッドは、指定したユーザーが毎日完了できるトランザクションの最大数を設定します。このメソッドは、Token Adminまたは指定された組織のOrg Adminのみがコールできます。
パラメータ:
  • count: int256– 毎日完了できるトランザクションの最大数。
  • 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またはToken Auditorのみがコールできます。
パラメータ:
  • なし
戻り値の例:
[{
    "userId": "tokenadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "tokenadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isTokenAdmin
このメソッドは、指定されたユーザーがToken Adminかどうかをチェックします。このメソッドは、Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
戻り値:
  • 指定したユーザーがToken Adminかどうかを示すブール値(trueまたはfalse)。
addOrgAdmin
このメソッドは、Org Adminを追加します。このメソッドは、指定された組織のToken AdminまたはOrg Adminのみがコールできます。
パラメータ:
  • adminDetails: object– 次の例に示すように、ユーザーID、組織IDおよびウォレット・アドレスを指定するオブジェクト。
    {
        "userId": "tokenAdmin1",
        "orgId": "orgA",
    	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"    
    }
removeOrgAdmin
このメソッドは、Org Adminを削除します。このメソッドは、指定された組織のToken AdminまたはOrg Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
getAllOrgAdmins
このメソッドは、すべてのOrg Adminユーザーのアカウント情報を取得します。このメソッドは、Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。
パラメータ:
  • なし
戻り値の例:
[{
    "userId": "orgadmin1",
    "orgId": "orgA",
	"accountAddress": "0x0fbdc686b912d7722dc86510934589e0aaf3b55a"
},
{
    "userId": "orgadmin2",
    "orgId": "orgB",
	"accountAddress": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73"
}]
isOrgAdmin
このメソッドは、指定されたユーザーがOrg Adminかどうかをチェックします。このメソッドは、Token Admin、Token Auditor、Org AdminまたはOrg Auditorのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
戻り値:
  • 指定したユーザーがOrg Adminかどうかを示すブール値(trueまたはfalse)。

監査者管理方法

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

ロール管理メソッド

addRole
このメソッドは、指定されたユーザーにロールを追加します。このメソッドは、指定された組織のToken AdminまたはOrg Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • role: string– minter、burner、notaryなど、指定したユーザーに対して追加するロールの名前。
removeRole
このメソッドは、指定されたユーザーからロールを削除します。このメソッドは、指定された組織のToken AdminまたはOrg Adminのみがコールできます。
パラメータ:
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • role: string– 指定したユーザーから削除するロールの名前(minter、burner、notaryなど)。
isInRole
このメソッドは、ユーザーに指定されたロールがあるかどうかをチェックします。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • role: string– 指定したユーザーをチェックするロールの名前。たとえば、minter、burnerまたはnotary。
  • userAddress: string– ユーザーのウォレット・アドレス。ゼロにできません。
戻り値:
  • ユーザーが指定したロールを持っているかどうかを示すブール値(trueまたはfalse)。
hasRole
このメソッドは、ユーザーに指定されたロールがあるかどうかをチェックします。このメソッドは、どのユーザーでもコールできます。
パラメータ:
  • account: string– ユーザーのウォレット・アドレス。ゼロにできません。
  • role: bytes32– 指定したユーザーをチェックするロールの名前(minter、burner、notaryなど)。
戻り値:
  • ユーザーが指定したロールを持っているかどうかを示すブール値(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)。