-
LockNFT
- 這個方法會鎖定指定的不可行記號。若要鎖定記號,則必須要有具備
TokenSys
vault
角色的使用者,該角色可作為保存庫管理員。此方法只能由記號的擁有者呼叫。
-
func (t *Controller) LockNFT(tokenId string) (interface{}, error) {
return t.Ctx.ERC721Token.LockNFT(tokenId)
}
- 參數:
tokenID: string
- 要鎖定的記號 ID。
- 傳回值:
- 傳回值範例:
{
"AssetType":"otoken",
"Behavior":[
"indivisible",
"singleton",
"mintable",
"transferable",
"lockable",
"burnable",
"roles"
],
"CreatedBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
"CreationDate":"2023-10-20T12:39:50Z",
"IsBurned":false,
"IsLocked":true,
"Mintable":{
"Max_mint_quantity":20000
},
"On_sale_flag":false,
"Owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
"Price":120,
"Roles":{
"minter_role_name":"minter"
},
"Symbol":"ART",
"TokenDesc":"",
"TokenId":"token1",
"TokenMetadata":{
"Description":"",
"Image":"",
"Painter_name":"",
"Painting_name":""
},
"TokenName":"artcollection",
"TokenStandard":"erc721+",
"TokenType":"nonfungible",
"TokenUnit":"whole",
"TokenUri":"token1.example.com"
}
-
IsNFTLocked
- 此方法會傳回布林值,指出指定的記號是否已鎖定。此方法只能由記號擁有者、保存庫管理員 (具有
TokenSys
vault
角色的使用者) 或鏈碼的 Token Admin
呼叫。
-
func (t *Controller) IsNFTLocked(tokenId string) (interface{}, error) {
auth, err := t.Ctx.ERC721Auth.CheckAuthorization("ERC721TOKEN.IsNFTLocked", "TOKEN", map[string]string{"tokenId": tokenId})
if err != nil && !auth {
isCallerTokenSysRoleHolder, error := t.Ctx.ERC721Token.IsCallerTokenSysRoleHolder(constants.Vault)
if error != nil {
return nil, error
}
if !isCallerTokenSysRoleHolder {
return nil, fmt.Errorf("error in authorizing the caller %s", err.Error())
}
}
return t.Ctx.ERC721Token.IsNFTLocked(tokenId)
}
- 參數:
tokenID: string
- 記號的 ID。
- 傳回值:
- 傳回值範例:
{
"isNFTLocked":true
}
-
GetAllLockedNFTs
- 此方法會傳回所有鎖定的不可行記號清單。此方法只能由 Vault 管理程式 (具有
TokenSys
vault
角色的使用者) 或鏈碼的 Token Admin
呼叫。
-
func (t *Controller) GetAllLockedNFTs() (interface{}, error) {
auth, err := t.Ctx.ERC721Auth.CheckAuthorization("ERC721TOKEN.GetAllLockedNFTs", "TOKEN")
if err != nil && !auth {
isCallerTokenSysRoleHolder, error := t.Ctx.ERC721Token.IsCallerTokenSysRoleHolder(constants.Vault)
if error != nil {
return nil, error
}
if !isCallerTokenSysRoleHolder {
return nil, fmt.Errorf("error in authorizing the caller %s", err.Error())
}
}
return t.Ctx.ERC721Token.GetAllLockedNFTs()
}
- 參數:
- 傳回值:
- 傳回值範例:
[
{
"key":"token1",
"valueJson":{
"AssetType":"otoken",
"Behavior":[
"indivisible",
"singleton",
"mintable",
"transferable",
"lockable",
"burnable",
"roles"
],
"CreatedBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
"CreationDate":"2023-10-20T12:39:50Z",
"IsBurned":false,
"IsLocked":true,
"Mintable":{
"Max_mint_quantity":20000
},
"On_sale_flag":false,
"Owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
"Price":120,
"Roles":{
"minter_role_name":"minter"
},
"Symbol":"ART",
"TokenDesc":"",
"TokenId":"token1",
"TokenMetadata":{
"Description":"",
"Image":"",
"Painter_name":"",
"Painting_name":""
},
"TokenName":"artcollection",
"TokenStandard":"erc721+",
"TokenType":"nonfungible",
"TokenUnit":"whole",
"TokenUri":"token1.example.com"
}
}
]
-
GetAllLockedNFTsByOrg
- 此方法會傳回指定組織和指定之使用者的所有已鎖定非功能記號清單。此方法只能由 Vault 管理程式 (具有
TokenSys
vault
角色的使用者) 或鏈碼的 Token Admin
呼叫。
-
func (t *Controller) GetLockedNFTsByOrg(orgId string, userId ...string) (interface{}, error) {
auth, err := t.Ctx.ERC721Auth.CheckAuthorization("ERC721TOKEN.GetLockedNFTsByOrg", "TOKEN")
if err != nil && !auth {
isCallerTokenSysRoleHolder, error := t.Ctx.ERC721Token.IsCallerTokenSysRoleHolder(constants.Vault)
if error != nil {
return nil, error
}
if !isCallerTokenSysRoleHolder {
return nil, fmt.Errorf("error in authorizing the caller %s", err.Error())
}
}
return t.Ctx.ERC721Token.GetLockedNFTsByOrg(orgId, userId...)
}
- 參數:
orgId: string
- 目前組織中使用者的成員服務提供者 (MSP) ID。
userId: string
- 使用者的使用者名稱或電子郵件 ID (選擇性)。
- 傳回值:
- 傳回值範例:
[
{
"key":"token1",
"valueJson":{
"AssetType":"otoken",
"Behavior":[
"indivisible",
"singleton",
"mintable",
"transferable",
"lockable",
"burnable",
"roles"
],
"CreatedBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
"CreationDate":"2023-10-20T12:39:50Z",
"IsBurned":false,
"IsLocked":true,
"Mintable":{
"Max_mint_quantity":20000
},
"On_sale_flag":false,
"Owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463",
"Price":120,
"Roles":{
"minter_role_name":"minter"
},
"Symbol":"ART",
"TokenDesc":"",
"TokenId":"token1",
"TokenMetadata":{
"Description":"",
"Image":"",
"Painter_name":"",
"Painting_name":""
},
"TokenName":"artcollection",
"TokenStandard":"erc721+",
"TokenType":"nonfungible",
"TokenUnit":"whole",
"TokenUri":"token1.example.com"
}
}
]