public class AccountPermissions
extends java.lang.Object
Note: This class is NOT thread-safe. If you need to share an instance across multiple threads, external synchronization is required.
| Constructor and Description |
|---|
AccountPermissions(Response.Account account) |
| Modifier and Type | Method and Description |
|---|---|
AccountPermissions |
addActivePermission(Common.Permission active)
Add an active permission
|
Common.Permission |
createActivePermission(int permissionId,
long threshold,
com.google.protobuf.ByteString operations,
java.util.Map<java.lang.String,java.lang.Long> keys)
Create a Permission object for Active type, default name "active"
|
Common.Permission |
createActivePermission(java.lang.String permissionName,
int permissionId,
long threshold,
com.google.protobuf.ByteString operations,
java.util.Map<java.lang.String,java.lang.Long> keys)
Create a Permission object for Active type
|
Common.Key |
createKey(java.lang.String address,
long weight)
Create a Key object with address and weight
|
Common.Permission |
createOwnerPermission(long threshold,
java.util.Map<java.lang.String,java.lang.Long> keys)
Create a Permission object for Owner type, default name "owner"
|
Common.Permission |
createOwnerPermission(java.lang.String permissionName,
long threshold,
java.util.Map<java.lang.String,java.lang.Long> keys)
Create a Permission object for Owner type
|
Common.Permission |
createWitnessPermission(long threshold,
java.util.Map<java.lang.String,java.lang.Long> keys)
Create a Permission object for Witness type, default name "witness"
|
Common.Permission |
createWitnessPermission(java.lang.String permissionName,
long threshold,
java.util.Map<java.lang.String,java.lang.Long> keys)
Create a Permission object for Witness type
|
AccountPermissions |
disableActivePermissionOperation(int permissionId,
Chain.Transaction.Contract.ContractType... contractTypes)
Disable active permission operation for specific contract types.
|
AccountPermissions |
enableActivePermissionOperation(int permissionId,
Chain.Transaction.Contract.ContractType... contractTypes)
Enable active permission operation for a specific contract type.
|
Common.Permission |
getActivePermissionByPermissionId(int permissionId)
get an active permission by its Permission ID
|
java.util.List<Common.Permission> |
getActivePermissions()
get a copy of active permission list
|
AccountPermissions |
removeActivePermission(int permissionId)
Remove an active permission by its ID
|
AccountPermissions |
setActivePermission(java.util.List<Common.Permission> actives)
Set the list of active permissions
|
AccountPermissions |
setOwnerPermission(Common.Permission owner)
Set the owner permission
|
AccountPermissions |
setWitnessPermission(Common.Permission witness)
Set the witness permission
|
public AccountPermissions(Response.Account account)
public java.util.List<Common.Permission> getActivePermissions()
This method returns a copy of the internal list, to update the active permissions, use
setActivePermission(List) instead.
public AccountPermissions setOwnerPermission(Common.Permission owner)
owner - Owner permissionpublic AccountPermissions setWitnessPermission(Common.Permission witness)
witness - Witness permissionpublic AccountPermissions setActivePermission(java.util.List<Common.Permission> actives)
actives - List of active permissionspublic AccountPermissions addActivePermission(Common.Permission active)
active - Permission to addpublic AccountPermissions removeActivePermission(int permissionId)
permissionId - Permission ID to removepublic Common.Permission getActivePermissionByPermissionId(int permissionId)
permissionId - Permission IDpublic AccountPermissions enableActivePermissionOperation(int permissionId, Chain.Transaction.Contract.ContractType... contractTypes)
Example: to enable TransferContract and TransferAssetContract for permission ID 2:
accountPermissions.enableActivePermissionOperation(2,
ContractType.TransferContract, ContractType.TransferAssetContract);
permissionId - Permission IDcontractTypes - Contract type to add, cannot be nullpublic AccountPermissions disableActivePermissionOperation(int permissionId, Chain.Transaction.Contract.ContractType... contractTypes)
Example: to disable TransferContract and TransferAssetContract for permission ID 2
accountPermissions.disableActivePermissionOperation(2, ContractType.TransferContract, ContractType.TransferAssetContract);
permissionId - Permission IDcontractTypes - Contract type to remove, cannot be nullpublic Common.Key createKey(java.lang.String address, long weight)
address - Base58Check addressweight - Key weightpublic Common.Permission createOwnerPermission(long threshold, java.util.Map<java.lang.String,java.lang.Long> keys)
createOwnerPermission(String, long, Map)public Common.Permission createOwnerPermission(java.lang.String permissionName, long threshold, java.util.Map<java.lang.String,java.lang.Long> keys)
permissionName - Permission namethreshold - Threshold valuekeys - Map of address -> weightpublic Common.Permission createWitnessPermission(long threshold, java.util.Map<java.lang.String,java.lang.Long> keys)
public Common.Permission createWitnessPermission(java.lang.String permissionName, long threshold, java.util.Map<java.lang.String,java.lang.Long> keys)
permissionName - Permission namethreshold - Threshold valuekeys - Map of address -> weightpublic Common.Permission createActivePermission(java.lang.String permissionName, int permissionId, long threshold, com.google.protobuf.ByteString operations, java.util.Map<java.lang.String,java.lang.Long> keys)
permissionName - Permission namepermissionId - Permission ID (must be >= 2)threshold - Threshold valueoperations - Operation ByteString, which can be built using
ActivePermissionOperationsUtils.buildOperations(
com.google.protobuf.ByteString, boolean, org.tron.trident.proto.Chain.Transaction.Contract.ContractType...)keys - Map of address -> weightpublic Common.Permission createActivePermission(int permissionId, long threshold, com.google.protobuf.ByteString operations, java.util.Map<java.lang.String,java.lang.Long> keys)