Source code for bitsharesbase.asset_permissions
# -*- coding: utf-8 -*-
asset_permissions = {}
asset_permissions["charge_market_fee"] = 0x01
asset_permissions["white_list"] = 0x02
asset_permissions["override_authority"] = 0x04
asset_permissions["transfer_restricted"] = 0x08
asset_permissions["disable_force_settle"] = 0x10
asset_permissions["global_settle"] = 0x20
asset_permissions["disable_confidential"] = 0x40
asset_permissions["witness_fed_asset"] = 0x80
asset_permissions["committee_fed_asset"] = 0x100
whitelist = {}
whitelist["no_listing"] = 0x0
whitelist["white_listed"] = 0x1
whitelist["black_listed"] = 0x2
whitelist["white_and_black_listed"] = 0x1 | 0x2
[docs]def toint(permissions):
permissions_int = 0
for p in permissions:
if permissions[p]:
permissions_int |= asset_permissions[p]
return permissions_int
[docs]def todict(number):
r = {}
for k, v in asset_permissions.items():
r[k] = bool(number & v)
return r
[docs]def force_flag(perms, flags):
for p in flags:
if flags[p]:
perms |= asset_permissions[p]
return perms
[docs]def test_permissions(perms, flags):
for p in flags:
if not asset_permissions[p] & perms:
raise Exception("Permissions prevent you from changing %s!" % p)
return True