Function: asset_create
Registered at block:
#36595608
Source Code
def asset_create(info, args):
assert args['f'] == 'asset_create'
tick = args['a'][0]
assert type(tick) is str
assert len(tick) > 0 and len(tick) < 42
assert tick[0] in string.ascii_uppercase
assert set(tick) <= set(string.ascii_uppercase+string.digits+'_')
sender = info['sender']
addr = handle_lookup(sender)
owner, _ = get('asset', 'owner', None, tick)
assert not owner
put(addr, 'asset', 'owner', addr, tick)
put(addr, 'asset', 'functions', ['asset_update_ownership', 'asset_update_functions'], tick)
event('AssetCreated', [tick])
def asset_update_ownership(info, args):
tick = args['a'][0]
assert type(tick) is str
assert len(tick) > 0 and len(tick) < 42
assert tick[0] in string.ascii_uppercase
assert set(tick) <= set(string.ascii_uppercase+string.digits+'_')
assert args['f'] == 'asset_update_ownership'
functions, _ = get('asset', 'functions', [], tick)
assert args['f'] in functions
receiver = args['a'][1].lower()
sender = info['sender']
addr = handle_lookup(sender)
owner, _ = get('asset', 'owner', None, tick)
assert owner.lower() == addr
# DO THIS to change the owner using receiver's Zentra token
functions, _ = get('asset', 'functions', None, tick)
assert type(functions) is list
assert functions
put(receiver, 'asset', 'owner', receiver, tick)
put(receiver, 'asset', 'functions', functions, tick)
event('AssetOwnershipUpdated', [tick, receiver])
def asset_update_functions(info, args):
tick = args['a'][0]
assert type(tick) is str
assert len(tick) > 0 and len(tick) < 42
assert tick[0] in string.ascii_uppercase
assert set(tick) <= set(string.ascii_uppercase+string.digits+'_')
assert args['f'] == 'asset_update_functions'
functions, _ = get('asset', 'functions', [], tick)
assert args['f'] in functions
sender = info['sender']
addr = handle_lookup(sender)
owner, _ = get('asset', 'owner', None, tick)
assert owner == addr
functions = args['a'][1]
assert type(functions) is list
assert functions
put(addr, 'asset', 'functions', functions, tick)
event('AssetFunctionsUpdated', [tick, functions])
def asset_batch_create(info, args):
assert args['f'] == 'asset_batch_create'
sender = info['sender']
addr = handle_lookup(sender)
committee_members, _ = get('committee', 'members', [])
committee_members = set(committee_members)
assert addr in committee_members
ticks = args['a'][0]
assert type(ticks) is list
for tick in ticks:
assert type(tick) is str
assert len(tick) > 0 and len(tick) < 42
assert tick[0] in string.ascii_uppercase
assert set(tick) <= set(string.ascii_uppercase+string.digits+'_')
addr = handle_lookup(sender)
owner, _ = get('asset', 'owner', None, tick)
if not owner:
put(addr, 'asset', 'owner', addr, tick)
put(addr, 'asset', 'functions', ['asset_update_ownership', 'asset_update_functions'], tick)
← Back to Functions